diff --git a/T3-Unity/Assets/Mapbox.meta b/T3-Unity/Assets/Mapbox.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7abfcfe48554b24f4210d4aa7c27355dbf4abc2f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3ea1e493e9ceb4c06bdaaeeacb2e4d7c
+folderAsset: yes
+timeCreated: 1480534607
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core.meta b/T3-Unity/Assets/Mapbox/Core.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec23c44746f1ad087cf01695aedae0425fa490db
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9baba017b10fa4eaeab33dade1902adb
+folderAsset: yes
+timeCreated: 1481925241
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins.meta b/T3-Unity/Assets/Mapbox/Core/Plugins.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3489c7af29712962cbc1aee183eb13f247fc9709
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 59e7e6a60c29840a5b9d84b2ee53671a
+folderAsset: yes
+timeCreated: 1491243030
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e4128b6c378bdad0a82b13ee79aa18d3cbaa6ed6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e191eb758d41cba41b7f997ada0d41eb
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c581b4719f2fc4032bb336c78356febfa10f57fc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4aa6de0d65164fe48a9b01246c856fc8
+folderAsset: yes
+timeCreated: 1521070590
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/AndroidManifest-uniRP.xml b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/AndroidManifest-uniRP.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4aa919abd5118c5257c1b592aeaaa93dfe9fe3d2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/AndroidManifest-uniRP.xml
@@ -0,0 +1,24 @@
+<!--
+Android Manifest for UniAndroid Permission (2016/03/19 sanukin39)
+
+--- if already have AndroidManifest file at Assets/Plugins/Android/ ----
+Copy the activity and meta-data sentence to your AndroidManifest.xml
+
+--- if not ---
+Rename this file to AndroidManifest.xml and add permission you want to add And move the file to Assets/Plugins/Android
+
+-->
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company.product">
+  <application android:icon="@drawable/app_icon" android:label="@string/app_name">
+    <activity android:name="net.sanukin.OverrideUnityActivity"
+             android:label="@string/app_name"
+             android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
+        <intent-filter>
+            <action android:name="android.intent.action.MAIN" />
+            <category android:name="android.intent.category.LAUNCHER" />
+        </intent-filter>
+    </activity>
+    <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
+  </application>
+</manifest>
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/AndroidManifest-uniRP.xml.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/AndroidManifest-uniRP.xml.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cb3e6e4fdfb6e84dba9102596ca035c1878a7bad
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/AndroidManifest-uniRP.xml.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9a957c06543b147a1b950f050282d728
+timeCreated: 1458403910
+licenseType: Free
+TextScriptImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.cs b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.cs
new file mode 100644
index 0000000000000000000000000000000000000000..245b0676daa7c2f24161f5e98d3722a7100d654f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.cs
@@ -0,0 +1,111 @@
+using System;
+using UnityEngine;
+
+public class UniAndroidPermission : MonoBehaviour
+{
+    const string PackageName = "net.sanukin.PermissionManager";
+
+    static Action onAllowCallback;
+    static Action onDenyCallback;
+    static Action onDenyAndNeverAskAgainCallback;
+
+    void Awake()
+    {
+        DontDestroyOnLoad(gameObject);
+    }
+
+    public static bool IsPermitted(AndroidPermission permission)
+    {
+#if !UNITY_EDITOR && UNITY_ANDROID
+        using (var permissionManager = new AndroidJavaClass(PackageName))
+        {
+            return permissionManager.CallStatic<bool>("hasPermission", GetPermittionStr(permission));
+        }
+#else
+        return true;
+#endif
+    }
+
+    public static void RequestPermission(AndroidPermission permission, Action onAllow = null, Action onDeny = null, Action onDenyAndNeverAskAgain = null)
+    {
+#if !UNITY_EDITOR && UNITY_ANDROID
+        using (var permissionManager = new AndroidJavaClass(PackageName))
+        {
+            permissionManager.CallStatic("requestPermission", GetPermittionStr(permission));
+            onAllowCallback = onAllow;
+            onDenyCallback = onDeny;
+            onDenyAndNeverAskAgainCallback = onDenyAndNeverAskAgain;
+        }
+#else
+        Debug.LogWarning("UniAndroidPermission works only Androud Devices.");
+#endif
+    }
+
+    private static string GetPermittionStr(AndroidPermission permittion)
+    {
+        return "android.permission." + permittion.ToString();
+    }
+
+    private void OnAllow()
+    {
+        if (onAllowCallback != null)
+        {
+            onAllowCallback();
+        }
+        ResetAllCallBacks();
+    }
+
+    private void OnDeny()
+    {
+        if (onDenyCallback != null)
+        {
+            onDenyCallback();
+        }
+        ResetAllCallBacks();
+    }
+
+    private void OnDenyAndNeverAskAgain()
+    {
+        if (onDenyAndNeverAskAgainCallback != null)
+        {
+            onDenyAndNeverAskAgainCallback();
+        }
+        ResetAllCallBacks();
+    }
+
+    private void ResetAllCallBacks(){
+        onAllowCallback = null;
+        onDenyCallback = null;
+        onDenyAndNeverAskAgainCallback = null;
+    }
+}
+
+// Protection level: dangerous permissions 2015/11/25
+// http://developer.android.com/intl/ja/reference/android/Manifest.permission.html
+public enum AndroidPermission
+{
+    ACCESS_COARSE_LOCATION,
+    ACCESS_FINE_LOCATION,
+    ADD_VOICEMAIL,
+    BODY_SENSORS,
+    CALL_PHONE,
+    CAMERA,
+    GET_ACCOUNTS,
+    PROCESS_OUTGOING_CALLS,
+    READ_CALENDAR,
+    READ_CALL_LOG,
+    READ_CONTACTS,
+    READ_EXTERNAL_STORAGE,
+    READ_PHONE_STATE,
+    READ_SMS,
+    RECEIVE_MMS,
+    RECEIVE_SMS,
+    RECEIVE_WAP_PUSH,
+    RECORD_AUDIO,
+    SEND_SMS,
+    USE_SIP,
+    WRITE_CALENDAR,
+    WRITE_CALL_LOG,
+    WRITE_CONTACTS,
+    WRITE_EXTERNAL_STORAGE
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.cs.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..245fad8bedbf73ea3ce89e09267ea2228d94c336
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7df6f555c4d344871bf935752b861a45
+timeCreated: 1448444718
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.prefab b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..ffbe3042e3a69d28bce034589fde5d0bf4e7ce2f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.prefab
@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &134968
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 408032}
+  - component: {fileID: 11480548}
+  m_Layer: 0
+  m_Name: UniAndroidPermission
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &408032
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 134968}
+  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}
+--- !u!114 &11480548
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 134968}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7df6f555c4d344871bf935752b861a45, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !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: 134968}
+  m_IsPrefabParent: 1
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.prefab.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0e191e27946a3e8f2cbb0537f3cf165cab828d2a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a83b9ab9f1dc0439fa3caaf9912be67d
+timeCreated: 1448447048
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission_v1_2.jar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission_v1_2.jar
new file mode 100644
index 0000000000000000000000000000000000000000..e8e93742a99d554943b971838fe5d0a39590b783
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission_v1_2.jar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission_v1_2.jar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission_v1_2.jar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..43c98c731dbd40df220a5b17ca1a36976b9ddcd0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/UniAndroidPermission/UniAndroidPermission_v1_2.jar.meta
@@ -0,0 +1,31 @@
+fileFormatVersion: 2
+guid: d6467263296c74b919030e7bfae469ca
+timeCreated: 1516304615
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/animated-vector-drawable-25.1.0.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/animated-vector-drawable-25.1.0.aar
new file mode 100644
index 0000000000000000000000000000000000000000..f4681dbb69074e20185076b37ac31154a0fc6f06
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/animated-vector-drawable-25.1.0.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/animated-vector-drawable-25.1.0.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/animated-vector-drawable-25.1.0.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..483f6e80e698324fbbd307b51111680d5e3ebbc8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/animated-vector-drawable-25.1.0.aar.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: 8dfdf5ea5fe324ed1bc8d2be7c19fae5
+timeCreated: 1495653440
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/appcompat-v7-25.1.0.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/appcompat-v7-25.1.0.aar
new file mode 100644
index 0000000000000000000000000000000000000000..e28d367bd9cb49a686810d0704501ec63d8abbad
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/appcompat-v7-25.1.0.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/appcompat-v7-25.1.0.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/appcompat-v7-25.1.0.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..41e0e9c83835a07c883eae946fe3a93cf0e48e2e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/appcompat-v7-25.1.0.aar.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: 73194dfc41e074142a2b6f12dbc17753
+timeCreated: 1495651291
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/gson-2.8.5.jar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/gson-2.8.5.jar
new file mode 100644
index 0000000000000000000000000000000000000000..0d5baf3fa775220b6c8dfdc5376d3a28f8e7f725
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/gson-2.8.5.jar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/gson-2.8.5.jar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/gson-2.8.5.jar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..76d6bb7070adc3b9899629ac2ac6cff10395d95e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/gson-2.8.5.jar.meta
@@ -0,0 +1,31 @@
+fileFormatVersion: 2
+guid: 722d3995c52ed44d5b6e94102a354ae5
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  platformData:
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libcore-release.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libcore-release.aar
new file mode 100644
index 0000000000000000000000000000000000000000..e40f9f1799b64bf6974604bcf3a77c00b8b157c6
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libcore-release.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libcore-release.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libcore-release.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d087230b5d172c1419fa92c1ed0f1980859832a5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libcore-release.aar.meta
@@ -0,0 +1,31 @@
+fileFormatVersion: 2
+guid: 042faa3fe836242dd9534732f1a4214d
+timeCreated: 1570582048
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libtelemetry-full-release.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libtelemetry-full-release.aar
new file mode 100644
index 0000000000000000000000000000000000000000..11d6cdf9973db7f5ed40e61768bd3294202b2614
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libtelemetry-full-release.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libtelemetry-full-release.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libtelemetry-full-release.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..571d62058ac01de50784049e3b6f8c5666631829
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/libtelemetry-full-release.aar.meta
@@ -0,0 +1,31 @@
+fileFormatVersion: 2
+guid: 49ff07903ab144ea4b84e994f55f875b
+timeCreated: 1570582048
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okhttp-3.8.0.jar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okhttp-3.8.0.jar
new file mode 100644
index 0000000000000000000000000000000000000000..5019d2fc243033267ea6b0d595003bbc463fcf9e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okhttp-3.8.0.jar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okhttp-3.8.0.jar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okhttp-3.8.0.jar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..363a95a9fdee7ec8f976c621c56ba0c09093ab04
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okhttp-3.8.0.jar.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 62c5caa5230134240a6fdc0f7852937b
+timeCreated: 1495631325
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+    data:
+      enabled: 0
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okio-1.13.0.jar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okio-1.13.0.jar
new file mode 100644
index 0000000000000000000000000000000000000000..02c302f82e2aa3c73614418b206503e5df1cc25d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okio-1.13.0.jar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okio-1.13.0.jar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okio-1.13.0.jar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..78175645f58ad1bbf834c923528c5dc1cfbd255b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/okio-1.13.0.jar.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 3bf40023b8d50c0438abda790c4fc791
+timeCreated: 1495640456
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+    data:
+      enabled: 0
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-compat-25.1.0.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-compat-25.1.0.aar
new file mode 100644
index 0000000000000000000000000000000000000000..8d19b2a8c3993d9a8430a7f61f48d612a92ee0d7
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-compat-25.1.0.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-compat-25.1.0.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-compat-25.1.0.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4cbade92c5de15d4408cbf745f88a6ca9265c4de
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-compat-25.1.0.aar.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: e17a471b7620c4bfea1b492c6dc05b6a
+timeCreated: 1495653735
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-ui-25.1.0.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-ui-25.1.0.aar
new file mode 100644
index 0000000000000000000000000000000000000000..a1d7215ee334310b6058429916d504235fdeee93
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-ui-25.1.0.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-ui-25.1.0.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-ui-25.1.0.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e4b88fabf6d46934218fa1253a9edf2cff53cbf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-ui-25.1.0.aar.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: 039af650ac259437e8c7929c7ee6728f
+timeCreated: 1495653813
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-utils-25.1.0.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-utils-25.1.0.aar
new file mode 100644
index 0000000000000000000000000000000000000000..a9117895f6911d7ca8c76014da7a26950f13a921
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-utils-25.1.0.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-utils-25.1.0.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-utils-25.1.0.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..793e8903d7b91a57e51c15a4c004407217ba807c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-core-utils-25.1.0.aar.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: f2bbfd04df8ed4471b7d29d26096ede5
+timeCreated: 1495653777
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-media-compat-25.1.0.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-media-compat-25.1.0.aar
new file mode 100644
index 0000000000000000000000000000000000000000..a38752bd84bb21808285ee6dc1c764db5dacbfb5
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-media-compat-25.1.0.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-media-compat-25.1.0.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-media-compat-25.1.0.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..10e85c1513c862a931ba5d19953672e0cebfc4c4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-media-compat-25.1.0.aar.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: e5800669c4138443ab05c67805c05d5a
+timeCreated: 1495653736
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-v4-25.1.0.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-v4-25.1.0.aar
new file mode 100644
index 0000000000000000000000000000000000000000..f1e1c0be297b428fc136568d0a277d54d99a1861
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-v4-25.1.0.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-v4-25.1.0.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-v4-25.1.0.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e702acd661e63d7c872239706d24f9fdd47239ce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-v4-25.1.0.aar.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: bbcd24fa0afca44758499ceab55cf537
+timeCreated: 1495654023
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-vector-drawable-25.1.0.aar b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-vector-drawable-25.1.0.aar
new file mode 100644
index 0000000000000000000000000000000000000000..55a459bc29590bc2c06339a82b2ebfbf441b9633
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-vector-drawable-25.1.0.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-vector-drawable-25.1.0.aar.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-vector-drawable-25.1.0.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..baf30f622710da4ef2364f6d4330323c19035de3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Android/support-vector-drawable-25.1.0.aar.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: 189b15356a17c426097dc0cdedbdfb13
+timeCreated: 1495653440
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings: {}
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0d769c91cfcd434c8110bfcf3d67b9bf30e757be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2a5f99af2ce83514f822383e20066c54
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..53df8ad089b0f49d8243ed1005a4e3bbaf43fe03
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 379fde954e5274342ba547171ed89a78
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b9f880e0319ecef7c9aa553933eff00c907925c3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: f957f1079856147339d60a82ed5500b5
+folderAsset: yes
+timeCreated: 1567722208
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35/MapboxAccountsUnity.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35/MapboxAccountsUnity.dll
new file mode 100644
index 0000000000000000000000000000000000000000..f683315d6dad85fb06ba122c7655969d3cc4a495
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35/MapboxAccountsUnity.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35/MapboxAccountsUnity.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35/MapboxAccountsUnity.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..44494f5d2635e541be75041a9584edda79c550f6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net35/MapboxAccountsUnity.dll.meta
@@ -0,0 +1,112 @@
+fileFormatVersion: 2
+guid: a4d62bb9038704a8c84da77840aa84d1
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 1
+        Exclude Editor: 0
+        Exclude Linux: 1
+        Exclude Linux64: 1
+        Exclude LinuxUniversal: 1
+        Exclude OSXUniversal: 1
+        Exclude WebGL: 1
+        Exclude Win: 1
+        Exclude Win64: 1
+        Exclude iOS: 1
+  - first:
+      Android: Android
+    second:
+      enabled: 0
+      settings:
+        CPU: ARMv7
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 0
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 0
+      settings:
+        CPU: x86_64
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      iPhone: iOS
+    second:
+      enabled: 0
+      settings:
+        AddToEmbeddedBinaries: false
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7cc0e7b8dbf75c44bb9c56fa791dc37cc0cb566c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: cc3724da731c645189d6f773016d164e
+folderAsset: yes
+timeCreated: 1567722324
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x/MapboxAccountsUnity.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x/MapboxAccountsUnity.dll
new file mode 100644
index 0000000000000000000000000000000000000000..dd44c122a0e7da2e8a52bc38527ab494609f6d14
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x/MapboxAccountsUnity.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x/MapboxAccountsUnity.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x/MapboxAccountsUnity.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..83c0158cb7d4de5d609dd609b8091246f5937d05
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/MapboxAccounts/net4x/MapboxAccountsUnity.dll.meta
@@ -0,0 +1,116 @@
+fileFormatVersion: 2
+guid: 8d4cadd22d7994af2ae2a249b9d2a913
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 0
+        Exclude Editor: 1
+        Exclude Linux: 0
+        Exclude Linux64: 0
+        Exclude LinuxUniversal: 0
+        Exclude OSXUniversal: 0
+        Exclude WebGL: 0
+        Exclude Win: 0
+        Exclude Win64: 0
+        Exclude iOS: 0
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings:
+        CPU: ARMv7
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 1
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 1
+      settings:
+        CPU: x86_64
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      WebGL: WebGL
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      iPhone: iOS
+    second:
+      enabled: 1
+      settings:
+        AddToEmbeddedBinaries: false
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..99e8e9dedb408296d0cee7c8aadf5ad3e16fd375
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5bf0a0cf94d3de74c8fe0a4ad76cfa8f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46.meta
new file mode 100644
index 0000000000000000000000000000000000000000..747a3b373394824f15a801a99b3f960e0d748455
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cf3b967d3d4405a4093e868e0440cf8a
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.ExtensionMethods.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.ExtensionMethods.dll
new file mode 100644
index 0000000000000000000000000000000000000000..9f27d274c3bffdce11469e13fbcfafc15b3bfcd0
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.ExtensionMethods.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.ExtensionMethods.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.ExtensionMethods.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7051eefa919fca352ec93f7e16f102bf280b91ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.ExtensionMethods.dll.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c864373fac3727545b44f740cc59abab
+timeCreated: 18446744011573954816
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 0
+        Exclude Editor: 0
+        Exclude Linux: 0
+        Exclude Linux64: 0
+        Exclude LinuxUniversal: 0
+        Exclude OSXUniversal: 0
+        Exclude WebGL: 0
+        Exclude Win: 0
+        Exclude Win64: 0
+        Exclude WindowsStoreApps: 1
+        Exclude iOS: 0
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 1
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 1
+      settings:
+        CPU: x86_64
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      WebGL: WebGL
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      iPhone: iOS
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.Geometry.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.Geometry.dll
new file mode 100644
index 0000000000000000000000000000000000000000..c63dd971eb8c3f4c27bad77a8974bd166026ccb3
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.Geometry.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.Geometry.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.Geometry.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..624d68c20055c18df58c9a31b7049640ee40479d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.Geometry.dll.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 902ec3a15243ce7459db8517c8de3f12
+timeCreated: 18446744011573954816
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 0
+        Exclude Editor: 0
+        Exclude Linux: 0
+        Exclude Linux64: 0
+        Exclude LinuxUniversal: 0
+        Exclude OSXUniversal: 0
+        Exclude WebGL: 0
+        Exclude Win: 0
+        Exclude Win64: 0
+        Exclude WindowsStoreApps: 1
+        Exclude iOS: 0
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 1
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 1
+      settings:
+        CPU: x86_64
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      WebGL: WebGL
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      iPhone: iOS
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.PbfReader.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.PbfReader.dll
new file mode 100644
index 0000000000000000000000000000000000000000..43a24a4dca3205623daf9de2026ea24f7e061438
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.PbfReader.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.PbfReader.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.PbfReader.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fccb1a49a93cf5bee69748078318c1f8f2f8ced5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.PbfReader.dll.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 34fcb52f9df13934786c32587147e4a0
+timeCreated: 18446744011573954816
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 0
+        Exclude Editor: 0
+        Exclude Linux: 0
+        Exclude Linux64: 0
+        Exclude LinuxUniversal: 0
+        Exclude OSXUniversal: 0
+        Exclude WebGL: 0
+        Exclude Win: 0
+        Exclude Win64: 0
+        Exclude WindowsStoreApps: 1
+        Exclude iOS: 0
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 1
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 1
+      settings:
+        CPU: x86_64
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      WebGL: WebGL
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      iPhone: iOS
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.VectorTileReader.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.VectorTileReader.dll
new file mode 100644
index 0000000000000000000000000000000000000000..bc1e8ff25d61b5875625f2b1125464e58394a916
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.VectorTileReader.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.VectorTileReader.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.VectorTileReader.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..58dd4342604920c00e8813ccf7d8579db2c25f0b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.VectorTileReader.dll.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 57cd912f9e6427a44ac217871c381c40
+timeCreated: 18446744011573954816
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 0
+        Exclude Editor: 0
+        Exclude Linux: 0
+        Exclude Linux64: 0
+        Exclude LinuxUniversal: 0
+        Exclude OSXUniversal: 0
+        Exclude WebGL: 0
+        Exclude Win: 0
+        Exclude Win64: 0
+        Exclude WindowsStoreApps: 1
+        Exclude iOS: 0
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 1
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 1
+      settings:
+        CPU: x86_64
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      WebGL: WebGL
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      iPhone: iOS
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3c92cd226b5f17137c8c46741042b52a09e8d9ef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 97ce4689e1585a044b7e4dffd6bbc56c
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.ExtensionMethods.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.ExtensionMethods.dll
new file mode 100644
index 0000000000000000000000000000000000000000..918eb94918334de4235fd98cb64885982d2da94f
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.ExtensionMethods.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.ExtensionMethods.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.ExtensionMethods.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..99573707b7a474ecc829f76d01e0c8b2864a6a2e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.ExtensionMethods.dll.meta
@@ -0,0 +1,93 @@
+fileFormatVersion: 2
+guid: aa8511f503d809c42a273bde2c2f2021
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 1
+        Exclude Editor: 1
+        Exclude Linux: 1
+        Exclude Linux64: 1
+        Exclude LinuxUniversal: 1
+        Exclude OSXUniversal: 1
+        Exclude WebGL: 1
+        Exclude Win: 1
+        Exclude Win64: 1
+        Exclude WindowsStoreApps: 0
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.Geometry.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.Geometry.dll
new file mode 100644
index 0000000000000000000000000000000000000000..3f69e54533764548ca78a1c8c348142cdd12cb28
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.Geometry.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.Geometry.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.Geometry.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ca3f26e90608ad48033ad3fd19faec3a31a4921b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.Geometry.dll.meta
@@ -0,0 +1,105 @@
+fileFormatVersion: 2
+guid: 752172c26201c084c8526c6e9a837897
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 1
+        Exclude Editor: 1
+        Exclude Linux: 1
+        Exclude Linux64: 1
+        Exclude LinuxUniversal: 1
+        Exclude OSXUniversal: 1
+        Exclude WebGL: 1
+        Exclude Win: 1
+        Exclude Win64: 1
+        Exclude WindowsStoreApps: 0
+  - first:
+      Android: Android
+    second:
+      enabled: 0
+      settings:
+        CPU: ARMv7
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+        DontProcess: false
+        PlaceholderPath: Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/net46/Mapbox.VectorTile.Geometry.dll
+        SDK: AnySDK
+        ScriptingBackend: AnyScriptingBackend
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.PbfReader.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.PbfReader.dll
new file mode 100644
index 0000000000000000000000000000000000000000..308efa4b9160e7e0b987ebd2f926b22c205a1c15
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.PbfReader.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.PbfReader.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.PbfReader.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a261da2ee2929ee11713937c1ab4c8c3e272c9ad
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.PbfReader.dll.meta
@@ -0,0 +1,93 @@
+fileFormatVersion: 2
+guid: 11d5b9a726730e34ea222ff8e6b1def9
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 1
+        Exclude Editor: 1
+        Exclude Linux: 1
+        Exclude Linux64: 1
+        Exclude LinuxUniversal: 1
+        Exclude OSXUniversal: 1
+        Exclude WebGL: 1
+        Exclude Win: 1
+        Exclude Win64: 1
+        Exclude WindowsStoreApps: 0
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.VectorTileReader.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.VectorTileReader.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ed33611a94874fb83610b03cfd7555cae0e53966
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.VectorTileReader.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.VectorTileReader.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.VectorTileReader.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..574e652796a37e167bec6c6bff947a33e582b2e6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/Mapbox/vector-tile-cs/portable-net45+uap10/Mapbox.VectorTile.VectorTileReader.dll.meta
@@ -0,0 +1,93 @@
+fileFormatVersion: 2
+guid: ea87c215fce9c204abdb685f22703bd0
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 1
+        Exclude Editor: 1
+        Exclude Linux: 1
+        Exclude Linux64: 1
+        Exclude LinuxUniversal: 1
+        Exclude OSXUniversal: 1
+        Exclude WebGL: 1
+        Exclude Win: 1
+        Exclude Win64: 1
+        Exclude WindowsStoreApps: 0
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty.meta
new file mode 100644
index 0000000000000000000000000000000000000000..848e3502bbdc89a2204a39843e9fc3cd0f0ec0a6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c104ec983f3ab8449b282d2575d121be
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression.meta
new file mode 100644
index 0000000000000000000000000000000000000000..467d11efa0b9f966d4b45400058d252f5b5735b6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d48f48be6a9fdf541a5f1be3255c1fab
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35.meta
new file mode 100644
index 0000000000000000000000000000000000000000..695e39017e94ecfbd60e03d63c7437e2b256c710
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 24c715a612ec20a42a86ac2009f2abb7
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35/Mapbox.IO.Compression.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35/Mapbox.IO.Compression.dll
new file mode 100644
index 0000000000000000000000000000000000000000..bc7328dbc3a9da60adcb348be50c5dcc1d3f32e8
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35/Mapbox.IO.Compression.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35/Mapbox.IO.Compression.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35/Mapbox.IO.Compression.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f00e32e5b010b182458e5a6784cd6d7c0b0477ec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/net35/Mapbox.IO.Compression.dll.meta
@@ -0,0 +1,133 @@
+fileFormatVersion: 2
+guid: 5702dec8310c4074e984765a688fa0d2
+timeCreated: 1489780328
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    data:
+      first:
+        Android: Android
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Any: 
+      second:
+        enabled: 0
+        settings: {}
+    data:
+      first:
+        Editor: Editor
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+          DefaultValueInitialized: true
+          OS: AnyOS
+    data:
+      first:
+        Facebook: WebGL
+      second:
+        enabled: 1
+        settings: {}
+    data:
+      first:
+        Facebook: Win
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Facebook: Win64
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: Linux
+      second:
+        enabled: 1
+        settings:
+          CPU: x86
+    data:
+      first:
+        Standalone: Linux64
+      second:
+        enabled: 1
+        settings:
+          CPU: x86_64
+    data:
+      first:
+        Standalone: LinuxUniversal
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: OSXIntel
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: OSXIntel64
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: OSXUniversal
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: Win
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: Win64
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        WebGL: WebGL
+      second:
+        enabled: 1
+        settings: {}
+    data:
+      first:
+        Windows Store Apps: WindowsStoreApps
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        iPhone: iOS
+      second:
+        enabled: 1
+        settings:
+          CompileFlags: 
+          FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10.meta
new file mode 100644
index 0000000000000000000000000000000000000000..46e00ae09b4d9a0185b8e27b549be47892da13ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fcefe66a47d635d4e80cca2549f55493
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10/Mapbox.IO.Compression.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10/Mapbox.IO.Compression.dll
new file mode 100644
index 0000000000000000000000000000000000000000..cd7f7bab56cf00d0206fc8a08cbd8dd8d8d29820
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10/Mapbox.IO.Compression.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10/Mapbox.IO.Compression.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10/Mapbox.IO.Compression.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2962b55a8fa683ab904dae2400e284984f42abd0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.IO.Compression/uap10/Mapbox.IO.Compression.dll.meta
@@ -0,0 +1,100 @@
+fileFormatVersion: 2
+guid: ce2a229872b27d142b0962c2e5e2ebc2
+timeCreated: 1490036479
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    data:
+      first:
+        Any: 
+      second:
+        enabled: 0
+        settings: {}
+    data:
+      first:
+        Editor: Editor
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+          DefaultValueInitialized: true
+          OS: AnyOS
+    data:
+      first:
+        Facebook: Win
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Facebook: Win64
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: Linux
+      second:
+        enabled: 0
+        settings:
+          CPU: x86
+    data:
+      first:
+        Standalone: Linux64
+      second:
+        enabled: 0
+        settings:
+          CPU: x86_64
+    data:
+      first:
+        Standalone: OSXIntel
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: OSXIntel64
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: Win
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Standalone: Win64
+      second:
+        enabled: 0
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        Windows Store Apps: WindowsStoreApps
+      second:
+        enabled: 1
+        settings:
+          CPU: AnyCPU
+    data:
+      first:
+        iPhone: iOS
+      second:
+        enabled: 0
+        settings:
+          CompileFlags: 
+          FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json.meta
new file mode 100644
index 0000000000000000000000000000000000000000..05b8c31b198c86c067e6740a17d0ea9b1d5e8ec9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bdaa6d5093c737940a8a9f76e2c9e5ce
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35.meta
new file mode 100644
index 0000000000000000000000000000000000000000..07a6ae99ea0ce09ecb1baf119d6922186a01b659
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d1e6581f49522654daece42d507c423d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35/Mapbox.Json.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35/Mapbox.Json.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4d03b8a5b08248d4ad092e6249a8e6a3fff50203
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35/Mapbox.Json.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35/Mapbox.Json.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35/Mapbox.Json.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..db44d228df98f82d95615c92569367b94dcc97ed
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Net35/Mapbox.Json.dll.meta
@@ -0,0 +1,70 @@
+fileFormatVersion: 2
+guid: 5c4fdb215216a4b30aa29f0fa1b4ab1d
+timeCreated: 1489780328
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+    Linux:
+      enabled: 1
+      settings:
+        CPU: x86
+    Android:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    Linux64:
+      enabled: 1
+      settings:
+        CPU: x86_64
+    LinuxUniversal:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXIntel:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXIntel64:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXUniversal:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    WebGL:
+      enabled: 1
+      settings: {}
+    Win:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    Win64:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    WindowsStoreApps:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    iOS:
+      enabled: 1
+      settings:
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable.meta
new file mode 100644
index 0000000000000000000000000000000000000000..db5cca2693abae7ec1d52515b4d1576ea618ab9e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 21756548d9556494f90734f953cd7fcf
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable/Mapbox.Json.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable/Mapbox.Json.dll
new file mode 100644
index 0000000000000000000000000000000000000000..1e140a0474ddb1f8d627b9388e7c6e70b4557ad7
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable/Mapbox.Json.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable/Mapbox.Json.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable/Mapbox.Json.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f53049843447c177ee159d4370a707fe542d95e7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/ThirdParty/Mapbox.Json/Portable/Mapbox.Json.dll.meta
@@ -0,0 +1,55 @@
+fileFormatVersion: 2
+guid: 17a28c5bac36f4e7bbf6e500e16cf2f3
+timeCreated: 1490036479
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+    Linux:
+      enabled: 0
+      settings:
+        CPU: x86
+    Linux64:
+      enabled: 0
+      settings:
+        CPU: x86_64
+    OSXIntel:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    OSXIntel64:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    Win:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    Win64:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    WindowsStoreApps:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    iOS:
+      enabled: 0
+      settings:
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6591da8aeccbc3ea4ad336cb25a3cf00557ec199
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9e8a419c652caf246ad3b669af2971f6
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMetricsClient.m b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMetricsClient.m
new file mode 100644
index 0000000000000000000000000000000000000000..cb5ed5cf033116e9592253f6181b4ff3f581d0b7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMetricsClient.m
@@ -0,0 +1,18 @@
+#import <MapboxMobileEvents/MapboxMobileEvents.h>
+
+void initialize(const char* accessToken, const char* userAgentBase, const char* hostSDKVersion) {
+    [[MMEEventsManager sharedManager] initializeWithAccessToken:[NSString stringWithUTF8String:accessToken] 
+                                                  userAgentBase:[NSString stringWithUTF8String:userAgentBase]
+                                                  hostSDKVersion:[NSString stringWithUTF8String:hostSDKVersion]];
+}
+
+void sendTurnstileEvent() {
+    [[MMEEventsManager sharedManager] sendTurnstileEvent];    
+}
+
+void setLocationCollectionState(bool enable) {
+	[MMEEventsManager sharedManager].metricsEnabled = enable;
+}
+void setSkuId(const char* skuId){
+    [MMEEventsManager sharedManager].skuId = [NSString stringWithUTF8String:skuId];
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMetricsClient.m.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMetricsClient.m.meta
new file mode 100644
index 0000000000000000000000000000000000000000..30936fbbb0ea3af6aa9a8c3fbe6f30e721081101
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMetricsClient.m.meta
@@ -0,0 +1,26 @@
+fileFormatVersion: 2
+guid: 4172b185b7b5c4f4ab2f6d7bd134ea29
+timeCreated: 1495158819
+licenseType: Free
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Editor:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+    data:
+      enabled: 0
+      settings: {}
+    iOS:
+      enabled: 1
+      settings: {}
+    tvOS:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3158b417daf4c4c813ff545fb7ffde630e8c298a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 3fd6399794525486eb643e088be91043
+folderAsset: yes
+timeCreated: 1570559658
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include.meta
new file mode 100644
index 0000000000000000000000000000000000000000..38bd5974c5591039adff63d5c260ae4fb76a70f7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e7e2d4a394d304e08bdabe8230a7df35
+folderAsset: yes
+timeCreated: 1570559763
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents.meta
new file mode 100644
index 0000000000000000000000000000000000000000..71f9c926fefecfa8a607faa4e3dbc23abf084185
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 942001b48b74c4874a534a287e791e27
+folderAsset: yes
+timeCreated: 1570559763
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEConstants.h b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEConstants.h
new file mode 100644
index 0000000000000000000000000000000000000000..a3f3b3d1a7da4d71fd94da4b6b8de189eb9bb86b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEConstants.h
@@ -0,0 +1,197 @@
+#import <Foundation/Foundation.h>
+#import "MMETypes.h"
+
+extern NSString * const MMEAPIClientBaseURL;
+extern NSString * const MMEAPIClientBaseAPIURL;
+extern NSString * const MMEAPIClientBaseChinaEventsURL;
+extern NSString * const MMEAPIClientBaseChinaAPIURL;
+extern NSString * const MMEAPIClientEventsPath;
+extern NSString * const MMEAPIClientEventsConfigPath;
+extern NSString * const MMEAPIClientAttachmentsPath;
+extern NSString * const MMEAPIClientHeaderFieldUserAgentKey;
+extern NSString * const MMEAPIClientHeaderFieldContentTypeKey;
+extern NSString * const MMEAPIClientHeaderFieldContentTypeValue;
+extern NSString * const MMEAPIClientAttachmentsHeaderFieldContentTypeValue;
+extern NSString * const MMEAPIClientHeaderFieldContentEncodingKey;
+extern NSString * const MMEAPIClientHTTPMethodPost;
+extern NSString * const MMEAPIClientHTTPMethodGet;
+
+// Debug types
+extern NSString * const MMEDebugEventType;
+extern NSString * const MMEDebugEventTypeError;
+extern NSString * const MMEDebugEventTypeFlush;
+extern NSString * const MMEDebugEventTypePush;
+extern NSString * const MMEDebugEventTypePost;
+extern NSString * const MMEDebugEventTypePostFailed;
+extern NSString * const MMEDebugEventTypeTurnstile;
+extern NSString * const MMEDebugEventTypeTurnstileFailed;
+extern NSString * const MMEDebugEventTypeBackgroundTask;
+extern NSString * const MMEDebugEventTypeMetricCollection;
+extern NSString * const MMEDebugEventTypeLocationManager;
+extern NSString * const MMEDebugEventTypeTelemetryMetrics;
+extern NSString * const MMEDebugEventTypeCertPinning;
+
+// Event types
+extern NSString * const MMEEventTypeAppUserTurnstile;
+extern NSString * const MMEEventTypeTelemetryMetrics;
+extern NSString * const MMEEventTypeMapLoad;
+extern NSString * const MMEEventTypeLocation;
+extern NSString * const MMEEventTypeVisit;
+extern NSString * const MMEEventTypeLocalDebug;
+extern NSString * const MMEventTypeOfflineDownloadStart;
+extern NSString * const MMEventTypeOfflineDownloadEnd;
+
+// Event keys
+extern NSString * const MMEEventKeyArrivalDate;
+extern NSString * const MMEEventKeyDepartureDate;
+extern NSString * const MMEEventKeyLatitude;
+extern NSString * const MMEEventKeyLongitude;
+extern NSString * const MMEEventKeyZoomLevel;
+extern NSString * const MMEEventKeyMaxZoomLevel;
+extern NSString * const MMEEventKeyMinZoomLevel;
+extern NSString * const MMEEventKeyEvent;
+extern NSString * const MMEEventKeyCreated;
+extern NSString * const MMEEventKeyStyleURL;
+extern NSString * const MMEEventKeyVendorId;
+extern NSString * const MMEEventKeyModel;
+extern NSString * const MMEEventKeyDevice;
+extern NSString * const MMEEventKeySkuId;
+extern NSString * const MMEEventKeyEnabledTelemetry;
+extern NSString * const MMEEventKeyOperatingSystem;
+extern NSString * const MMEEventKeyResolution;
+extern NSString * const MMEEventKeyAccessibilityFontScale;
+extern NSString * const MMEEventKeyOrientation;
+extern NSString * const MMEEventKeyPluggedIn;
+extern NSString * const MMEEventKeyWifi;
+extern NSString * const MMEEventKeyShapeForOfflineRegion;
+extern NSString * const MMEEventKeySource;
+extern NSString * const MMEEventKeySessionId;
+extern NSString * const MMEEventKeyApplicationState;
+extern NSString * const MMEEventKeyAltitude;
+extern NSString * const MMEEventKeyLocationAuthorization;
+extern NSString * const MMEEventKeyLocationEnabled;
+extern NSString * const MMEEventHorizontalAccuracy;
+extern NSString * const MMEEventSDKIdentifier;
+extern NSString * const MMEEventSDKVersion;
+extern NSString * const MMEEventKeyLocalDebugDescription;
+extern NSString * const MMEEventKeyErrorCode;
+extern NSString * const MMEEventKeyErrorDomain;
+extern NSString * const MMEEventKeyErrorDescription;
+extern NSString * const MMEEventKeyErrorFailureReason;
+extern NSString * const MMEEventKeyErrorNoReason;
+extern NSString * const MMEEventKeyErrorNoDomain;
+extern NSString * const MMEEventKeyFailedRequests;
+extern NSString * const MMEEventKeyHeader;
+extern NSString * const MMEEventKeyPlatform;
+extern NSString * const MMEEventKeyUserAgent;
+extern NSString * const MMEEventKeyiOS;
+extern NSString * const MMEEventKeyMac;
+extern NSString * const MMENavigationEventPrefix;
+extern NSString * const MMEVisionEventPrefix;
+extern NSString * const MMEEventTypeNavigationDepart;
+extern NSString * const MMEEventTypeNavigationArrive;
+extern NSString * const MMEEventTypeNavigationCancel;
+extern NSString * const MMEEventTypeNavigationFeedback;
+extern NSString * const MMEEventTypeNavigationReroute;
+extern NSString * const MMEventTypeNavigationCarplayConnect;
+extern NSString * const MMEventTypeNavigationCarplayDisconnect;
+extern NSString * const MMEEventTypeSearchSelected;
+extern NSString * const MMEEventTypeSearchFeedback;
+extern NSString * const MMESearchEventPrefix;
+extern NSString * const MMEEventDateUTC;
+extern NSString * const MMEEventRequests;
+extern NSString * const MMEEventTotalDataSent;
+extern NSString * const MMEEventCellDataSent;
+extern NSString * const MMEEventWiFiDataSent;
+extern NSString * const MMEEventTotalDataReceived;
+extern NSString * const MMEEventCellDataReceived;
+extern NSString * const MMEEventWiFiDataReceived;
+extern NSString * const MMEEventAppWakeups;
+extern NSString * const MMEEventEventCountPerType;
+extern NSString * const MMEEventEventCountFailed;
+extern NSString * const MMEEventEventCountTotal;
+extern NSString * const MMEEventEventCountMax;
+extern NSString * const MMEEventDeviceLat;
+extern NSString * const MMEEventDeviceLon;
+extern NSString * const MMEEventDeviceTimeDrift;
+extern NSString * const MMEEventConfigResponse;
+extern NSString * const MMEEventStatusDenied;
+extern NSString * const MMEEventStatusRestricted;
+extern NSString * const MMEEventStatusNotDetermined;
+extern NSString * const MMEEventStatusAuthorizedAlways;
+extern NSString * const MMEEventStatusAuthorizedWhenInUse;
+extern NSString * const MMEEventUnknown;
+
+extern NSString * const MMEResponseKey;
+
+/*! @brief SDK event source */
+extern NSString * const MMEEventSource;
+
+#pragma mark - mobile.crash Keys
+
+extern NSString * const MMEEventMobileCrash;
+extern NSString * const MMEEventKeyOSVersion;
+extern NSString * const MMEEventKeyBuildType;
+extern NSString * const MMEEventKeyIsSilentCrash;
+extern NSString * const MMEEventKeyStackTrace;
+extern NSString * const MMEEventKeyStackTraceHash;
+extern NSString * const MMEEventKeyInstallationId;
+extern NSString * const MMEEventKeyThreadDetails;
+extern NSString * const MMEEventKeyAppId;
+extern NSString * const MMEEventKeyAppVersion;
+extern NSString * const MMEEventKeyAppStartDate;
+extern NSString * const MMEEventKeyCustomData;
+
+#pragma mark - MMEErrorDomain
+
+/*! @brief NSErrorDomain for MapboxMobileEvents */
+extern NSErrorDomain const MMEErrorDomain;
+
+/*! @brief MMEErrorDomain Error Numbers
+    - MMENoError: No Error
+    - MMEErrorException for exceptions
+    - MMEErrorEventInit for errors when initlizing events
+    - MMEErrorEventInitMissingKey if the event attributes dictionary does not include the event key,
+    - MMEErrorEventInitException if an exception occured durring initWithAttributes:error:,
+    - MMEErrorEventInitInvalid if the provided eventAttributes cannot be converted to JSON objects
+*/
+typedef NS_ENUM(NSInteger, MMEErrorNumber) {
+    MMENoError = 0,
+    MMEErrorException = 10001,
+    MMEErrorEventInit = 10002,
+    MMEErrorEventInitMissingKey = 10003,
+    MMEErrorEventInitException  = 10004,
+    MMEErrorEventInitInvalid    = 10005,
+    MMEErrorEventEncoding = 10006,
+    MMEErrorEventCounting = 10007
+};
+
+/*! @brief key for MMEErrorEventInit userInfo dictionary containing the attributes which failed to create the event */
+extern NSString * const MMEErrorEventAttributesKey;
+
+/*! @brief key for MMEErrorDomain userInfo dictionary containing the underlying exception which triggered the error */
+extern NSString * const MMEErrorUnderlyingExceptionKey;
+
+#pragma mark - Deprecated
+
+extern NSString * const MMEErrorDescriptionKey; MME_DEPRECATED_MSG("Use NSLocalizedDescriptionKey")
+
+extern NSString * const MMEEventKeyVendorID MME_DEPRECATED_MSG("Use MMEEventKeyVendorId");
+extern NSString * const MMEEventKeyInstallationID MME_DEPRECATED_MSG("Use MMEEventKeyInstallationId");
+extern NSString * const MMEEventKeyAppID MME_DEPRECATED_MSG("Use MMEEventKeyInstallationId");
+
+extern NSString * const MMELoggerHTML MME_DEPRECATED;
+extern NSString * const MMELoggerShareableHTML MME_DEPRECATED;
+
+extern NSString * const MMEEventKeyGestureId MME_DEPRECATED;
+extern NSString * const MMEEventKeyGestureID MME_DEPRECATED;
+extern NSString * const MMEEventGestureSingleTap MME_DEPRECATED;
+extern NSString * const MMEEventGestureDoubleTap MME_DEPRECATED;
+extern NSString * const MMEEventGestureTwoFingerSingleTap MME_DEPRECATED;
+extern NSString * const MMEEventGestureQuickZoom MME_DEPRECATED;
+extern NSString * const MMEEventGesturePanStart MME_DEPRECATED;
+extern NSString * const MMEEventGesturePinchStart MME_DEPRECATED;
+extern NSString * const MMEEventGestureRotateStart MME_DEPRECATED;
+extern NSString * const MMEEventGesturePitchStart MME_DEPRECATED;
+extern NSString * const MMEEventTypeMapTap MME_DEPRECATED;
+extern NSString * const MMEEventTypeMapDragEnd MME_DEPRECATED;
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEConstants.h.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEConstants.h.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5d663a63d6b6faa6e083f41cae2db42460b81bbd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEConstants.h.meta
@@ -0,0 +1,26 @@
+fileFormatVersion: 2
+guid: 6718394795f184698a40cb2aaeb50e0f
+timeCreated: 1570560566
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEvent.h b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEvent.h
new file mode 100644
index 0000000000000000000000000000000000000000..d2a85e44061602195c124dfddc7ccec896bfd2d9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEvent.h
@@ -0,0 +1,172 @@
+#import <Foundation/Foundation.h>
+#import "MMETypes.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class MMECommonEventData;
+
+/*! @brief represents a telemetry event, with a name, date and attributes */
+@interface MMEEvent : NSObject <NSCopying,NSSecureCoding>
+
+/*! @brief date on which the event occured - MMEEventKeyDateCreated */
+@property (nonatomic, readonly, copy) NSDate *date;
+
+/*! @brief name of the event, from MMEConstants.h - MMEEventKeyEvent */
+@property (nonatomic, readonly, copy) NSString *name;
+
+/*! @brief attributes of the event, a dictionary for which [NSJSONSerialization isValidJSONObject:] returns YES */
+@property (nonatomic, readonly, copy) NSDictionary *attributes;
+
+/*! @brief Designated Initilizer for events
+    @param eventAttributes attributes of the event
+    @param error present if the event could not be created with the properties provided
+    @return a new event with the date, name and attributes provided
+*/
+- (instancetype)initWithAttributes:(NSDictionary *)eventAttributes error:(NSError **)error NS_DESIGNATED_INITIALIZER;
+
+#pragma mark - Generic Events
+
+/*! @brief eventWithAttributes: - initilization errors are reported to the EventsManagerDelegate
+    @param attributes attrs
+    @return event
+*/
++ (instancetype)eventWithAttributes:(NSDictionary *)attributes;
+
+/*! @brief eventWithAttributes: - initilization errors are reported to the EventsManagerDelegate
+    @param attributes attrs
+    @return event
+*/
++ (instancetype)eventWithAttributes:(NSDictionary *)attributes error:(NSError **)error;
+
+#pragma mark - Custom Events
+
+/*! @brief turnstileEventWithAttributes:
+    @param attributes event attrs
+    @return turnstile event
+*/
++ (instancetype)turnstileEventWithAttributes:(NSDictionary *)attributes;
+
+/*! @brief visitEventWithAttributes:
+    @param attributes attrs
+    @return event
+*/
++ (instancetype)visitEventWithAttributes:(NSDictionary *)attributes;
+
+#pragma mark - Crash Events
+
+/*! @brief crashEventReporting:error:
+    @param eventsError error to report
+    @param createError pointer to an error creating the report
+    @return event
+*/
++ (instancetype)crashEventReporting:(NSError *)eventsError error:(NSError **)createError;
+
+#pragma mark - Debug Devents
+
+/*! @brief debugEventWithAttributes: debug logging event with attributes provided
+    @param attributes attrs
+    @return event
+*/
++ (instancetype)debugEventWithAttributes:(NSDictionary *)attributes MME_DEPRECATED;
+
+/*! @brief debugEventWithError: debug logging event with the error provided
+    @param error error
+    @return event
+*/
++ (instancetype)debugEventWithError:(NSError *)error MME_DEPRECATED;
+
+/*! @brief debugEventWithException: debug logging event the the exception provided
+    @param except exception
+    @return event
+*/
++ (instancetype)debugEventWithException:(NSException *)except MME_DEPRECATED;
+
+#pragma mark - Deprecated
+
+#pragma mark - Deprecated (MMECommonEventData)
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithAttributes:error:
+*/
++ (instancetype)locationEventWithAttributes:(NSDictionary *)attributes instanceIdentifer:(NSString *)instanceIdentifer commonEventData:(MMECommonEventData *)commonEventData
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note replacment TBD
+*/
++ (instancetype)mapLoadEventWithDateString:(NSString *)dateString commonEventData:(MMECommonEventData *)commonEventData
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+#pragma mark - Deprecated (Event Name)
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithAttributes:error:
+*/
++ (instancetype)eventWithName:(NSString *)eventName attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithAttributes:error:
+*/
++ (instancetype)navigationEventWithName:(NSString *)name attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithAttributes:error:
+*/
++ (instancetype)visionEventWithName:(NSString *)name attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithAttributes:error:
+*/
++ (instancetype)searchEventWithName:(NSString *)name attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+/*! brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithAttributes:error:
+*/
++ (instancetype)carplayEventWithName:(NSString *)name attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+#pragma mark - Deprecated (Date String)
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithName:attributes:
+*/
++ (instancetype)telemetryMetricsEventWithDateString:(NSString *)dateString attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note map gesture events are no longer supported
+*/
++ (instancetype)mapTapEventWithDateString:(NSString *)dateString attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_MSG("map gesture events are no longer supported");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note map gesture events are no longer supported
+*/
++ (instancetype)mapDragEndEventWithDateString:(NSString *)dateString attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_MSG("map gesture events are no longer supported");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithName:attributes:
+*/
++ (instancetype)mapOfflineDownloadStartEventWithDateString:(NSString *)dateString attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithName:attributes:
+*/
++ (instancetype)mapOfflineDownloadEndEventWithDateString:(NSString *)dateString attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+/*! @brief deprecated in MabboxMobileEvents 1.0.0 or later
+    @note please use eventWithName:attributes:
+*/
++ (instancetype)eventWithDateString:(NSString *)dateString name:(NSString *)name attributes:(NSDictionary *)attributes
+    MME_DEPRECATED_GOTO("use eventWithAttributes:error:", "-eventWithAttributes:error:");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEvent.h.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEvent.h.meta
new file mode 100644
index 0000000000000000000000000000000000000000..99867fb7b1ce669b4a71243a8f5bbcb825441905
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEvent.h.meta
@@ -0,0 +1,26 @@
+fileFormatVersion: 2
+guid: 6c1879202f10e4c3da36b4eac7f010e1
+timeCreated: 1570560566
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEventsManager.h b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEventsManager.h
new file mode 100644
index 0000000000000000000000000000000000000000..ea13bdcd288a50eecaa15ca41f58f67156f15ae1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEventsManager.h
@@ -0,0 +1,152 @@
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CoreLocation.h>
+
+#import "MMETypes.h"
+
+@class MMEEvent;
+@protocol MMEEventsManagerDelegate;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! @brief Mapbox Mobile Events Manager */
+@interface MMEEventsManager : NSObject
+
+/*! @brief events manager delegate */
+@property (nonatomic, weak) id<MMEEventsManagerDelegate> delegate;
+
+/*! @brief YES if metrics collection is enabled */
+@property (nonatomic, getter=isMetricsEnabled) BOOL metricsEnabled;
+
+/*! @brief YES if metrics collection is enabled in the simulator */
+@property (nonatomic, getter=isMetricsEnabledInSimulator) BOOL metricsEnabledInSimulator;
+
+/*! @brief YES if metrics collection is enabled when the app is in use */
+@property (nonatomic, getter=isMetricsEnabledForInUsePermissions) BOOL metricsEnabledForInUsePermissions;
+
+/*! @brief YES if debug logging is enabled */
+@property (nonatomic, getter=isDebugLoggingEnabled) BOOL debugLoggingEnabled;
+
+/*! @brief UserAgent base string, in RFC 2616 format
+    @link https://www.ietf.org/rfc/rfc2616.txt */
+@property (nonatomic, readonly) NSString *userAgentBase;
+
+/*! @brief SDK version, in Semantic Versioning 2.0.0 format
+    @link https://semver.org */
+@property (nonatomic, readonly) NSString *hostSDKVersion;
+
+/*! @brief SKU Identifier */
+@property (nonatomic, copy) NSString *skuId;
+
+/*! @brief Mapbox Access Token
+    @link https://account.mapbox.com */
+@property (nonatomic, copy) NSString *accessToken;
+
+/*! @brief baseURL */
+@property (nonatomic, null_resettable) NSURL *baseURL;
+
+/*! @brief accountType */
+@property (nonatomic) NSInteger accountType;
+
+#pragma mark -
+
+/*! @brief Shared Mabpox Mobile Events Manager */
++ (instancetype)sharedManager;
+
+#pragma mark - Exception Free API
+
+/*!
+ @brief designated initilizer
+ @param accessToken Mapbox Access Token
+ @param userAgentBase UserAgent base string, in RFC 2616 format
+ @param hostSDKVersion SDK version, in Semantic Versioning 2.0.0 format
+ @throws no exceptions
+*/
+- (void)initializeWithAccessToken:(NSString *)accessToken userAgentBase:(NSString *)userAgentBase hostSDKVersion:(NSString *)hostSDKVersion;
+
+/*! @brief pauseOrResumeMetricsCollectionIfRequired
+    @throws no exceptions */
+- (void)pauseOrResumeMetricsCollectionIfRequired;
+
+/*! @brief flush the events pipeline, sending any pending events
+    @throws no exceptions */
+- (void)flush;
+
+/*! @brief resetEventQueuing
+    @throws no exceptions */
+- (void)resetEventQueuing;
+
+/*! @brief sendTurnstileEvent
+    @throws no exceptions */
+- (void)sendTurnstileEvent;
+
+/*! @brief sendTelemetryMetricsEvent
+    @throws no exceptions */
+- (void)sendTelemetryMetricsEvent;
+
+/*! @brief disableLocationMetrics */
+- (void)disableLocationMetrics;
+
+#pragma mark -
+
+/*! @brief enqueueEventWithName:
+    @param name event name */
+- (void)enqueueEventWithName:(NSString *)name;
+
+/*! @brief enqueueEventWithName:attributes:
+    @param name event name
+    @param attributes event attributes */
+- (void)enqueueEventWithName:(NSString *)name attributes:(MMEMapboxEventAttributes *)attributes;
+
+/*! @brief postMetadata:filePaths:completionHander:
+    @param metadata array of metadat
+    @param filePaths array of file paths
+    @param completionHandler completion handler block
+*/
+- (void)postMetadata:(NSArray *)metadata filePaths:(NSArray *)filePaths completionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler;
+
+- (void)displayLogFileFromDate:(NSDate *)logDate MME_DEPRECATED;
+
+#pragma mark - Error & Exception Reporting
+
+/*! @brief report an error to the telemetry service
+    @return the report event, for inspection or logging
+    @throws no exceptions */
+- (MMEEvent *)reportError:(NSError *)eventsError;
+
+/*! @brief report an exception to the telemetry service
+    @return the report event, for inspection or logging
+    @throws no exceptions */
+- (MMEEvent *)reportException:(NSException *)eventException;
+
+@end
+
+#pragma mark -
+
+/*! @brief delegate methods for MMEEventsManager */
+@protocol MMEEventsManagerDelegate <NSObject>
+
+@optional
+
+/*! @brief eventsManager:didUpdateLocations: reports location updates to the delegate
+    @param eventsManager shared manager
+    @param locations array of CLLocations
+*/
+- (void)eventsManager:(MMEEventsManager *)eventsManager didUpdateLocations:(NSArray<CLLocation *> *)locations;
+
+#if TARGET_OS_IOS
+/*! @brief eventsManager:didVisit: reports visits to the delegate
+    @param eventsManager shared manager
+    @param visit CLVisit
+*/
+- (void)eventsManager:(MMEEventsManager *)eventsManager didVisit:(CLVisit *)visit;
+#endif
+
+/** @brief reports errors encoutered by the Events Manager to the delegate
+    @param eventsManager the shared events manager
+    @param error the encountered NSError object
+*/
+- (void)eventsManager:(MMEEventsManager *)eventsManager didEncounterError:(NSError *)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEventsManager.h.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEventsManager.h.meta
new file mode 100644
index 0000000000000000000000000000000000000000..73df47acb9dd808470fdef822beea368a5f0a87a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMEEventsManager.h.meta
@@ -0,0 +1,26 @@
+fileFormatVersion: 2
+guid: 3edca867bab9748d6be5abf6b6006229
+timeCreated: 1570560566
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMETypes.h b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMETypes.h
new file mode 100644
index 0000000000000000000000000000000000000000..ab032c5eef0c059ba67987119f08008562162551
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMETypes.h
@@ -0,0 +1,54 @@
+#import <Foundation/Foundation.h>
+
+#ifndef NS_ARRAY_OF
+    // Foundation collection classes adopted lightweight generics in iOS 9.0 and OS X 10.11 SDKs.
+    #if __has_feature(objc_generics) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 || __MAC_OS_X_VERSION_MAX_ALLOWED >= 101100)
+    /** Inserts a type specifier for a pointer to a lightweight generic with the given collection and object classes. Use a `*` for any non-`id` object classes but no `*` for the collection class. */
+        #define NS_ARRAY_OF(ObjectClass...)                 NSArray <ObjectClass>
+        #define NS_MUTABLE_ARRAY_OF(ObjectClass...)         NSMutableArray <ObjectClass>
+        #define NS_SET_OF(ObjectClass...)                   NSSet <ObjectClass>
+        #define NS_MUTABLE_SET_OF(ObjectClass...)           NSMutableSet <ObjectClass>
+        #define NS_DICTIONARY_OF(ObjectClass...)            NSDictionary <ObjectClass>
+        #define NS_MUTABLE_DICTIONARY_OF(ObjectClass...)    NSMutableDictionary <ObjectClass>
+    #else
+        #define NS_ARRAY_OF(ObjectClass...)                 NSArray
+        #define NS_MUTABLE_ARRAY_OF(ObjectClass...)         NSMutableArray
+        #define NS_SET_OF(ObjectClass...)                   NSSet
+        #define NS_MUTABLE_SET_OF(ObjectClass...)           NSMutableSet
+        #define NS_DICTIONARY_OF(ObjectClass...)            NSDictionary
+        #define NS_MUTABLE_DICTIONARY_OF(ObjectClass...)    NSMutableDictionary
+    #endif
+#endif
+
+typedef NS_DICTIONARY_OF(NSString *, id) MMEMapboxEventAttributes;
+typedef NS_MUTABLE_DICTIONARY_OF(NSString *, id) MMEMutableMapboxEventAttributes;
+
+#ifdef MME_DEPRECATION_WARNINGS
+
+#ifndef MME_DEPRECATED
+    #define MME_DEPRECATED __attribute__((deprecated))
+#endif
+
+#ifndef MME_DEPRECATED_MSG
+    #define MME_DEPRECATED_MSG(msg) __attribute((deprecated((msg))))
+#endif
+
+#ifndef MME_DEPRECATED_GOTO
+    #define MME_DEPRECATED_GOTO(msg,label) __attribute((deprecated((msg),(label))))
+#endif
+
+#else
+
+#ifndef MME_DEPRECATED
+    #define MME_DEPRECATED
+#endif
+
+#ifndef MME_DEPRECATED_MSG
+    #define MME_DEPRECATED_MSG(msg)
+#endif
+
+#ifndef MME_DEPRECATED_GOTO
+    #define MME_DEPRECATED_GOTO(msg,label)
+#endif
+
+#endif // MME_DEPRECATION_WARNINGS
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMETypes.h.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMETypes.h.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8e637fbdc2711fa476a5845cc24e1a2b7d412401
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MMETypes.h.meta
@@ -0,0 +1,26 @@
+fileFormatVersion: 2
+guid: 7743c930e90e943f4941ec6e3ad1a58f
+timeCreated: 1570560566
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MapboxMobileEvents.h b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MapboxMobileEvents.h
new file mode 100644
index 0000000000000000000000000000000000000000..a90ea2b6a91c6e0b382c24e8e14cbaa0f6bfdbec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MapboxMobileEvents.h
@@ -0,0 +1,14 @@
+#import <UIKit/UIKit.h>
+
+//! Project version number for MapboxMobileEvents.
+FOUNDATION_EXPORT double MapboxMobileEventsVersionNumber;
+
+//! Project version string for MapboxMobileEvents
+FOUNDATION_EXPORT const unsigned char MapboxMobileEventsVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import <MapboxMobileEvents/PublicHeader.h>
+
+#import <MapboxMobileEvents/MMEConstants.h>
+#import <MapboxMobileEvents/MMEEvent.h>
+#import <MapboxMobileEvents/MMETypes.h>
+#import <MapboxMobileEvents/MMEEventsManager.h>
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MapboxMobileEvents.h.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MapboxMobileEvents.h.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f9ed3dc7b86e12046ad62caa42d2e077891246fa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include/MapboxMobileEvents/MapboxMobileEvents.h.meta
@@ -0,0 +1,26 @@
+fileFormatVersion: 2
+guid: 458ba4499a3bc4d2aafae9f55ca4c37e
+timeCreated: 1570560566
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/libMapboxMobileEventsStatic.a b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/libMapboxMobileEventsStatic.a
new file mode 100644
index 0000000000000000000000000000000000000000..5185661bfd3f51b293f3b62bcd9613c9fa082588
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/libMapboxMobileEventsStatic.a differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/libMapboxMobileEventsStatic.a.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/libMapboxMobileEventsStatic.a.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4fcd74dc69f2a5e1946ee58c27885e337e0a5bd2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/iOS/MapboxMobileEvents/libMapboxMobileEventsStatic.a.meta
@@ -0,0 +1,106 @@
+fileFormatVersion: 2
+guid: 902cd5fd1c6e74a17a41d7527de5b07b
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 1
+        Exclude Editor: 1
+        Exclude Linux: 1
+        Exclude Linux64: 1
+        Exclude LinuxUniversal: 1
+        Exclude OSXUniversal: 1
+        Exclude WebGL: 1
+        Exclude Win: 1
+        Exclude Win64: 1
+        Exclude iOS: 0
+  - first:
+      Android: Android
+    second:
+      enabled: 0
+      settings:
+        CPU: ARMv7
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 0
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 0
+      settings:
+        CPU: x86_64
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      iPhone: iOS
+    second:
+      enabled: 1
+      settings:
+        AddToEmbeddedBinaries: false
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/link.xml b/T3-Unity/Assets/Mapbox/Core/Plugins/link.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d316281b6a46d138fabb8dd1004f78c00a3c192c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/link.xml
@@ -0,0 +1,29 @@
+<linker>
+  <assembly fullname="System">
+    <type fullname="System.ComponentModel.TypeConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.ArrayConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.BaseNumberConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.BooleanConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.ByteConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.CharConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.CollectionConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.ComponentConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.CultureInfoConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.DateTimeConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.DecimalConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.DoubleConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.EnumConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.ExpandableObjectConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.Int16Converter" preserve="all"/>
+    <type fullname="System.ComponentModel.Int32Converter" preserve="all"/>
+    <type fullname="System.ComponentModel.Int64Converter" preserve="all"/>
+    <type fullname="System.ComponentModel.NullableConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.SByteConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.SingleConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.StringConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.TimeSpanConverter" preserve="all"/>
+    <type fullname="System.ComponentModel.UInt16Converter" preserve="all"/>
+    <type fullname="System.ComponentModel.UInt32Converter" preserve="all"/>
+    <type fullname="System.ComponentModel.UInt64Converter" preserve="all"/>
+  </assembly>
+</linker>
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/link.xml.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/link.xml.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9a564e60ae88f81748e5b66faf4ed2f58e484a68
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/link.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4cdb20be19794f045b7be9be4b5c0411
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite.meta
new file mode 100644
index 0000000000000000000000000000000000000000..75588d989839629152c49a00ce51b6f0d47822c6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9b6db522e589f6648ac1c512b86ffee7
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fc385e8b05356a46aa4dbe9bf83d2cccd3e1ddce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f9aa937fca8cbd945a3a1c9a32a2aeca
+folderAsset: yes
+timeCreated: 1445131378
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cffbabb9b3712a23c833261ad61879244926a1ec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8ecc37cde00565d439803ae86521a2be
+folderAsset: yes
+timeCreated: 1445131378
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9a815b85b4e231285a01dd0854e0f10cc922ee6f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2325a98c27e0cd84a821f71d86995361
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a/libsqlite3.so b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a/libsqlite3.so
new file mode 100644
index 0000000000000000000000000000000000000000..246d027870c37374200f342491a0ddb28779e63b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a/libsqlite3.so differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a/libsqlite3.so.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a/libsqlite3.so.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6c5aaed39a29fae84eda2e32f4de5e77e7560962
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/arm64-v8a/libsqlite3.so.meta
@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: aff4a781acb7b3e44ad44913092f0136
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      '': Any
+    second:
+      enabled: 0
+      settings:
+        Exclude Android: 0
+        Exclude Editor: 1
+        Exclude Linux: 1
+        Exclude Linux64: 1
+        Exclude LinuxUniversal: 1
+        Exclude OSXUniversal: 1
+        Exclude WebGL: 1
+        Exclude Win: 1
+        Exclude Win64: 1
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings:
+        CPU: ARM64
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+  - first:
+      Facebook: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Facebook: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Linux
+    second:
+      enabled: 0
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 0
+      settings:
+        CPU: x86_64
+  - first:
+      Standalone: LinuxUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: None
+  - first:
+      Standalone: OSXUniversal
+    second:
+      enabled: 0
+      settings:
+        CPU: x86
+  - first:
+      Standalone: Win
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9c3fb54a0c0473bef933671b00de0e429f20f722
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 08b2651045c57a441975bfde798f2859
+folderAsset: yes
+timeCreated: 1445131378
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a/libsqlite3.so b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a/libsqlite3.so
new file mode 100644
index 0000000000000000000000000000000000000000..d69ba56f88e525f9876c41cb5f0cc4c43b6f6e6c
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a/libsqlite3.so differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a/libsqlite3.so.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a/libsqlite3.so.meta
new file mode 100644
index 0000000000000000000000000000000000000000..db7f4be4a38cb3db3f449678af7793191c464f44
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/armeabi-v7a/libsqlite3.so.meta
@@ -0,0 +1,70 @@
+fileFormatVersion: 2
+guid: a00620409803a41f598cabed0c2ecf9f
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings:
+        CPU: ARMv7
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+    Linux:
+      enabled: 0
+      settings:
+        CPU: x86
+    Linux64:
+      enabled: 0
+      settings:
+        CPU: x86_64
+    OSXIntel:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    OSXIntel64:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    SamsungTV:
+      enabled: 0
+      settings:
+        STV_MODEL: STANDARD_13
+    WP8:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DontProcess: False
+        PlaceholderPath: 
+    Win:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    Win64:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    WindowsStoreApps:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DontProcess: False
+        PlaceholderPath: 
+        SDK: AnySDK
+    iOS:
+      enabled: 0
+      settings:
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d396f999ae4e0d2accd83d264c109fb879dfe53a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 450e0a9c89bf4a040b26f1fef13f5655
+folderAsset: yes
+timeCreated: 1445131378
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86/libsqlite3.so b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86/libsqlite3.so
new file mode 100644
index 0000000000000000000000000000000000000000..d4d12035b76a6040bc6b977173e1c76a024cae0d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86/libsqlite3.so differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86/libsqlite3.so.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86/libsqlite3.so.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2c6eee9acb2ef32b3187c0a87d352b562dc5db99
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/Android/libs/x86/libsqlite3.so.meta
@@ -0,0 +1,55 @@
+fileFormatVersion: 2
+guid: fa9cbdc3a67e5fd4baeb5d0dd3f4cf71
+timeCreated: 1445131383
+licenseType: Free
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Android:
+      enabled: 1
+      settings:
+        CPU: x86
+    Any:
+      enabled: 0
+      settings: {}
+    Editor:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+    Linux:
+      enabled: 0
+      settings:
+        CPU: x86
+    Linux64:
+      enabled: 0
+      settings:
+        CPU: x86_64
+    OSXIntel:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    OSXIntel64:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    Win:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    Win64:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    iOS:
+      enabled: 0
+      settings:
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64.meta
new file mode 100644
index 0000000000000000000000000000000000000000..049d532e2fa700134e4f65d558b44b37a3adcd2a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d080ad26255213a459eabfbd537e41b5
+folderAsset: yes
+timeCreated: 1445131378
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64/sqlite3.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64/sqlite3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..6f07d5e7ab41a0f791f07d5407f10edb4b716a02
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64/sqlite3.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64/sqlite3.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64/sqlite3.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..245e977ba92fa45f7083a4464401c9fa62648e94
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x64/sqlite3.dll.meta
@@ -0,0 +1,63 @@
+fileFormatVersion: 2
+guid: a3fee75616c5ab0449e841e6fc8a5172
+timeCreated: 1445131383
+licenseType: Free
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Android:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    Editor:
+      enabled: 1
+      settings:
+        CPU: x86_64
+        DefaultValueInitialized: true
+        OS: AnyOS
+    Linux:
+      enabled: 1
+      settings:
+        CPU: x86
+    Linux64:
+      enabled: 1
+      settings:
+        CPU: x86_64
+    LinuxUniversal:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXIntel:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXIntel64:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXUniversal:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    Win:
+      enabled: 0
+      settings:
+        CPU: None
+    Win64:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    data:
+      enabled: 0
+      settings: {}
+    iOS:
+      enabled: 1
+      settings:
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a43b7b4dd9909ced0c89d67ccd8d9311e043de7b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 854bb0734038dc44e81cdde1d571a00f
+folderAsset: yes
+timeCreated: 1445131378
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86/sqlite3.dll b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86/sqlite3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..4cd5a11229934e6bf6ca596e63d94c20c890b457
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86/sqlite3.dll differ
diff --git a/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86/sqlite3.dll.meta b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86/sqlite3.dll.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e2f12967a08a5114d3b005f2ede23b23414f6df5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/Plugins/sqlite/x86/sqlite3.dll.meta
@@ -0,0 +1,63 @@
+fileFormatVersion: 2
+guid: 34afd3dfc3051f3438965ecf7bd8c8df
+timeCreated: 1445131383
+licenseType: Free
+PluginImporter:
+  serializedVersion: 1
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  platformData:
+    Android:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+    Editor:
+      enabled: 1
+      settings:
+        CPU: x86
+        DefaultValueInitialized: true
+        OS: AnyOS
+    Linux:
+      enabled: 1
+      settings:
+        CPU: x86
+    Linux64:
+      enabled: 1
+      settings:
+        CPU: x86_64
+    LinuxUniversal:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXIntel:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXIntel64:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    OSXUniversal:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    Win:
+      enabled: 1
+      settings:
+        CPU: AnyCPU
+    Win64:
+      enabled: 0
+      settings:
+        CPU: None
+    data:
+      enabled: 0
+      settings: {}
+    iOS:
+      enabled: 0
+      settings:
+        CompileFlags: 
+        FrameworkDependencies: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs.meta b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b9d2a3aac5282224437789c49b6e39133614118
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 49cd92bb9fe9ed9428a22e83866f702c
+folderAsset: yes
+timeCreated: 1510755841
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/CheapRuler.cs b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/CheapRuler.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9850c990faf3b64193226adba7cb72bfdafbeefb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/CheapRuler.cs
@@ -0,0 +1,164 @@
+namespace Mapbox.CheapRulerCs
+{
+
+	using System;
+
+
+	public enum CheapRulerUnits
+	{
+		Kilometers,
+		Miles,
+		NauticalMiles,
+		Meters,
+		Yards,
+		Feet,
+		Inches
+	}
+
+	public class CheapRuler
+	{
+
+
+		private double _kx;
+		private double _ky;
+
+
+		/// <summary>
+		/// Creates a ruler object that will approximate measurements around the given latitude. Units are one of: kilometers
+		/// </summary>
+		/// <param name="outputUnits"></param>
+		public CheapRuler(double latitude, CheapRulerUnits outputUnits = CheapRulerUnits.Kilometers)
+		{
+
+			double factor;
+
+			switch (outputUnits)
+			{
+				case CheapRulerUnits.Kilometers:
+					factor = 1.0d;
+					break;
+				case CheapRulerUnits.Miles:
+					factor = 1000.0d / 1609.344;
+					break;
+				case CheapRulerUnits.NauticalMiles:
+					factor = 1000.0d / 1852.0d;
+					break;
+				case CheapRulerUnits.Meters:
+					factor = 1000.0d;
+					break;
+				case CheapRulerUnits.Yards:
+					factor = 1000.0d / 0.9144;
+					break;
+				case CheapRulerUnits.Feet:
+					factor = 1000.0d / 0.3048;
+					break;
+				case CheapRulerUnits.Inches:
+					factor = 1000.0d / 0.0254;
+					break;
+				default:
+					factor = 1.0d;
+					break;
+			}
+
+			var cos = Math.Cos(latitude * Math.PI / 180);
+			var cos2 = 2 * cos * cos - 1;
+			var cos3 = 2 * cos * cos2 - cos;
+			var cos4 = 2 * cos * cos3 - cos2;
+			var cos5 = 2 * cos * cos4 - cos3;
+
+			// multipliers for converting longitude and latitude degrees into distance (http://1.usa.gov/1Wb1bv7)
+			_kx = factor * (111.41513 * cos - 0.09455 * cos3 + 0.00012 * cos5);
+			_ky = factor * (111.13209 - 0.56605 * cos2 + 0.0012 * cos4);
+		}
+
+
+		/// <summary>
+		/// Creates a ruler object from tile coordinates.
+		/// </summary>
+		/// <param name="y">Y TileId</param>
+		/// <param name="z">Zoom Level</param>
+		/// <param name="units"></param>
+		/// <returns></returns>
+		public static CheapRuler FromTile(int y, int z, CheapRulerUnits units = CheapRulerUnits.Kilometers)
+		{
+			var n = Math.PI * (1 - 2 * (y + 0.5) / Math.Pow(2, z));
+			var lat = Math.Atan(0.5 * (Math.Exp(n) - Math.Exp(-n))) * 180 / Math.PI;
+			return new CheapRuler(lat, units);
+		}
+
+
+		/// <summary>
+		/// Given two points returns the distance.
+		/// </summary>
+		/// <param name="a">point [longitude, latitude]</param>
+		/// <param name="b">point [longitude, latitude]</param>
+		/// <returns>Distance</returns>
+		public double Distance(double[] a, double[] b)
+		{
+			var dx = (a[0] - b[0]) * _kx;
+			var dy = (a[1] - b[1]) * _ky;
+			return Math.Sqrt(dx * dx + dy * dy);
+		}
+
+
+		/// <summary>
+		/// Returns the bearing between two points in angles.
+		/// </summary>
+		/// <param name="a">a point [longitude, latitude]</param>
+		/// <param name="b">b point [longitude, latitude]</param>
+		/// <returns>Bearing</returns>
+		public double Bearing(double[] a, double[] b)
+		{
+			var dx = (b[0] - a[0]) * _kx;
+			var dy = (b[1] - a[1]) * _ky;
+			if (dx == 0 && dy == 0)
+			{
+				return 0;
+			}
+			var bearing = Math.Atan2(dx, dy) * 180 / Math.PI;
+			if (bearing > 180)
+			{
+				bearing -= 360;
+			}
+			return bearing;
+		}
+
+
+		/// <summary>
+		/// Returns a new point given distance and bearing from the starting point.
+		/// </summary>
+		/// <param name="p"></param>
+		/// <param name="distance"></param>
+		/// <param name="bearing">point [longitude, latitude]</param>
+		/// <returns></returns>
+		public double[] Destination(double[] p, double distance, double bearing)
+		{
+			var a = (90 - bearing) * Math.PI / 180;
+			return offset(
+				p
+				, Math.Cos(a) * distance
+				, Math.Sin(a) * distance
+			);
+		}
+
+
+		/// <summary>
+		/// Returns a new point given easting and northing offsets (in ruler units) from the starting point.
+		/// </summary>
+		/// <param name="p">point [longitude, latitude]</param>
+		/// <param name="dx">dx easting</param>
+		/// <param name="dy">dy northing</param>
+		/// <returns>point [longitude, latitude]</returns>
+		private double[] offset(double[] p, double dx, double dy)
+		{
+			return new double[]
+			{
+				p[0] + dx / _kx,
+				p[1] + dy / _ky
+			};
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/CheapRuler.cs.meta b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/CheapRuler.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d8e07f9a2eacf5f14d702acbe049d93ca03b21a0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/CheapRuler.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 70ae2609c58a0494fa3d7f9f58915037
+timeCreated: 1510756014
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests.meta b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests.meta
new file mode 100644
index 0000000000000000000000000000000000000000..240aa35e38201d8a3fb4616efff73e56026764cf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ad956bac3800e2347b757d68a78545fe
+folderAsset: yes
+timeCreated: 1515511351
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor.meta b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5f57978b3849efe7ec45e30d244f5f7b6eb9dcfa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4f535415528489e4994bafd61109a75e
+folderAsset: yes
+timeCreated: 1515511390
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor/MapboxUnitTests_CheapRulerCs.cs b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor/MapboxUnitTests_CheapRulerCs.cs
new file mode 100644
index 0000000000000000000000000000000000000000..36ef2e3ed27be94aa99f3a4d3b9a7758cb2e696a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor/MapboxUnitTests_CheapRulerCs.cs
@@ -0,0 +1,122 @@
+//-----------------------------------------------------------------------
+// <copyright file="FileSourceTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+
+namespace Mapbox.CheapRulerCs.UnitTest
+{
+
+
+	using NUnit.Framework;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.CheapRulerCs;
+	using Mapbox.Json.Linq;
+
+	[TestFixture]
+	internal class CheapRulerCsTest
+	{
+
+
+		// TODO more tests ////////////////////
+		// see https://github.com/mapbox/cheap-ruler/blob/master/test/test.js
+		//////////////////////////
+
+
+		internal class point { public double x; public double y; }
+		internal class line
+		{
+			public List<point> vertices = new List<point>();
+			public void Add(double x, double y) { vertices.Add(new point() { x = x, y = y }); }
+		}
+
+		private List<line> _lineFixtures;
+
+		[SetUp]
+		public void SetUp()
+		{
+			_lineFixtures = loadFixtures();
+		}
+
+
+
+		[Test, Order(1)]
+		public void FixturesLoaded()
+		{
+			Assert.AreEqual(58, _lineFixtures.Count);
+		}
+
+
+
+		[Test]
+		public void DistanceInMiles()
+		{
+			CheapRuler ruler = new CheapRuler(32.8351);
+			CheapRuler rulerMiles = new CheapRuler(32.8351, CheapRulerUnits.Miles);
+
+			double distKm = ruler.Distance(new double[] { 30.5, 32.8351 }, new double[] { 30.51, 32.8451 });
+			double distMiles = rulerMiles.Distance(new double[] { 30.5, 32.8351 }, new double[] { 30.51, 32.8451 });
+
+			Debug.LogFormat("{0} {1}", distKm, distMiles);
+			Assert.AreEqual(1.609344, distKm / distMiles, 1e-12, "wrong distance in miles");
+		}
+
+
+		[Test]
+		public void DistanceInNauticalMiles()
+		{
+			CheapRuler ruler = new CheapRuler(32.8351);
+			CheapRuler rulerMiles = new CheapRuler(32.8351, CheapRulerUnits.Miles);
+			CheapRuler rulerNauticalMiles = new CheapRuler(32.8351, CheapRulerUnits.NauticalMiles);
+
+			double distKm = ruler.Distance(new double[] { 30.5, 32.8351 }, new double[] { 30.51, 32.8451 });
+			double distMiles = rulerMiles.Distance(new double[] { 30.5, 32.8351 }, new double[] { 30.51, 32.8451 });
+			double distNauticalMiles = rulerNauticalMiles.Distance(new double[] { 30.5, 32.8351 }, new double[] { 30.51, 32.8451 });
+
+			Debug.LogFormat("{0} {1}", distKm, distNauticalMiles);
+			Assert.AreEqual(1.852, distKm / distNauticalMiles, 1e-12, "wrong distance km vs nautical miles");
+			Assert.AreEqual(1.15078, distMiles / distNauticalMiles, 1e-6, "wrong distance miles vs nautical miles");
+		}
+
+
+		[Test]
+		public void FromTile()
+		{
+			CheapRuler ruler1 = new CheapRuler(50.5);
+			CheapRuler ruler2 = CheapRuler.FromTile(11041, 15);
+
+			var p1 = new double[] { 30.5, 50.5 };
+			var p2 = new double[] { 30.51, 50.51 };
+
+			Assert.AreEqual(ruler1.Distance(p1, p2), ruler2.Distance(p1, p2), 3e-5, "CheapRuler.FromTile distance");
+		}
+
+
+
+		private List<line> loadFixtures()
+		{
+			TextAsset fixturesAsset = Resources.Load<TextAsset>("ChearRulerCs_fixtures");
+			var json = JArray.Parse(fixturesAsset.text);
+			List<line> fixtures = new List<line>();
+
+			foreach (var line in json)
+			{
+				line fixtureLine = new line();
+
+				foreach (var coordinates in line)
+				{
+					fixtureLine.Add(coordinates[0].Value<double>(), coordinates[1].Value<double>());
+				}
+				fixtures.Add(fixtureLine);
+			}
+
+			return fixtures;
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor/MapboxUnitTests_CheapRulerCs.cs.meta b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor/MapboxUnitTests_CheapRulerCs.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4d882e851e5c9bfc8a058b079d68f31cb28e7602
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/cheap-ruler-cs/Tests/Editor/MapboxUnitTests_CheapRulerCs.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a618de68ec1d47d4895ef5b3200b2c88
+timeCreated: 1522309080
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de99404c5378179b2ec889aaa496cd3d9b4ab782
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0573f298307b74fceabb0e3093a486d5
+folderAsset: yes
+timeCreated: 1491243030
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions.meta
new file mode 100644
index 0000000000000000000000000000000000000000..727165f69a5a85d502d6bda129bd11387ea88f68
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 17120e4ab0b97434486f85ff6e0a9196
+folderAsset: yes
+timeCreated: 1491243030
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/DirectionResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/DirectionResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6bb31f3b6e1993128c9507d4925cd0ec47132cc4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/DirectionResource.cs
@@ -0,0 +1,244 @@
+//-----------------------------------------------------------------------
+// <copyright file="DirectionResource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+    using System;
+    using System.Collections.Generic;
+    using Mapbox.Utils;
+    using Platform;
+
+    /// <summary> A directions request. </summary>
+    public class DirectionResource : Resource
+	{
+		private string apiEndpoint = "directions/v5/";
+
+		// Required
+		private RoutingProfile profile;
+
+		// Optional
+		private Vector2d[] coordinates;
+
+		// Optional
+		private bool? alternatives;
+
+		// Optional
+		private BearingFilter[] bearings;
+
+		// Optional
+		private bool? continueStraight;
+
+		// Optional
+		private Overview overview;
+
+		// Optional
+		private double[] radiuses;
+
+		// Optional
+		private bool? steps;
+
+		/// <summary> Initializes a new instance of the <see cref="DirectionResource" /> class.</summary>
+		/// <param name="coordinates">
+		///     Array of LatLng points along route, between 2 and 25 elements in length.
+		/// </param>
+		/// <param name="profile">
+		///     A routing profile, <see cref="RoutingProfile"/> for all profile options.
+		/// </param>
+		public DirectionResource(Vector2d[] coordinates, RoutingProfile profile)
+		{
+			this.Coordinates = coordinates;
+			this.RoutingProfile = profile;
+		}
+
+		/// <summary> Gets the API endpoint as a partial URL path. </summary>
+		public override string ApiEndpoint {
+			get {
+				return this.apiEndpoint;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the coordinates. Array of LatLng points along route,
+		///     between 2 and 25 elements in length.
+		/// </summary>
+		public Vector2d[] Coordinates {
+			get {
+				return this.coordinates;
+			}
+
+			set {
+				if (value.Length < 2 || value.Length > 25)
+				{
+					throw new Exception("Must be between 2 and 25 elements in coordinates array.");
+				}
+
+				this.coordinates = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the routing profile, <see cref="RoutingProfile"/> for all profile options.
+		/// </summary>
+		public RoutingProfile RoutingProfile {
+			get {
+				return this.profile;
+			}
+
+			set {
+				this.profile = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the alternative option. Controls whether direction request should
+		///     return alternative routes.
+		/// </summary>
+		public bool? Alternatives {
+			get {
+				return this.alternatives;
+			}
+
+			set {
+				this.alternatives = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the bearing option. An array of bearing filters. Each filter is composed of
+		///     a bearing as decimal degrees clockwise between 0 and 360, and a range of variation from
+		///     the bearing as decimal degrees between 0 and 180.
+		/// </summary>
+		public BearingFilter[] Bearings {
+			get {
+				return this.bearings;
+			}
+
+			set {
+				if (value != null && value.Length != this.coordinates.Length)
+				{
+					throw new Exception("There must be as many bearings as there are coordinates in the request.");
+				}
+
+				this.bearings = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the continue_straight option. Controls whether to route will
+		///     continue in same direction of travel or if route may continue in opposite
+		///     direction of travel at intermediate waypoints.
+		/// </summary>
+		public bool? ContinueStraight {
+			get {
+				return this.continueStraight;
+			}
+
+			set {
+				this.continueStraight = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the overview option. See <see cref="Overview"/> for all overview options.
+		/// </summary>
+		public Overview Overview {
+			get {
+				return this.overview;
+			}
+
+			set {
+				this.overview = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the radiuses option. Controls maximum distance in meters that
+		///     each coordinate is allowed to move when snapped to a nearby road segment.
+		/// </summary>
+		public double[] Radiuses {
+			get {
+				return this.radiuses;
+			}
+
+			set {
+				if (value != null)
+				{
+					if (value.Length != this.coordinates.Length)
+					{
+						throw new Exception("There must be as many radiuses as there are coordinates in the request.");
+					}
+
+					for (int i = 0; i < value.Length; i++)
+					{
+						if (value[i] <= 0)
+						{
+							throw new Exception("Radius must be greater than 0");
+						}
+					}
+				}
+
+				this.radiuses = value;
+			}
+		}
+
+		/// <summary> Gets or sets the steps option. Controls whether to return steps and turn-by-turn instructions.</summary>
+		public bool? Steps {
+			get {
+				return this.steps;
+			}
+
+			set {
+				this.steps = value;
+			}
+		}
+
+		/// <summary>
+		/// Gets the URL string.
+		/// </summary>
+		/// <returns>The URL string.</returns>
+		public override string GetUrl()
+		{
+			Dictionary<string, string> opts = new Dictionary<string, string>();
+
+			if (this.Alternatives != null)
+			{
+				opts.Add("alternatives", this.Alternatives.ToString().ToLower());
+			}
+
+			if (this.Bearings != null)
+			{
+				opts.Add("bearings", GetUrlQueryFromArray(this.Bearings, ";"));
+			}
+
+			if (this.ContinueStraight != null)
+			{
+				opts.Add("continue_straight", this.ContinueStraight.ToString().ToLower());
+			}
+
+			if (this.Overview != null)
+			{
+				opts.Add("overview", this.Overview.ToString());
+			}
+
+			if (this.Radiuses != null)
+			{
+				opts.Add("radiuses", GetUrlQueryFromArray(this.Radiuses));
+			}
+
+			if (this.Steps != null)
+			{
+				opts.Add("steps", this.Steps.ToString().ToLower());
+			}
+
+			return Constants.BaseAPI +
+							this.ApiEndpoint +
+							this.RoutingProfile +
+							GetUrlQueryFromArray<Vector2d>(this.Coordinates, ";") +
+							".json" +
+							EncodeQueryString(opts);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/DirectionResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/DirectionResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5b13be91028bebfb3ca03a5e5f0353c12e4acb48
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/DirectionResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 78ecfcb30aefc4289b8d2a83619a2d89
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Directions.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Directions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0906539e2af49758803465afda58c557a8475868
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Directions.cs
@@ -0,0 +1,69 @@
+//-----------------------------------------------------------------------
+// <copyright file="Directions.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+    using System;
+    using System.Text;
+    using Mapbox.Json;
+    using Mapbox.Platform;
+    using Mapbox.Utils.JsonConverters;
+
+    /// <summary>
+    ///     Wrapper around the <see href="https://www.mapbox.com/api-documentation/navigation/#directions">
+    ///     Mapbox Directions API</see>. The Mapbox Directions API will show you how to get where
+    ///     you're going.
+    /// </summary>
+    public sealed class Directions
+	{
+		private readonly IFileSource fileSource;
+
+		/// <summary> Initializes a new instance of the <see cref="Directions" /> class. </summary>
+		/// <param name="fileSource"> Network access abstraction. </param>
+		public Directions(IFileSource fileSource)
+		{
+			this.fileSource = fileSource;
+		}
+
+		/// <summary> Performs asynchronously a directions lookup. </summary>
+		/// <param name="direction"> Direction resource. </param>
+		/// <param name="callback"> Callback to be called after the request is completed. </param>
+		/// <returns>
+		///     Returns a <see cref="IAsyncRequest" /> that can be used for canceling a pending
+		///     request. This handle can be completely ignored if there is no intention of ever
+		///     canceling the request.
+		/// </returns>
+		public IAsyncRequest Query(DirectionResource direction, Action<DirectionsResponse> callback)
+		{
+			return this.fileSource.Request(
+				direction.GetUrl(),
+				(Response response) =>
+				{
+					var str = Encoding.UTF8.GetString(response.Data);
+
+					var data = Deserialize(str);
+
+					callback(data);
+				});
+		}
+
+		/// <summary>
+		/// Deserialize the geocode response string into a <see cref="DirectionsResponse"/>.
+		/// </summary>
+		/// <param name="str">JSON String.</param>
+		/// <returns>A <see cref="DirectionsResponse"/>.</returns>
+		public DirectionsResponse Deserialize(string str)
+		{
+			return JsonConvert.DeserializeObject<DirectionsResponse>(str, JsonConverters.Converters);
+		}
+
+		public string Serialize(DirectionsResponse response)
+		{
+			return JsonConvert.SerializeObject(response, JsonConverters.Converters);
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Directions.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Directions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1f1a8d8a3b8b38f478af5b44120b24a18c4a1e79
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Directions.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a4fc862e3db034a0b8591a58cd15afdc
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Overview.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Overview.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d8367888defdd799e7cb4a56658a6a381b0390e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Overview.cs
@@ -0,0 +1,38 @@
+//-----------------------------------------------------------------------
+// <copyright file="Overview.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+	/// <summary> 
+	///     Type of returned overview geometry. Can be  full (the most detailed geometry available),  
+	///     simplified (a simplified version of the full geometry), or  false (no overview geometry).  
+	/// </summary>
+	public sealed class Overview
+	{
+		/// <summary> Use the most detailed geometry available. </summary>
+		public static readonly Overview Full = new Overview("full");
+
+		/// <summary> Use simplified geometry. This is the default value. </summary>
+		public static readonly Overview Simplified = new Overview("simplified");
+
+		/// <summary> Use no overview geometry. </summary>
+		public static readonly Overview False = new Overview("false");
+
+		private readonly string overview;
+
+		private Overview(string overview)
+		{
+			this.overview = overview;
+		}
+
+		/// <summary> Converts the overview type to a string. </summary>
+		/// <returns> A string to use as an optional value in the direction query URL. </returns>
+		public override string ToString()
+		{
+			return this.overview;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Overview.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Overview.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e087bb72b743ee26ff9da6c5e8a4e72cacb4ca90
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Overview.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 794258e75ed8d4cee96d4b5ba225cfc8
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1ef48ec4af95debebd773764f646909954fa65df
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 41da431a6ab1548a29eecc30eebabe26
+folderAsset: yes
+timeCreated: 1491243031
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Annotation.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Annotation.cs
new file mode 100644
index 0000000000000000000000000000000000000000..139c8a73f4f23d1fda7d110968f75c31fb49bef1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Annotation.cs
@@ -0,0 +1,38 @@
+//-----------------------------------------------------------------------
+// <copyright file="Leg.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+	using System.Collections.Generic;
+	using Mapbox.Json;
+
+	/// <summary>
+	/// <para>An annotations object contains additional details about each line segment along the route geometry.</para>
+	/// <para></para>Each entry in an annotations field corresponds to a coordinate along the route geometry.
+	/// </summary>
+	public class Annotation
+	{
+
+
+		[JsonProperty("distance")]
+		public double[] Distance { get; set; }
+
+
+		[JsonProperty("duration")]
+		public double[] Duration { get; set; }
+
+
+		[JsonProperty("speed")]
+		public string[] Speed { get; set; }
+
+
+		[JsonProperty("congestion")]
+		public string[] Congestion { get; set; }
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Annotation.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Annotation.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..85ed38a1629aeb51053b80b06489f8cae838c846
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Annotation.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 204896b65f98440449415ca9b9c1d643
+timeCreated: 1508343130
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/DirectionsResponse.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/DirectionsResponse.cs
new file mode 100644
index 0000000000000000000000000000000000000000..704382593b80aed63f49289a6a7601e1d86e434f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/DirectionsResponse.cs
@@ -0,0 +1,41 @@
+//-----------------------------------------------------------------------
+// <copyright file="DirectionsResponse.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions {
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Json;
+
+	/// <summary>
+	/// Directions response.
+	/// </summary>
+#if !WINDOWS_UWP
+	// http://stackoverflow.com/a/12903628
+	[Serializable]
+#endif
+	public class DirectionsResponse {
+		/// <summary>
+		/// Gets or sets the routes.
+		/// </summary>
+		/// <value>The routes.</value>
+		[JsonProperty("routes")]
+		public List<Route> Routes { get; set; }
+
+		/// <summary>
+		/// Gets or sets the waypoints.
+		/// </summary>
+		/// <value>The waypoints.</value>
+		[JsonProperty("waypoints")]
+		public List<Waypoint> Waypoints { get; set; }
+
+		/// <summary>
+		/// Gets or sets the code.
+		/// </summary>
+		/// <value>The code.</value>
+		[JsonProperty("code")]
+		public string Code { get; set; }
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/DirectionsResponse.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/DirectionsResponse.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..61d74badbf0e0f7e6ee1c51176e326f6c9c6dfca
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/DirectionsResponse.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f69de6bfcf63e4d2ab766574bca2caf6
+timeCreated: 1491243035
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Intersection.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Intersection.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a533a8d392c87b29a54ab0ac0b0b84c87e9d6a91
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Intersection.cs
@@ -0,0 +1,55 @@
+//-----------------------------------------------------------------------
+// <copyright file="Intersection.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+    using System.Collections.Generic;
+    using Mapbox.Json;
+    using Mapbox.Utils;
+    using Mapbox.Utils.JsonConverters;
+
+    /// <summary>
+    /// An Intersection from a Directions API call.
+    /// </summary>
+    public class Intersection
+	{
+		/// <summary>
+		/// Gets or sets the out.
+		/// </summary>
+		/// <value>The out.</value>
+		[JsonProperty("out", Order = 0)]
+		public int Out { get; set; }
+
+		/// <summary>
+		/// Gets or sets the entry.
+		/// </summary>
+		/// <value>The entry.</value>
+		[JsonProperty("entry", Order = 1)]
+		public List<bool> Entry { get; set; }
+
+		/// <summary>
+		/// Gets or sets the bearings.
+		/// </summary>
+		/// <value>The bearings.</value>
+		[JsonProperty("bearings", Order = 2)]
+		public List<int> Bearings { get; set; }
+
+		/// <summary>
+		/// Gets or sets the location.
+		/// </summary>
+		/// <value>The location.</value>
+		[JsonProperty("location", Order = 3)]
+		[JsonConverter(typeof(LonLatToVector2dConverter))]
+		public Vector2d Location { get; set; }
+
+		/// <summary>
+		/// Gets or sets the in.
+		/// </summary>
+		/// <value>The in.</value>
+		[JsonProperty("in", Order = 4, NullValueHandling = NullValueHandling.Ignore)]
+		public int? In { get; set; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Intersection.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Intersection.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7c9b26cf302af07bbf029e9e58a71529ba92eb8b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Intersection.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 38b89d19d5fc44375966036ad1331f3d
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Leg.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Leg.cs
new file mode 100644
index 0000000000000000000000000000000000000000..aebeab8d3a8988a7b6c5fe197937079920abd01f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Leg.cs
@@ -0,0 +1,58 @@
+//-----------------------------------------------------------------------
+// <copyright file="Leg.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+	using System.Collections.Generic;
+	using Mapbox.Json;
+
+
+	/// <summary>
+	/// A Leg from a Directions API call.
+	/// </summary>
+	public class Leg
+	{
+
+
+		/// <summary>
+		/// Depending on the steps parameter, either an Array of RouteStep objects (true, default) or an empty array (false)
+		/// </summary>
+		/// <value>The steps.</value>
+		[JsonProperty("steps")]
+		public List<Step> Steps { get; set; }
+
+
+		/// <summary>
+		/// Depending on the summary parameter, either a String summarizing the route (true, default) or an empty String (false).
+		/// </summary>
+		/// <value>The summary.</value>
+		[JsonProperty("summary")]
+		public string Summary { get; set; }
+
+
+		/// <summary>
+		/// Number indicating the estimated travel time in seconds.
+		/// </summary>
+		[JsonProperty("duration")]
+		public double Duration { get; set; }
+
+
+		/// <summary>
+		/// Number indicating the distance traveled in meters.
+		/// </summary>
+		[JsonProperty("distance")]
+		public double Distance { get; set; }
+
+
+		/// <summary>
+		/// An annotations object that contains additional details about each line segment along the route geometry. Each entry in an annotations field corresponds to a coordinate along the route geometry.
+		/// </summary>
+		[JsonProperty("annotation")]
+		public Annotation Annotation { get; set; }
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Leg.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Leg.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c63fac23dd13d29b5f6ba1bccda1b441fccc9b74
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Leg.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7847e2706c04347a19461bd848b5e1bd
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Maneuver.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Maneuver.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1cf756d6d1bc7d0e5d69a5f476a35018e17779a0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Maneuver.cs
@@ -0,0 +1,59 @@
+//-----------------------------------------------------------------------
+// <copyright file="Maneuver.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+    using Mapbox.Json;
+    using Mapbox.Utils;
+
+    /// <summary>
+    /// A Maneuver from a directions API call.
+    /// </summary>
+    public class Maneuver
+	{
+		/// <summary>
+		/// Gets or sets the bearing after.
+		/// </summary>
+		/// <value>The bearing after.</value>
+		[JsonProperty("bearing_after")]
+		public int BearingAfter { get; set; }
+
+		/// <summary>
+		/// Gets or sets the type.
+		/// </summary>
+		/// <value>The type.</value>
+		[JsonProperty("type")]
+		public string Type { get; set; }
+
+		/// <summary>
+		/// Gets or sets the modifier.
+		/// </summary>
+		/// <value>The modifier.</value>
+		[JsonProperty("modifier")]
+		public string Modifier { get; set; }
+
+		/// <summary>
+		/// Gets or sets the bearing before.
+		/// </summary>
+		/// <value>The bearing before.</value>
+		[JsonProperty("bearing_before")]
+		public int BearingBefore { get; set; }
+
+		/// <summary>
+		/// Gets or sets the location.
+		/// </summary>
+		/// <value>The location.</value>
+		[JsonProperty("Location")]
+		public Vector2d Location { get; set; }
+
+		/// <summary>
+		/// Gets or sets the instruction.
+		/// </summary>
+		/// <value>The instruction.</value>
+		[JsonProperty("instruction")]
+		public string Instruction { get; set; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Maneuver.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Maneuver.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fb03330134d07ff5dc81c5dd4e9bab1b79ba20d7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Maneuver.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 41f778a9c28ef4b17ace4d80f89dbc7a
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Route.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Route.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7b536698000c66b716a52bdf4fca6e9d3ee81e75
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Route.cs
@@ -0,0 +1,61 @@
+//-----------------------------------------------------------------------
+// <copyright file="Route.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+    using System.Collections.Generic;
+    using Mapbox.Json;
+    using Mapbox.Utils;
+    using Mapbox.Utils.JsonConverters;
+
+    /// <summary>
+    /// A Route from a Directions API call.
+    /// </summary>
+    public class Route
+	{
+		/// <summary>
+		/// Gets or sets the legs.
+		/// </summary>
+		/// <value>The legs.</value>
+		[JsonProperty("legs")]
+		public List<Leg> Legs { get; set; }
+
+		/// <summary>
+		/// Gets or sets the geometry. Polyline is an array of LatLng's.
+		/// </summary>
+		/// <value>The geometry.</value>
+		[JsonProperty("geometry")]
+		[JsonConverter(typeof(PolylineToVector2dListConverter))]
+		public List<Vector2d> Geometry { get; set; }
+
+		/// <summary>
+		/// Gets or sets the duration.
+		/// </summary>
+		/// <value>The duration.</value>
+		[JsonProperty("duration")]
+		public double Duration { get; set; }
+
+		/// <summary>
+		/// Gets or sets the distance.
+		/// </summary>
+		/// <value>The distance.</value>
+		[JsonProperty("distance")]
+		public double Distance { get; set; }
+
+		/// <summary>
+		/// Float indicating the weight in units described by 'weight_name'.
+		/// </summary>
+		[JsonProperty("weight")]
+		public float Weight { get; set; }
+
+		/// <summary>
+		/// String indicating which weight was used. The default is routability which is duration based, with additional penalties for less desirable maneuvers.
+		/// </summary>
+		[JsonProperty("weight_name")]
+		public string WeightName { get; set; }
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Route.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Route.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..df9799c5d6325591b03382ae43d0845230f61987
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Route.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 67e17dbf44b85417d90ee1b71d9749f3
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Step.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Step.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a928e17f117da5819dd35893b6ca576e7f48f4f1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Step.cs
@@ -0,0 +1,69 @@
+//-----------------------------------------------------------------------
+// <copyright file="Step.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+    using System.Collections.Generic;
+    using Mapbox.Json;
+    using Mapbox.Utils;
+    using Mapbox.Utils.JsonConverters;
+
+    /// <summary>
+    /// A step from a Directions API call.
+    /// </summary>
+    public class Step
+	{
+		/// <summary>
+		/// Gets or sets the intersections.
+		/// </summary>
+		/// <value>The intersections.</value>
+		[JsonProperty("intersections")]
+		public List<Intersection> Intersections { get; set; }
+
+		/// <summary>
+		/// Gets or sets the geometry.
+		/// </summary>
+		/// <value>The geometry.</value>
+		[JsonProperty("geometry")]
+		[JsonConverter(typeof(PolylineToVector2dListConverter))]
+		public List<Vector2d> Geometry { get; set; }
+
+		/// <summary>
+		/// Gets or sets the maneuver.
+		/// </summary>
+		/// <value>The maneuver.</value>
+		[JsonProperty("maneuver")]
+		public Maneuver Maneuver { get; set; }
+
+		/// <summary>
+		/// Gets or sets the duration.
+		/// </summary>
+		/// <value>The duration.</value>
+		[JsonProperty("duration")]
+		public double Duration { get; set; }
+
+		/// <summary>
+		/// Gets or sets the distance.
+		/// </summary>
+		/// <value>The distance.</value>
+		[JsonProperty("distance")]
+		public double Distance { get; set; }
+
+		/// <summary>
+		/// Gets or sets the name.
+		/// </summary>
+		/// <value>The name.</value>
+		[JsonProperty("name")]
+		public string Name { get; set; }
+
+		/// <summary>
+		/// Gets or sets the mode.
+		/// </summary>
+		/// <value>The mode.</value>
+		[JsonProperty("mode")]
+		public string Mode { get; set; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Step.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Step.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cdb7ec8f73d72bb3056f06bca98a3775771d9535
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Step.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cb67b81b6de1f41fca077297633b5a7d
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Waypoint.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Waypoint.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a0cd87ef17e4e40a92c2c136d4750b0f3aa2da5a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Waypoint.cs
@@ -0,0 +1,33 @@
+//-----------------------------------------------------------------------
+// <copyright file="Waypoint.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+    using Mapbox.Json;
+    using Mapbox.Utils;
+    using Mapbox.Utils.JsonConverters;
+
+    /// <summary>
+    /// A Waypoint from a Directions API call.
+    /// </summary>
+    public class Waypoint
+	{
+		/// <summary>
+		/// Gets or sets the name.
+		/// </summary>
+		/// <value>The name.</value>
+		[JsonProperty("name")]
+		public string Name { get; set; }
+
+		/// <summary>
+		/// Gets or sets the location.
+		/// </summary>
+		/// <value>The location.</value>
+		[JsonProperty("location")]
+		[JsonConverter(typeof(LonLatToVector2dConverter))]
+		public Vector2d Location { get; set; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Waypoint.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Waypoint.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c6b395dcdb8bd1cca5b1227362d1d775d3715421
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/Response/Waypoint.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 813ff4647909949fdbd67f232221cab3
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/RoutingProfile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/RoutingProfile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e9280bc71224602ae68c55521e320dd384753d57
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/RoutingProfile.cs
@@ -0,0 +1,38 @@
+//-----------------------------------------------------------------------
+// <copyright file="RoutingProfile.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Directions
+{
+	/// <summary>
+	///     Routing profile, affects how the route is calculated, prioritizing routes that fit
+	///     the profile the best.
+	/// </summary>
+	public sealed class RoutingProfile
+	{
+		/// <summary> The driving profile. </summary>
+		public static readonly RoutingProfile Driving = new RoutingProfile("mapbox/driving/");
+
+		/// <summary> The walking profile. </summary>
+		public static readonly RoutingProfile Walking = new RoutingProfile("mapbox/walking/");
+
+		/// <summary> The cycling profile. </summary>
+		public static readonly RoutingProfile Cycling = new RoutingProfile("mapbox/cycling/");
+
+		private readonly string profile;
+
+		private RoutingProfile(string profile)
+		{
+			this.profile = profile;
+		}
+
+		/// <summary> Converts the profile to a URL snippet. </summary>
+		/// <returns> A string to be appened to the direction query URL. </returns>
+		public override string ToString()
+		{
+			return this.profile;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/RoutingProfile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/RoutingProfile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..76ea7ba86d54171c2e10ffc2840a732a02d3e857
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Directions/RoutingProfile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 02efec76b920540358fd490e1c105268
+timeCreated: 1491243033
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding.meta
new file mode 100644
index 0000000000000000000000000000000000000000..54d218ad1e24fa753973a070d60216b93f2934f9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d1dc4d11759e044eabaa4d5496a96275
+folderAsset: yes
+timeCreated: 1491243031
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ForwardGeocodeResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ForwardGeocodeResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..300425c28311a09a284945cd6af17907f14361c7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ForwardGeocodeResource.cs
@@ -0,0 +1,206 @@
+//-----------------------------------------------------------------------
+// <copyright file="ForwardGeocodeResource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Geocoding
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Utils;
+	using UnityEngine;
+
+	/// <summary> A forward geocode request. </summary>
+	public sealed class ForwardGeocodeResource : GeocodeResource<string>
+	{
+		/// <summary>
+		///     ISO 3166-1 alpha-2 country codes.
+		///     See <see href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">for all options</see>.
+		/// </summary>
+		private static readonly List<string> CountryCodes = new List<string>()
+		{
+			"ad", "ae", "af", "ag", "ai", "al", "am", "ao", "aq", "ar", "as", "at", "au", "aw", "ax", "az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi", "bj", "bl", "bm", "bn", "bo", "bq", "br", "bs", "bt", "bv", "bw", "by", "bz", "ca", "cc", "cd", "cf", "cg", "ch", "ci", "ck", "cl", "cm", "cn", "co", "cr", "cu", "cv", "cw", "cx", "cy", "cz", "de", "dj", "dk", "dm", "do", "dz", "ec", "ee", "eg", "eh", "er", "es", "et", "fi", "fj", "fk", "fm", "fo", "fr", "ga", "gb", "gd", "ge", "gf", "gg", "gh", "gi", "gl", "gm", "gn", "gp", "gq", "gr", "gs", "gt", "gu", "gw", "gy", "hk", "hm", "hn", "hr", "ht", "hu", "id", "ie", "il", "im", "in", "io", "iq", "ir", "is", "it", "je", "jm", "jo", "jp", "ke", "kg", "kh", "ki", "km", "kn", "kp", "kr", "kw", "ky", "kz", "la", "lb", "lc", "li", "lk", "lr", "ls", "lt", "lu", "lv", "ly", "ma", "mc", "md", "me", "mf", "mg", "mh", "mk", "ml", "mm", "mn", "mo", "mp", "mq", "mr", "ms", "mt", "mu", "mv", "mw", "mx", "my", "mz", "na", "nc", "ne", "nf", "ng", "ni", "nl", "no", "np", "nr", "nu", "nz", "om", "pa", "pe", "pf", "pg", "ph", "pk", "pl", "pm", "pn", "pr", "ps", "pt", "pw", "py", "qa", "re", "ro", "rs", "ru", "rw", "sa", "sb", "sc", "sd", "se", "sg", "sh", "si", "sj", "sk", "sl", "sm", "sn", "so", "sr", "ss", "st", "sv", "sx", "sy", "sz", "tc", "td", "tf", "tg", "th", "tj", "tk", "tl", "tm", "tn", "to", "tr", "tt", "tv", "tw", "tz", "ua", "ug", "um", "us", "uy", "uz", "va", "vc", "ve", "vg", "vi", "vn", "vu", "wf", "ws", "ye", "yt", "za", "zm", "zw"
+		};
+
+		// Required
+		private string query;
+
+		// Optional
+		private bool? autocomplete;
+
+		// Optional
+		private string[] country;
+
+		// Optional
+		private Vector2d? proximity;
+
+		// Optional
+		private Vector2dBounds? bbox;
+
+		/// <summary> Initializes a new instance of the <see cref="ForwardGeocodeResource" /> class.</summary>
+		/// <param name="query"> Place name for forward geocoding. </param>
+		public ForwardGeocodeResource(string query)
+		{
+			this.Query = query;
+		}
+
+		/// <summary> Gets or sets the place name for forward geocoding. </summary>
+		public override string Query
+		{
+			get
+			{
+				return this.query;
+			}
+
+			set
+			{
+				this.query = value;
+			}
+		}
+
+		/// <summary> Gets or sets the autocomplete option. </summary>
+		public bool? Autocomplete
+		{
+			get
+			{
+				return this.autocomplete;
+			}
+
+			set
+			{
+				this.autocomplete = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the bounding box option. Bounding box is a rectangle within which to
+		///     limit results, given as <see cref="Bbox"/>.
+		/// </summary>
+		public Vector2dBounds? Bbox
+		{
+			get
+			{
+				return this.bbox;
+			}
+
+			set
+			{
+				this.bbox = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the country option. Country is an Array of ISO 3166 alpha 2 country codes.
+		///     For all possible values, <see cref="CountryCodes"/>.
+		/// </summary>
+		public string[] Country
+		{
+			get
+			{
+				return this.country;
+			}
+
+			set
+			{
+				if (value == null)
+				{
+					this.country = value;
+					return;
+				}
+
+				for (int i = 0; i < value.Length; i++)
+				{
+					// Validate that provided countries exist
+					if (!CountryCodes.Contains(value[i]))
+					{
+						throw new Exception("Invalid country shortcode. See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.");
+					}
+				}
+
+				this.country = value;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the proximity option, which is a location around which to bias results,
+		///     given as <see cref="Vector2d"/>.
+		/// </summary>
+		public Vector2d? Proximity
+		{
+			get
+			{
+				return this.proximity;
+			}
+
+			set
+			{
+				this.proximity = value;
+			}
+		}
+
+		/// <summary> Builds a forward geocode URL string. </summary>
+		/// <returns> A complete, valid forward geocode URL. </returns>
+		public override string GetUrl()
+		{
+			Dictionary<string, string> opts = new Dictionary<string, string>();
+
+			if (this.Autocomplete != null)
+			{
+				opts.Add("autocomplete", this.Autocomplete.ToString().ToLower());
+			}
+
+			if (this.Bbox != null)
+			{
+				var nonNullableBbox = (Vector2dBounds)this.Bbox;
+				opts.Add("bbox", nonNullableBbox.ToString());
+			}
+
+			if (this.Country != null)
+			{
+				opts.Add("country", ForwardGeocodeResource.GetUrlQueryFromArray<string>(this.Country));
+			}
+
+			if (this.Proximity != null)
+			{
+				var nonNullableProx = (Vector2d)this.Proximity;
+				opts.Add("proximity", nonNullableProx.ToString());
+			}
+
+			if (this.Types != null)
+			{
+				opts.Add("types", GetUrlQueryFromArray(this.Types));
+			}
+
+			// !!!!!!!!!! HACK !!!!!!!
+			// we are seeing super weird behaviour on some iOS devices:
+			// crashes with properly escaped whitespaces %20 and commas %2C - and other special characters
+			// 'NSAllowsArbitraryLoads' and 'NSURLConnection finished with error - code - 1002'
+			// Use 'CFNETWORK_DIAGNOSTICS=1' in XCode to get more details https://stackoverflow.com/a/46748461
+
+			// trying to get rid of at least the most common characters - other will still crash
+#if UNITY_IOS
+			Query = Query
+				.Replace(",", " ")
+				.Replace(".", " ")
+				.Replace("-", " ");
+#endif
+
+			return
+				Constants.BaseAPI +
+				ApiEndpoint +
+				Mode +
+#if UNITY_IOS
+#if UNITY_2017_1_OR_NEWER
+				UnityEngine.Networking.UnityWebRequest.EscapeURL(Query) +
+#else
+				WWW.EscapeURL(Query) +
+#endif
+#else
+				Uri.EscapeDataString(Query) +
+#endif
+				".json" +
+				EncodeQueryString(opts);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ForwardGeocodeResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ForwardGeocodeResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..527f7c62d363b763818d64be3d401075af3fb36a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ForwardGeocodeResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 33cb5b2bc4f6f4397a21fdd87dfa0048
+timeCreated: 1493833265
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/GeocodeResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/GeocodeResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d800aaf93c7ea8f07c4237d3ef95f61ed45c4eb5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/GeocodeResource.cs
@@ -0,0 +1,73 @@
+//-----------------------------------------------------------------------
+// <copyright file="GeocodeResource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Geocoding
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Platform;
+
+	/// <summary> Base geocode class. </summary>
+	/// <typeparam name="T"> Type of Query field (either string or LatLng). </typeparam>
+	public abstract class GeocodeResource<T> : Resource
+	{
+		/// <summary> A List of all possible geocoding feature types. </summary>
+		public static readonly List<string> FeatureTypes = new List<string>
+		{
+			"country", "region", "postcode", "place", "locality", "neighborhood", "address", "poi"
+		};
+
+		private readonly string apiEndpoint = "geocoding/v5/";
+
+		private readonly string mode = "mapbox.places/";
+
+		// Optional
+		private string[] types;
+
+		/// <summary> Gets or sets the query. </summary>
+		public abstract T Query { get; set; }
+
+		/// <summary> Gets the API endpoint as a partial URL path. </summary>
+		public override string ApiEndpoint {
+			get {
+				return this.apiEndpoint;
+			}
+		}
+
+		/// <summary> Gets the mode. </summary>
+		public string Mode {
+			get {
+				return this.mode;
+			}
+		}
+
+		/// <summary> Gets or sets which feature types to return results for. </summary>
+		public string[] Types {
+			get {
+				return this.types;
+			}
+
+			set {
+				if (value == null)
+				{
+					this.types = value;
+					return;
+				}
+
+				for (int i = 0; i < value.Length; i++)
+				{
+					// Validate provided types
+					if (!FeatureTypes.Contains(value[i]))
+					{
+						throw new Exception("Invalid type. Must be \"country\", \"region\", \"postcode\",  \"place\",  \"locality\",  \"neighborhood\",  \"address\", or  \"poi\".");
+					}
+				}
+
+				this.types = value;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/GeocodeResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/GeocodeResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f735cd3cfbf7153b5b6db6c345df56c97fd79af4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/GeocodeResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: aba88323b8d91474fb3b991eb0bd9349
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Geocoder.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Geocoder.cs
new file mode 100644
index 0000000000000000000000000000000000000000..893d4784819f5354df8fa028ba3d067de3eed472
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Geocoder.cs
@@ -0,0 +1,87 @@
+//-----------------------------------------------------------------------
+// <copyright file="Geocoder.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Geocoding
+{
+	using System;
+	using System.Text;
+	using Mapbox.Json;
+	using Mapbox.Platform;
+	using Mapbox.Utils.JsonConverters;
+
+	/// <summary>
+	///     Wrapper around the <see href="https://www.mapbox.com/api-documentation/search/#geocoding">
+	///     Mapbox Geocoding API</see>. The Geocoder does two things: geocoding and reverse geocoding.
+	/// </summary>
+	public sealed class Geocoder
+	{
+		private readonly IFileSource fileSource;
+
+		/// <summary> Initializes a new instance of the <see cref="Geocoder" /> class. </summary>
+		/// <param name="fileSource"> Network access abstraction. </param>
+		public Geocoder(IFileSource fileSource)
+		{
+			this.fileSource = fileSource;
+		}
+
+		/// <summary> Performs asynchronously a geocoding lookup. </summary>
+		/// <param name="geocode"> Geocode resource. </param>
+		/// <param name="callback"> Callback to be called after the request is completed. </param>
+		/// <typeparam name="T"> String or LngLat. Should be automatically inferred. </typeparam>
+		/// <returns>
+		///     Returns a <see cref="IAsyncRequest" /> that can be used for canceling a pending
+		///     request. This handle can be completely ignored if there is no intention of ever
+		///     canceling the request.
+		/// </returns>
+		public IAsyncRequest Geocode<T>(GeocodeResource<T> geocode, Action<ReverseGeocodeResponse> callback)
+		{
+			return this.fileSource.Request(
+				geocode.GetUrl(),
+				(Response response) =>
+				{
+					var str = Encoding.UTF8.GetString(response.Data);
+
+					var data = Deserialize<ReverseGeocodeResponse>(str);
+
+					callback(data);
+				});
+		}
+
+		/// <summary> Performs asynchronously a geocoding lookup. </summary>
+		/// <param name="geocode"> Geocode resource. </param>
+		/// <param name="callback"> Callback to be called after the request is completed. </param>
+		/// <typeparam name="T"> String or LngLat. Should be automatically inferred. </typeparam>
+		/// <returns>
+		///     Returns a <see cref="IAsyncRequest" /> that can be used for canceling a pending
+		///     request. This handle can be completely ignored if there is no intention of ever
+		///     canceling the request.
+		/// </returns>
+		public IAsyncRequest Geocode<T>(GeocodeResource<T> geocode, Action<ForwardGeocodeResponse> callback)
+		{
+			return this.fileSource.Request(
+				geocode.GetUrl(),
+				(Response response) =>
+				{
+					var str = Encoding.UTF8.GetString(response.Data);
+
+					var data = Deserialize<ForwardGeocodeResponse>(str);
+
+					callback(data);
+				});
+		}
+
+		/// <summary>
+		/// Deserialize the geocode response string into a <see cref="GeocodeResponse"/>.
+		/// </summary>
+		/// <param name="str">JSON String.</param>
+		/// <returns>A <see cref="GeocodeResponse"/>.</returns>
+		/// <typeparam name="T">Forward or reverse geocode. </typeparam>
+		public T Deserialize<T>(string str)
+		{
+			return JsonConvert.DeserializeObject<T>(str, JsonConverters.Converters);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Geocoder.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Geocoder.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6c6b64c0e23fcac46d38613fe556fe45690eef32
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Geocoder.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d304b174589dd496993060116409b23c
+timeCreated: 1491336250
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d9c5e71c058eb614f458a07c3bb1dd8e5b16ed8d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5ef566ef707b848c4bac9b1f13fccf17
+folderAsset: yes
+timeCreated: 1491243031
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Feature.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Feature.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c215539d2b3624f99c1123377d4e9ce19d5397d1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Feature.cs
@@ -0,0 +1,96 @@
+//-----------------------------------------------------------------------
+// <copyright file="Feature.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Geocoding {
+    using System;
+    using System.Collections.Generic;
+    using Mapbox.Json;
+    using Mapbox.Utils;
+    using Mapbox.Utils.JsonConverters;
+
+    /// <summary> A GeoJSON FeatureCollection of points returned by geocoding API.</summary>
+#if !WINDOWS_UWP
+    //http://stackoverflow.com/a/12903628
+    [Serializable]
+#endif
+	public class Feature {
+		/// <summary> Gets or sets the id. Ids are unique in the Mapbox geocoder. </summary>
+		/// <value>The id.</value>
+		[JsonProperty("id")]
+		public string Id { get; set; }
+
+		/// <summary> 
+		///     Gets or sets feature type. One of country,  region,  postcode,  place,  locality, neighborhood,  address,  poi.
+		/// </summary>
+		/// <value>The type.</value>
+		[JsonProperty("type")]
+		public string Type { get; set; }
+
+		/// <summary>
+		/// Gets or sets the text.
+		/// </summary>
+		/// <value>The text.</value>
+		[JsonProperty("text")]
+		public string Text { get; set; }
+
+		/// <summary>
+		/// Gets or sets the name of the place.
+		/// </summary>
+		/// <value>The name of the place.</value>
+		[JsonProperty("place_name")]
+		public string PlaceName { get; set; }
+
+		/// <summary>
+		/// Gets or sets the relevance.
+		/// </summary>
+		/// <value>The relevance.</value>
+		[JsonProperty("relevance")]
+		public double Relevance { get; set; }
+
+		/// <summary>
+		/// Gets or sets the properties.
+		/// </summary>
+		/// <value>The properties.</value>
+		[JsonProperty("properties")]
+		public Dictionary<string, object> Properties { get; set; }
+
+		/// <summary>
+		/// Gets or sets the bbox.
+		/// </summary>
+		/// <value>The bbox.</value>
+		[JsonProperty("bbox", NullValueHandling = NullValueHandling.Ignore)]
+		[JsonConverter(typeof(BboxToVector2dBoundsConverter))]
+		public Vector2dBounds? Bbox { get; set; }
+
+		/// <summary>
+		/// Gets or sets the center.
+		/// </summary>
+		/// <value>The center.</value>
+		[JsonProperty("center")]
+		[JsonConverter(typeof(LonLatToVector2dConverter))]
+		public Vector2d Center { get; set; }
+
+		/// <summary>
+		/// Gets or sets the geometry.
+		/// </summary>
+		/// <value>The geometry.</value>
+		[JsonProperty("geometry")]
+		public Geometry Geometry { get; set; }
+
+		/// <summary>
+		/// Gets or sets the address.
+		/// </summary>
+		[JsonProperty("address", NullValueHandling = NullValueHandling.Ignore)]
+		public string Address { get; set; }
+
+		/// <summary>
+		/// Gets or sets the context.
+		/// </summary>
+		/// <value>The context.</value>
+		[JsonProperty("context", NullValueHandling = NullValueHandling.Ignore)]
+		public List<Dictionary<string, string>> Context { get; set; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Feature.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Feature.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2c3e1f2b6c7e877db2579caeb54de26d1c395dd9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Feature.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f0645486f47864cd390751dd94d0302f
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/GeocodeResponse.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/GeocodeResponse.cs
new file mode 100644
index 0000000000000000000000000000000000000000..10a7402355bf5e829a6a77f73cf1d0adc6bff7e9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/GeocodeResponse.cs
@@ -0,0 +1,71 @@
+//-----------------------------------------------------------------------
+// <copyright file="GeocodeResponse.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Geocoding {
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Json;
+
+	/// <summary> Base geocode response. </summary>
+#if !WINDOWS_UWP
+	//http://stackoverflow.com/a/12903628
+	[Serializable]
+#endif
+	public abstract class GeocodeResponse {
+		/// <summary>
+		/// Gets or sets the type.
+		/// </summary>
+		/// <value>The type.</value>
+		[JsonProperty("type", Order = 0)]
+		public string Type { get; set; }
+
+		/// <summary>
+		/// Gets or sets the features.
+		/// </summary>
+		/// <value>The features.</value>
+		[JsonProperty("features", Order = 2)]
+		public List<Feature> Features { get; set; }
+
+		/// <summary>
+		/// Gets or sets the attribution.
+		/// </summary>
+		/// <value>The attribution.</value>
+		[JsonProperty("attribution", Order = 3)]
+		public string Attribution { get; set; }
+	}
+
+	/// <summary>
+	/// Reverse Geocode response.
+	/// </summary>
+#if !WINDOWS_UWP
+	//http://stackoverflow.com/a/12903628
+	[Serializable]
+#endif
+	public class ReverseGeocodeResponse : GeocodeResponse {
+		/// <summary>
+		/// Gets or sets the query.
+		/// </summary>
+		/// <value>The query.</value>
+		[JsonProperty("query", Order = 1)]
+		public List<double> Query { get; set; }
+	}
+
+	/// <summary>
+	/// Forward geocode response.
+	/// </summary>
+#if !WINDOWS_UWP
+	//http://stackoverflow.com/a/12903628
+	[Serializable]
+#endif
+	public class ForwardGeocodeResponse : GeocodeResponse {
+		/// <summary>
+		/// Gets or sets the query.
+		/// </summary>
+		/// <value>The query.</value>
+		[JsonProperty("query", Order = 1)]
+		public List<string> Query { get; set; }
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/GeocodeResponse.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/GeocodeResponse.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..05bcd4952151ed1535ce089559f42da150798c00
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/GeocodeResponse.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f1cccf508c40144308be9518f5085a69
+timeCreated: 1491243035
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Geometry.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Geometry.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a22397eae85de84f816223eb4a27a9ac8d83a761
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Geometry.cs
@@ -0,0 +1,34 @@
+//-----------------------------------------------------------------------
+// <copyright file="Geometry.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Geocoding {
+    using System;
+    using Mapbox.Json;
+    using Mapbox.Utils;
+    using Mapbox.Utils.JsonConverters;
+
+    /// <summary> Point geometry representing location of geocode result. </summary>
+#if !WINDOWS_UWP
+    //http://stackoverflow.com/a/12903628
+    [Serializable]
+#endif
+	public class Geometry {
+		/// <summary>
+		///     Gets or sets type. Geocode results will always be type: point.
+		/// </summary>
+		/// <value>The GeoJSON geometry type.</value>
+		[JsonProperty("type")]
+		public string Type { get; set; }
+
+		/// <summary>
+		///     Gets or sets coordinates. Because they are points, Geocode results will always be  a single Geocoordinate.
+		/// </summary>
+		/// <value>The coordinates.</value>
+		[JsonConverter(typeof(LonLatToVector2dConverter))]
+		[JsonProperty("coordinates")]
+		public Vector2d Coordinates { get; set; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Geometry.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Geometry.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..158cea7fb1ca18ca2690caaf81683e2267eaf5fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/Response/Geometry.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b599e78a14b3d42c8822cec5d5775397
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ReverseGeocodeResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ReverseGeocodeResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8d60464f1c4ac91f3e7acba3da1b6b757e578ad6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ReverseGeocodeResource.cs
@@ -0,0 +1,55 @@
+//-----------------------------------------------------------------------
+// <copyright file="ReverseGeocodeResource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Geocoding
+{
+    using System.Collections.Generic;
+    using Mapbox.Utils;
+
+    /// <summary> A reverse geocode request. </summary>
+    public sealed class ReverseGeocodeResource : GeocodeResource<Vector2d>
+	{
+		// Required
+		private Vector2d query;
+
+		/// <summary> Initializes a new instance of the <see cref="ReverseGeocodeResource" /> class.</summary>
+		/// <param name="query"> Location to reverse geocode. </param>
+		public ReverseGeocodeResource(Vector2d query)
+		{
+			this.Query = query;
+		}
+
+		/// <summary> Gets or sets the location. </summary>
+		public override Vector2d Query {
+			get {
+				return this.query;
+			}
+
+			set {
+				this.query = value;
+			}
+		}
+
+		/// <summary> Builds a complete reverse geocode URL string. </summary>
+		/// <returns> A complete, valid reverse geocode URL string. </returns>
+		public override string GetUrl()
+		{
+			Dictionary<string, string> opts = new Dictionary<string, string>();
+
+			if (this.Types != null)
+			{
+				opts.Add("types", GetUrlQueryFromArray(this.Types));
+			}
+
+			return Constants.BaseAPI +
+							this.ApiEndpoint +
+							this.Mode +
+							this.Query.ToString() +
+							".json" +
+							EncodeQueryString(opts);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ReverseGeocodeResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ReverseGeocodeResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e77ee515ddaec4dddc523e468d841dda9f82e6e6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Geocoding/ReverseGeocodeResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 23c6d0bd3662648d3859495c35635b64
+timeCreated: 1493833265
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5043e9f559b75091702bde267bfadc75e719383d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 67003c49d480847189c0d8e81c14da83
+folderAsset: yes
+timeCreated: 1491243031
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/CanonicalTileId.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/CanonicalTileId.cs
new file mode 100644
index 0000000000000000000000000000000000000000..20f1f25902807ec831d8c5fee7c30ed969b810be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/CanonicalTileId.cs
@@ -0,0 +1,117 @@
+//-----------------------------------------------------------------------
+// <copyright file="CanonicalTileId.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	using System;
+	using Mapbox.Utils;
+
+	/// <summary>
+	/// Data type to store  <see href="https://en.wikipedia.org/wiki/Web_Mercator"> Web Mercator</see> tile scheme.
+	/// <see href="http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/"> See tile IDs in action. </see>
+	/// </summary>
+	public struct CanonicalTileId : IEquatable<CanonicalTileId>
+	{
+		/// <summary> The zoom level. </summary>
+		public readonly int Z;
+
+		/// <summary> The X coordinate in the tile grid. </summary>
+		public readonly int X;
+
+		/// <summary> The Y coordinate in the tile grid. </summary>
+		public readonly int Y;
+
+		/// <summary>
+		///     Initializes a new instance of the <see cref="CanonicalTileId"/> struct,
+		///     representing a tile coordinate in a slippy map.
+		/// </summary>
+		/// <param name="z"> The z coordinate or the zoom level. </param>
+		/// <param name="x"> The x coordinate. </param>
+		/// <param name="y"> The y coordinate. </param>
+		public CanonicalTileId(int z, int x, int y)
+		{
+			this.Z = z;
+			this.X = x;
+			this.Y = y;
+		}
+
+		internal CanonicalTileId(UnwrappedTileId unwrapped)
+		{
+			var z = unwrapped.Z;
+			var x = unwrapped.X;
+			var y = unwrapped.Y;
+
+			var wrap = (x < 0 ? x - (1 << z) + 1 : x) / (1 << z);
+
+			this.Z = z;
+			this.X = x - wrap * (1 << z);
+			this.Y = y < 0 ? 0 : Math.Min(y, (1 << z) - 1);
+		}
+
+		/// <summary>
+		///     Get the cordinate at the top left of corner of the tile.
+		/// </summary>
+		/// <returns> The coordinate. </returns>
+		public Vector2d ToVector2d()
+		{
+			double n = Math.PI - ((2.0 * Math.PI * this.Y) / Math.Pow(2.0, this.Z));
+
+			double lat = 180.0 / Math.PI * Math.Atan(Math.Sinh(n));
+			double lng = (this.X / Math.Pow(2.0, this.Z) * 360.0) - 180.0;
+
+			// FIXME: Super hack because of rounding issues.
+			return new Vector2d(lat - 0.0001, lng + 0.0001);
+		}
+
+		/// <summary>
+		///     Returns a <see cref="T:System.String"/> that represents the current
+		///     <see cref="T:Mapbox.Map.CanonicalTileId"/>.
+		/// </summary>
+		/// <returns>
+		///     A <see cref="T:System.String"/> that represents the current
+		///     <see cref="T:Mapbox.Map.CanonicalTileId"/>.
+		/// </returns>
+		public override string ToString()
+		{
+			return this.Z + "/" + this.X + "/" + this.Y;
+		}
+
+		#region Equality 
+		public bool Equals(CanonicalTileId other)
+		{
+			return this.X == other.X && this.Y == other.Y && this.Z == other.Z;
+		}
+		
+		public override int GetHashCode()
+		{
+			return X ^ Y ^ Z;
+		}
+
+		public static bool operator ==(CanonicalTileId a, CanonicalTileId b)
+		{
+			return a.X == b.X && a.Y == b.Y && a.Z == b.Z;
+		}
+
+		public static bool operator !=(CanonicalTileId a, CanonicalTileId b)
+		{
+			return !(a == b);
+		}
+
+		public override bool Equals(object obj)
+		{
+			if (obj is CanonicalTileId)
+			{
+				return this.Equals((CanonicalTileId)obj);
+			}
+			else
+			{
+				return false;
+			}
+		}
+
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/CanonicalTileId.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/CanonicalTileId.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8b00bd220ede54cc7c321e55dfaadc1a435c39ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/CanonicalTileId.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b032ac6adcdd94a899ef544e06b9e828
+timeCreated: 1493952209
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRasterTile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRasterTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ffdf3357747aa5443e7909cbd42d3875d787bd36
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRasterTile.cs
@@ -0,0 +1,22 @@
+//-----------------------------------------------------------------------
+// <copyright file="ClassicRasterTile.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	/// <summary>
+	///    A raster tile from the Mapbox Map API, a encoded image representing a geographic
+	///    bounding box. Usually JPEG or PNG encoded.
+	/// See <see cref="T:Mapbox.Map.RasterTile"/> for usage.
+    /// Read more about <see href="https://www.mapbox.com/api-documentation/legacy/static-classic/"> static classic maps </see>.
+	/// </summary>
+	public class ClassicRasterTile : RasterTile
+	{
+		internal override TileResource MakeTileResource(string tilesetId)
+		{
+			return TileResource.MakeClassicRaster(Id, tilesetId);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRasterTile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRasterTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c721171fb466057503e21061e571949c3ca1e685
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRasterTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 26ff02ff702b3417b9d4514af452c64f
+timeCreated: 1494603018
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRetinaRasterTile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRetinaRasterTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..945ca4e0f5d8b7ac9ee40ec563eb571d7a2aa4f7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRetinaRasterTile.cs
@@ -0,0 +1,22 @@
+//-----------------------------------------------------------------------
+// <copyright file="ClassicRetinaRasterTile.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	/// <summary>
+	///    A retina-resolution raster tile from the Mapbox Map API, a encoded image representing a geographic
+	///    bounding box. Usually JPEG or PNG encoded.
+	/// Like <see cref="T:Mapbox.Map.ClassicRasterTile"/>, but higher resolution.
+    /// See <see href="https://www.mapbox.com/api-documentation/#high-dpi-images"> retina documentation </see>.
+	/// </summary>
+    public class ClassicRetinaRasterTile : ClassicRasterTile
+	{
+		internal override TileResource MakeTileResource(string tilesetId)
+		{
+			return TileResource.MakeClassicRetinaRaster(Id, tilesetId);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRetinaRasterTile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRetinaRasterTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1969c5220d58a40e8fd0422c7242d213ccfeba0d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/ClassicRetinaRasterTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 83237273afa4e4a8a9a0600d8c694e38
+timeCreated: 1494603018
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Map.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Map.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dbed73cb09b53acf4ac0070dcd9e048d96ed360b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Map.cs
@@ -0,0 +1,236 @@
+//-----------------------------------------------------------------------
+// <copyright file="Map.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Platform;
+	using Mapbox.Utils;
+
+	/// <summary>
+	///     The Mapbox Map abstraction will take care of fetching and decoding
+	///     data for a geographic bounding box at a certain zoom level.
+	/// </summary>
+	/// <typeparam name="T">
+	///     The tile type, currently <see cref="T:Mapbox.Map.Vector"/> or
+	///     <see cref="T:Mapbox.Map.Raster"/>.
+	/// </typeparam>
+	/// <example>
+	/// Request a map of the whole world:
+	/// <code>
+	/// var map = new Map&lt;RasterTile&gt;(MapboxAccess.Instance);
+	/// map.Zoom = 2
+	/// map.Vector2dBounds = Vector2dBounds.World();
+	/// map.TilesetId = "mapbox://styles/mapbox/streets-v10
+	///
+	/// // Register for tile updates.
+	/// map.Subscribe(this);
+	///
+	/// // Trigger the request.
+	/// map.Update();
+	/// </code>
+	/// </example>
+	public sealed class Map<T> : Mapbox.Utils.IObservable<T> where T : Tile, new()
+	{
+		/// <summary>
+		///     Arbitrary limit of tiles this class will handle simultaneously.
+		/// </summary>
+		public const int TileMax = 256;
+
+		private readonly IFileSource fs;
+		private Vector2dBounds latLngBounds;
+		private int zoom;
+		private string tilesetId;
+
+		private HashSet<T> tiles = new HashSet<T>();
+		private List<Mapbox.Utils.IObserver<T>> observers = new List<Mapbox.Utils.IObserver<T>>();
+
+		/// <summary>
+		///     Initializes a new instance of the <see cref="T:Mapbox.Map.Map`1"/> class.
+		/// </summary>
+		/// <param name="fs"> The data source abstraction. </param>
+		public Map(IFileSource fs)
+		{
+			this.fs = fs;
+			this.latLngBounds = new Vector2dBounds();
+			this.zoom = 0;
+		}
+
+		/// <summary>
+		///     Gets or sets the tileset ID. If not set, it will use the default
+		///     tileset ID for the tile type. I.e. "mapbox.satellite" for raster tiles
+		///     and "mapbox.mapbox-streets-v7" for vector tiles.
+		/// </summary>
+		/// <value>
+		///     The tileset ID, usually in the format "user.mapid". Exceptionally,
+		///     <see cref="T:Mapbox.Map.RasterTile"/> will take the full style URL
+		///     from where the tile is composited from, like "mapbox://styles/mapbox/streets-v9".
+		/// </value>
+		public string TilesetId
+		{
+			get
+			{
+				return this.tilesetId;
+			}
+
+			set
+			{
+				if (this.tilesetId == value)
+				{
+					return;
+				}
+
+				this.tilesetId = value;
+
+				foreach (Tile tile in this.tiles)
+				{
+					tile.Cancel();
+				}
+
+				this.tiles.Clear();
+			}
+		}
+
+		/// <summary>
+		///     Gets the tiles, vector or raster. Tiles might be
+		///     in a incomplete state.
+		/// </summary>
+		/// <value> The tiles. </value>
+		public HashSet<T> Tiles
+		{
+			get
+			{
+				return this.tiles;
+			}
+		}
+
+		/// <summary>Gets or sets a geographic bounding box.</summary>
+		/// <value>New geographic bounding box.</value>
+		public Vector2dBounds Vector2dBounds
+		{
+			get
+			{
+				return this.latLngBounds;
+			}
+
+			set
+			{
+				this.latLngBounds = value;
+			}
+		}
+
+		/// <summary>Gets or sets the central coordinate of the map.</summary>
+		/// <value>The central coordinate.</value>
+		public Vector2d Center
+		{
+			get
+			{
+				return this.latLngBounds.Center;
+			}
+
+			set
+			{
+				this.latLngBounds.Center = value;
+			}
+		}
+
+		/// <summary>Gets or sets the map zoom level.</summary>
+		/// <value>The new zoom level.</value>
+		public int Zoom
+		{
+			get
+			{
+				return this.zoom;
+			}
+
+			set
+			{
+				this.zoom = Math.Max(0, Math.Min(20, value));
+			}
+		}
+
+		/// <summary>
+		///     Sets the coordinates bounds and zoom at once.
+		/// </summary>
+		/// <param name="bounds"> Coordinates bounds. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		public void SetVector2dBoundsZoom(Vector2dBounds bounds, int zoom)
+		{
+			this.latLngBounds = bounds;
+			this.zoom = zoom;
+		}
+
+		/// <summary> Add an <see cref="T:IObserver" /> to the observer list. </summary>
+		/// <param name="observer"> The object subscribing to events. </param>
+		public void Subscribe(Mapbox.Utils.IObserver<T> observer)
+		{
+			this.observers.Add(observer);
+		}
+
+		/// <summary> Remove an <see cref="T:IObserver" /> to the observer list. </summary>
+		/// <param name="observer"> The object unsubscribing to events. </param>
+		public void Unsubscribe(Mapbox.Utils.IObserver<T> observer)
+		{
+			this.observers.Remove(observer);
+		}
+
+		private void NotifyNext(T next)
+		{
+			var copy = new List<Mapbox.Utils.IObserver<T>>(this.observers);
+
+			foreach (Mapbox.Utils.IObserver<T> observer in copy)
+			{
+				observer.OnNext(next);
+			}
+		}
+
+		/// <summary>
+		/// Request tiles after changing map properties.
+		/// </summary>
+		public void Update()
+		{
+			var cover = TileCover.Get(this.latLngBounds, this.zoom);
+
+			if (cover.Count > TileMax)
+			{
+				return;
+			}
+
+			// Do not request tiles that we are already requesting
+			// but at the same time exclude the ones we don't need
+			// anymore, cancelling the network request.
+			this.tiles.RemoveWhere((T tile) =>
+				{
+					if (cover.Remove(tile.Id))
+					{
+						return false;
+					}
+					else
+					{
+						tile.Cancel();
+						this.NotifyNext(tile);
+
+						return true;
+					}
+				});
+
+			foreach (CanonicalTileId id in cover)
+			{
+				var tile = new T();
+
+				Tile.Parameters param;
+				param.Id = id;
+				param.TilesetId = this.tilesetId;
+				param.Fs = this.fs;
+
+				tile.Initialize(param, () => { this.NotifyNext(tile); });
+
+				this.tiles.Add(tile);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Map.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Map.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..44379ba019e96346337e43219cfdfcaad3b3919f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Map.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 24bb3ef727dad4e1385a77beef324ff0
+timeCreated: 1494441866
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/MapUtils.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/MapUtils.cs
new file mode 100644
index 0000000000000000000000000000000000000000..cdfb48d7a9f65565f77d412da8502941c2a26d18
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/MapUtils.cs
@@ -0,0 +1,58 @@
+//-----------------------------------------------------------------------
+// <copyright file="MapUtils.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+    using System;
+    using Mapbox.Utils;
+
+    /// <summary>
+    /// Utilities for working with Map APIs.
+    /// </summary>
+    public static class MapUtils
+	{
+		/// <summary>
+		/// Normalizes a static style URL.
+		/// </summary>
+		/// <returns>The static style URL.</returns>
+		/// <param name="url">A url, either a Mapbox URI (mapbox://{username}/{styleid}) or a full url to a map.</param>
+		public static string NormalizeStaticStyleURL(string url)
+		{
+			bool isMapboxUrl = url.StartsWith("mapbox://", StringComparison.Ordinal);
+
+			// Support full Mapbox URLs by returning here if a mapbox URL is not detected.
+			if (!isMapboxUrl)
+			{
+				return url;
+			}
+
+			string[] split = url.Split('/');
+			var user = split[3];
+			var style = split[4];
+			var draft = string.Empty;
+
+			if (split.Length > 5)
+			{
+				draft = "/draft";
+			}
+
+			return Constants.BaseAPI + "styles/v1/" + user + "/" + style + draft + "/tiles";
+		}
+
+		/// <summary>
+		/// Converts a TilesetId to a URL.
+		/// </summary>
+		/// <returns>The identifier to URL.</returns>
+		/// <param name="id">The style id.</param>
+		public static string TilesetIdToUrl(string id)
+		{
+			// TODO: Validate that id is a real id
+			const string MapBaseApi = Constants.BaseAPI + "v4/";
+
+			return MapBaseApi + id;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/MapUtils.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/MapUtils.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7a22493054cae36d7cf2ecda5aab048bdfa6a2e6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/MapUtils.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a237cc1b965e34670a7c74ecf2bdbee3
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RasterTile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RasterTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..cc983988297eae6612735bd359914bf36aa45bad
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RasterTile.cs
@@ -0,0 +1,69 @@
+//-----------------------------------------------------------------------
+// <copyright file="RasterTile.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	/// <summary>
+	/// A raster tile from the Mapbox Style API, an encoded image representing a geographic
+	/// bounding box. Usually JPEG or PNG encoded.
+	/// </summary>
+	/// <example>
+	/// Making a RasterTile request:
+	/// <code>
+	/// var parameters = new Tile.Parameters();
+	/// parameters.Fs = MapboxAccess.Instance;
+	/// parameters.Id = new CanonicalTileId(_zoom, _tileCoorindateX, _tileCoordinateY);
+	/// parameters.TilesetId = "mapbox://styles/mapbox/satellite-v9";
+	/// var rasterTile = new RasterTile();
+	///
+	/// // Make the request.
+	/// rasterTile.Initialize(parameters, (Action)(() =>
+	/// {
+	/// 	if (!string.IsNullOrEmpty(rasterTile.Error))
+	/// 	{
+	///			// Handle the error.
+	///		}
+	///
+	/// 	// Consume the <see cref="Data"/>.
+	///	}));
+	/// </code>
+	/// </example>
+	public class RasterTile : Tile
+	{
+		private byte[] data;
+
+		/// <summary> Gets the raster tile raw data. </summary>
+		/// <value> The raw data, usually an encoded JPEG or PNG. </value>
+		/// <example>
+		/// Consuming data in Unity to create a Texture2D:
+		/// <code>
+		/// var texture = new Texture2D(0, 0);
+		/// texture.LoadImage(rasterTile.Data);
+		/// _sampleMaterial.mainTexture = texture;
+		/// </code>
+		/// </example>
+		public byte[] Data
+		{
+			get
+			{
+				return this.data;
+			}
+		}
+
+		internal override TileResource MakeTileResource(string tilesetId)
+		{
+			return TileResource.MakeRaster(Id, tilesetId);
+		}
+
+		internal override bool ParseTileData(byte[] data)
+		{
+			// We do not parse raster tiles as they are
+			this.data = data;
+
+			return true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RasterTile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RasterTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f543bd346ce5253910563cecb0c8d24352e77399
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RasterTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 01d65e8417e21498f88939119e4fe3ab
+timeCreated: 1493756686
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RawPngRasterTile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RawPngRasterTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b7e8bbe6dc19cef47a3bc4acb3772bac0203a022
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RawPngRasterTile.cs
@@ -0,0 +1,36 @@
+//-----------------------------------------------------------------------
+// <copyright file="RawPngRasterTile.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	/// <summary>
+	///    A raster tile containing an encoded RGBA PNG.
+	/// <see href="https://www.mapbox.com/blog/terrain-rgb/"> Read about global elevation data. </see>
+	/// </summary>
+	/// <example>
+	/// Print the real world height, in meters, for each pixel:
+	/// <code>
+	/// var texture = new Texture2D(0, 0);
+	/// texture.LoadImage(tile.Data);
+	/// for (int i = 0; i &lt; texture.width; i++)
+	/// {
+	///     for (int j = 0; j &lt; texture.height; j++)
+	///     {
+	///         var color = texture.GetPixel(i, j);
+	/// 		var height = Conversions.GetAbsoluteHeightFromColor(color);
+	/// 		Console.Write("Height: " + height);
+	///     }
+	/// }
+	/// </code>
+	/// </example>
+	public sealed class RawPngRasterTile : RasterTile
+	{
+		internal override TileResource MakeTileResource(string tilesetId)
+		{
+			return TileResource.MakeRawPngRaster(Id, tilesetId);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RawPngRasterTile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RawPngRasterTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c820bc5b59ada77da6bc83c9ce309de9f573341d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RawPngRasterTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ab4a5e34c15df42b3b4d5bf5c9b6b9b1
+timeCreated: 1493952209
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RetinaRasterTile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RetinaRasterTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e0ea43cd71706c308f03745c170e88becb43a0d3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RetinaRasterTile.cs
@@ -0,0 +1,22 @@
+//-----------------------------------------------------------------------
+// <copyright file="RetinaClassicRasterTile.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+    /// <summary>
+    /// A retin-resolution raster tile from the Mapbox Style API, an encoded image representing a geographic
+    /// bounding box. Usually JPEG or PNG encoded.
+    /// Like <see cref="T:Mapbox.Map.RasterTile"/>, but higher resolution.
+    /// See <see href="https://www.mapbox.com/api-documentation/#high-dpi-images"> retina documentation </see>.
+    /// </summary>
+    public class RetinaRasterTile : RasterTile
+    {
+        internal override TileResource MakeTileResource(string tilesetId)
+        {
+            return TileResource.MakeRetinaRaster(Id, tilesetId);
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RetinaRasterTile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RetinaRasterTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c16fe7fbdff6d7fae29e74362e1cae77360b71c8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/RetinaRasterTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9cd3514d26c4b4c7685f804af02d388b
+timeCreated: 1494603018
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Tile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Tile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fc697bcd43b56c3467dcbb3216b4b46b9b6c9650
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Tile.cs
@@ -0,0 +1,277 @@
+//-----------------------------------------------------------------------
+// <copyright file="Tile.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	using System;
+	using Mapbox.Platform;
+	using System.Linq;
+	using System.Collections.Generic;
+	using System.Collections.ObjectModel;
+	using Mapbox.Unity.Utilities;
+
+
+	/// <summary>
+	///    A Map tile, a square with vector or raster data representing a geographic
+	///    bounding box. More info <see href="https://en.wikipedia.org/wiki/Tiled_web_map">
+	///    here </see>.
+	/// </summary>
+	public abstract class Tile : IAsyncRequest
+	{
+
+
+		private CanonicalTileId _id;
+		private List<Exception> _exceptions;
+		private State _state = State.New;
+		private IAsyncRequest _request;
+		private Action _callback;
+
+		/// <summary> Tile state. </summary>
+		public enum State
+		{
+			/// <summary> New tile, not yet initialized. </summary>
+			New,
+			/// <summary> Loading data. </summary>
+			Loading,
+			/// <summary> Data loaded and parsed. </summary>
+			Loaded,
+			/// <summary> Data loading cancelled. </summary>
+			Canceled,
+			/// <summary> Data has been loaded before and got updated. </summary>
+			Updated
+		}
+
+		/// <summary> Gets the <see cref="T:Mapbox.Map.CanonicalTileId"/> identifier. </summary>
+		/// <value> The canonical tile identifier. </value>
+		public CanonicalTileId Id
+		{
+			get { return _id; }
+			set { _id = value; }
+		}
+
+
+		/// <summary>Flag to indicate if the request was successful</summary>
+		public bool HasError
+		{
+			get
+			{
+				return _exceptions == null ? false : _exceptions.Count > 0;
+			}
+		}
+
+
+		/// <summary> Exceptions that might have occured during creation of the tile. </summary>
+		public ReadOnlyCollection<Exception> Exceptions
+		{
+			get { return null == _exceptions ? null : _exceptions.AsReadOnly(); }
+		}
+
+
+		/// <summary> Messages of exceptions otherwise empty string. </summary>
+		public string ExceptionsAsString
+		{
+			get
+			{
+				if (null == _exceptions || _exceptions.Count == 0) { return string.Empty; }
+				return string.Join(Environment.NewLine, _exceptions.Select(e => e.Message).ToArray());
+			}
+		}
+
+
+		/// <summary>
+		/// Sets the error message.
+		/// </summary>
+		/// <param name="errorMessage"></param>
+		internal void AddException(Exception ex)
+		{
+			if (null == _exceptions) { _exceptions = new List<Exception>(); }
+			_exceptions.Add(ex);
+		}
+
+
+		/// <summary>
+		///     Gets the current state. When fully loaded, you must
+		///     check if the data actually arrived and if the tile
+		///     is accusing any error.
+		/// </summary>
+		/// <value> The tile state. </value>
+		public State CurrentState
+		{
+			get
+			{
+				return _state;
+			}
+		}
+
+
+		public HttpRequestType RequestType { get { return _request.RequestType; } }
+
+
+		public bool IsCompleted
+		{
+			get
+			{
+				return _state == State.Loaded;
+			}
+		}
+
+		/// <summary>
+		///     Initializes the <see cref="T:Mapbox.Map.Tile"/> object. It will
+		///     start a network request and fire the callback when completed.
+		/// </summary>
+		/// <param name="param"> Initialization parameters. </param>
+		/// <param name="callback"> The completion callback. </param>
+		public void Initialize(Parameters param, Action callback)
+		{
+			Cancel();
+
+			_state = State.Loading;
+			_id = param.Id;
+			_callback = callback;
+			_request = param.Fs.Request(MakeTileResource(param.TilesetId).GetUrl(), HandleTileResponse, tileId: _id, tilesetId: param.TilesetId);
+		}
+
+		internal void Initialize(IFileSource fileSource, CanonicalTileId canonicalTileId, string tilesetId, Action p)
+		{
+			Cancel();
+
+			_state = State.Loading;
+			_id = canonicalTileId;
+			_callback = p;
+			_request = fileSource.Request(MakeTileResource(tilesetId).GetUrl(), HandleTileResponse, tileId: _id, tilesetId: tilesetId);
+		}
+
+		/// <summary>
+		///     Returns a <see cref="T:System.String"/> that represents the current
+		///     <see cref="T:Mapbox.Map.Tile"/>.
+		/// </summary>
+		/// <returns>
+		///     A <see cref="T:System.String"/> that represents the current
+		///     <see cref="T:Mapbox.Map.Tile"/>.
+		/// </returns>
+		public override string ToString()
+		{
+			return Id.ToString();
+		}
+
+
+		/// <summary>
+		///     Cancels the request for the <see cref="T:Mapbox.Map.Tile"/> object.
+		///     It will stop a network request and set the tile's state to Canceled.
+		/// </summary>
+		/// <example>
+		/// <code>
+		/// // Do not request tiles that we are already requesting
+		///	// but at the same time exclude the ones we don't need
+		///	// anymore, cancelling the network request.
+		///	tiles.RemoveWhere((T tile) =>
+		///	{
+		///		if (cover.Remove(tile.Id))
+		///		{
+		///			return false;
+		///		}
+		///		else
+		///		{
+		///			tile.Cancel();
+		///			NotifyNext(tile);
+		///			return true;
+		/// 	}
+		///	});
+		/// </code>
+		/// </example>
+		public void Cancel()
+		{
+			if (_request != null)
+			{
+				_request.Cancel();
+				_request = null;
+			}
+
+			_state = State.Canceled;
+		}
+
+
+		// Get the tile resource (raster/vector/etc).
+		internal abstract TileResource MakeTileResource(string tilesetId);
+
+
+		// Decode the tile.
+		internal abstract bool ParseTileData(byte[] data);
+
+
+		// TODO: Currently the tile decoding is done on the main thread. We must implement
+		// a Worker class to abstract this, so on platforms that support threads (like Unity
+		// on the desktop, Android, etc) we can use worker threads and when building for
+		// the browser, we keep it single-threaded.
+		List<string> ids = new List<string>();
+		private void HandleTileResponse(Response response)
+		{
+
+			if (response.HasError)
+			{
+				if (!ids.Contains(_id.ToString()))
+					ids.Add(_id.ToString());
+				else
+					return;
+
+				response.Exceptions.ToList().ForEach(e => AddException(e));
+			}
+			else
+			{
+				// only try to parse if request was successful
+
+				// current implementation doesn't need to check if parsing is successful:
+				// * Mapbox.Map.VectorTile.ParseTileData() already adds any exception to the list
+				// * Mapbox.Map.RasterTile.ParseTileData() doesn't do any parsing
+				ParseTileData(response.Data);
+			}
+
+			// Cancelled is not the same as loaded!
+			if (_state != State.Canceled)
+			{
+				if (response.IsUpdate)
+				{
+					_state = State.Updated;
+				}
+				else
+				{
+					_state = State.Loaded;
+				}
+			}
+			_callback();
+		}
+
+
+		/// <summary>
+		///    Parameters for initializing a Tile object.
+		/// </summary>
+		/// <example>
+		/// <code>
+		/// var parameters = new Tile.Parameters();
+		/// parameters.Fs = MapboxAccess.Instance;
+		/// parameters.Id = new CanonicalTileId(_zoom, _tileCoorindateX, _tileCoordinateY);
+		/// parameters.TilesetId = "mapbox.mapbox-streets-v7";
+		/// </code>
+		/// </example>
+		public struct Parameters
+		{
+			/// <summary> The tile id. </summary>
+			public CanonicalTileId Id;
+
+			/// <summary>
+			///     The tileset ID, usually in the format "user.mapid". Exceptionally,
+			///     <see cref="T:Mapbox.Map.RasterTile"/> will take the full style URL
+			///     from where the tile is composited from, like mapbox://styles/mapbox/streets-v9.
+			/// </summary>
+			public string TilesetId;
+
+			/// <summary> The data source abstraction. </summary>
+			public IFileSource Fs;
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Tile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Tile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35484c62b91964d43e4e5c1a993127b8b3272092
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/Tile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8010c0fffeba24190a0e4a5a5f4317c6
+timeCreated: 1494951007
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileCover.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileCover.cs
new file mode 100644
index 0000000000000000000000000000000000000000..40f25d6651cd108eee0a299519c32b5d932f633f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileCover.cs
@@ -0,0 +1,159 @@
+//-----------------------------------------------------------------------
+// <copyright file="TileCover.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Utils;
+	using UnityEngine;
+
+	/// <summary>
+	///     Helper funtions to get a tile cover, i.e. a set of tiles needed for
+	///     covering a bounding box.
+	/// </summary>
+	public static class TileCover
+	{
+		/// <summary> Get a tile cover for the specified bounds and zoom. </summary>
+		/// <param name="bounds"> Geographic bounding box.</param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> The tile cover set. </returns>
+		/// <example>
+		/// Build a map of Colorado using TileCover:
+		/// <code>
+		/// var sw = new Vector2d(36.997749, -109.0524961);
+		/// var ne = new Vector2d(41.0002612, -102.0609668);
+		/// var coloradoBounds = new Vector2dBounds(sw, ne);
+		/// var tileCover = TileCover.Get(coloradoBounds, 8);
+		/// Console.Write("Tiles Needed: " + tileCover.Count);
+		/// foreach (var id in tileCover)
+		/// {
+		/// 	var tile = new RasterTile();
+		/// 	var parameters = new Tile.Parameters();
+		/// 	parameters.Id = id;
+		///		parameters.Fs = MapboxAccess.Instance;
+		///		parameters.TilesetId = "mapbox://styles/mapbox/outdoors-v10";
+		///		tile.Initialize(parameters, (Action)(() =&gt;
+		///		{
+		///			// Place tiles and load textures.
+		///		}));
+		///	}
+		/// </code>
+		/// </example>
+		public static HashSet<CanonicalTileId> Get(Vector2dBounds bounds, int zoom)
+		{
+			var tiles = new HashSet<CanonicalTileId>();
+
+			if (bounds.IsEmpty() ||
+				bounds.South > Constants.LatitudeMax ||
+				bounds.North < -Constants.LatitudeMax)
+			{
+				return tiles;
+			}
+
+			var hull = Vector2dBounds.FromCoordinates(
+				new Vector2d(Math.Max(bounds.South, -Constants.LatitudeMax), bounds.West),
+				new Vector2d(Math.Min(bounds.North, Constants.LatitudeMax), bounds.East));
+
+			var sw = CoordinateToTileId(hull.SouthWest, zoom);
+			var ne = CoordinateToTileId(hull.NorthEast, zoom);
+
+			// Scanlines.
+			for (var x = sw.X; x <= ne.X; ++x)
+			{
+				for (var y = ne.Y; y <= sw.Y; ++y)
+				{
+					tiles.Add(new UnwrappedTileId(zoom, x, y).Canonical);
+				}
+			}
+
+			return tiles;
+		}
+
+
+		public static HashSet<UnwrappedTileId> GetWithWebMerc(Vector2dBounds bounds, int zoom)
+		{
+			HashSet<UnwrappedTileId> tiles = new HashSet<UnwrappedTileId>();
+			HashSet<CanonicalTileId> canonicalTiles = new HashSet<CanonicalTileId>();
+
+			if (bounds.IsEmpty()) { return tiles; }
+
+			//stay within WebMerc bounds
+			Vector2d swWebMerc = new Vector2d(Math.Max(bounds.SouthWest.x, -Constants.WebMercMax), Math.Max(bounds.SouthWest.y, -Constants.WebMercMax));
+			Vector2d neWebMerc = new Vector2d(Math.Min(bounds.NorthEast.x, Constants.WebMercMax), Math.Min(bounds.NorthEast.y, Constants.WebMercMax));
+
+			UnwrappedTileId swTile = WebMercatorToTileId(swWebMerc, zoom);
+			UnwrappedTileId neTile = WebMercatorToTileId(neWebMerc, zoom);
+
+			for (int x = swTile.X; x <= neTile.X; x++)
+			{
+				for (int y = neTile.Y; y <= swTile.Y; y++)
+				{
+					UnwrappedTileId uwtid = new UnwrappedTileId(zoom, x, y);
+					//hack: currently too many tiles are created at lower zoom levels
+					//investigate formulas, this worked before
+					if (!canonicalTiles.Contains(uwtid.Canonical))
+					{
+						tiles.Add(uwtid);
+						canonicalTiles.Add(uwtid.Canonical);
+					}
+				}
+			}
+
+			return tiles;
+		}
+
+
+		/// <summary> Converts a coordinate to a tile identifier. </summary>
+		/// <param name="coord"> Geographic coordinate. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns>The to tile identifier.</returns>
+		/// <example>
+		/// Convert a geocoordinate to a TileId:
+		/// <code>
+		/// var unwrappedTileId = TileCover.CoordinateToTileId(new Vector2d(40.015, -105.2705), 18);
+		/// Console.Write("UnwrappedTileId: " + unwrappedTileId.ToString());
+		/// </code>
+		/// </example>
+		public static UnwrappedTileId CoordinateToTileId(Vector2d coord, int zoom)
+		{
+			var lat = coord.x;
+			var lng = coord.y;
+
+			// See: http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames
+			var x = (int)Math.Floor((lng + 180.0) / 360.0 * Math.Pow(2.0, zoom));
+			var y = (int)Math.Floor((1.0 - Math.Log(Math.Tan(lat * Math.PI / 180.0)
+					+ 1.0 / Math.Cos(lat * Math.PI / 180.0)) / Math.PI) / 2.0 * Math.Pow(2.0, zoom));
+
+			return new UnwrappedTileId(zoom, x, y);
+		}
+
+
+
+		/// <summary>
+		///  Converts a Web Mercator coordinate to a tile identifier. https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Derivation_of_tile_names
+		/// </summary>
+		/// <param name="webMerc">Web Mercator coordinate</param>
+		/// <param name="zoom">Zoom level</param>
+		/// <returns>The to tile identifier.</returns>
+		public static UnwrappedTileId WebMercatorToTileId(Vector2d webMerc, int zoom)
+		{
+			// See:  https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Derivation_of_tile_names
+			double tileCount = Math.Pow(2, zoom);
+
+			//this SDK defines Vector2d.x as latitude and Vector2d.y as longitude
+			//same for WebMerc, so we have to flip x/y to make this formula work
+			double dblX = webMerc.x / Constants.WebMercMax;
+			double dblY = webMerc.y / Constants.WebMercMax;
+
+			int x = (int)Math.Floor((1 + dblX) / 2 * tileCount);
+			int y = (int)Math.Floor((1 - dblY) / 2 * tileCount);
+			return new UnwrappedTileId(zoom, x, y);
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileCover.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileCover.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e19e3f49e4085e31f53ab77ead4cb364c89d4c89
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileCover.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: fc67290bfffab4457b83802ef2f4c824
+timeCreated: 1494945808
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileErrorEventArgs.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileErrorEventArgs.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c01a1a90f9fbe3d14872ac23c58e07f7b3321c88
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileErrorEventArgs.cs
@@ -0,0 +1,63 @@
+namespace Mapbox.Map
+{
+	using System;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System.Collections.Generic;
+	using System.Collections.ObjectModel;
+
+	public class TileErrorEventArgs : EventArgs
+	{
+
+		/// <summary>
+		/// The tile identifier.
+		/// </summary>
+		public CanonicalTileId TileId;
+		/// <summary>
+		/// The exceptions.
+		/// </summary>
+		public List<Exception> Exceptions;
+		/// <summary>
+		/// The unity tile instance.
+		/// </summary>
+		public UnityTile UnityTileInstance;
+		/// <summary>
+		/// The type of the tile.
+		/// </summary>
+		public Type TileType;
+
+		/// <summary>
+		/// Initializes a new instance of the <see cref="T:Mapbox.Map.TileErrorEventArgs"/> class.
+		/// </summary>
+		/// <param name="TileId">Tile identifier.</param>
+		/// <param name="TileType">Tile type.</param>
+		/// <param name="UnityTileInstance">Unity tile instance.</param>
+		/// <param name="Exceptions">Exceptions as a List</param>
+		public TileErrorEventArgs(CanonicalTileId TileId, Type TileType, UnityTile UnityTileInstance, List<System.Exception> Exceptions)
+		{
+			this.TileId = TileId;
+			this.Exceptions = Exceptions;
+			this.UnityTileInstance = UnityTileInstance;
+			this.TileType = TileType;
+		}
+
+		/// <summary>
+		/// Initializes a new instance of the <see cref="T:Mapbox.Map.TileErrorEventArgs"/> class.
+		/// </summary>
+		/// <param name="TileId">Tile identifier.</param>
+		/// <param name="TileType">Tile type.</param>
+		/// <param name="UnityTileInstance">Unity tile instance.</param>
+		/// <param name="Exceptions">Exceptions as a ReadOnlyCollection</param>
+		public TileErrorEventArgs(CanonicalTileId TileId, Type TileType, UnityTile UnityTileInstance, ReadOnlyCollection<Exception> Exceptions)
+		{
+			this.TileId = TileId;
+			List<Exception> _exceptions = new List<Exception>();
+			foreach (var exception in Exceptions)
+			{
+				_exceptions.Add(exception);
+			}
+			this.Exceptions = _exceptions;
+			this.UnityTileInstance = UnityTileInstance;
+			this.TileType = TileType;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileErrorEventArgs.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileErrorEventArgs.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1c57d97b45fd805afcdde3cee0494980d3df6652
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileErrorEventArgs.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 59c42a951767c4031966d5ae5c20a47a
+timeCreated: 1509068021
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f1e7e85c963fe20d890ea9a69d8cf7518440216f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileResource.cs
@@ -0,0 +1,67 @@
+//-----------------------------------------------------------------------
+// <copyright file="TileResource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+namespace Mapbox.Map
+{
+	using Platform;
+	using System;
+	using Mapbox.Unity.Telemetry;
+
+	public sealed class TileResource : IResource
+	{
+		readonly string _query;
+
+		internal TileResource(string query)
+		{
+			_query = query;
+		}
+
+		public static TileResource MakeRaster(CanonicalTileId id, string styleUrl)
+		{
+			return new TileResource(string.Format("{0}/{1}", MapUtils.NormalizeStaticStyleURL(styleUrl ?? "mapbox://styles/mapbox/satellite-v9"), id));
+		}
+
+		internal static TileResource MakeRetinaRaster(CanonicalTileId id, string styleUrl)
+		{
+			return new TileResource(string.Format("{0}/{1}@2x", MapUtils.NormalizeStaticStyleURL(styleUrl ?? "mapbox://styles/mapbox/satellite-v9"), id));
+		}
+
+		public static TileResource MakeClassicRaster(CanonicalTileId id, string tilesetId)
+		{
+			return new TileResource(string.Format("{0}/{1}.png", MapUtils.TilesetIdToUrl(tilesetId ?? "mapbox.satellite"), id));
+		}
+
+		internal static TileResource MakeClassicRetinaRaster(CanonicalTileId id, string tilesetId)
+		{
+			return new TileResource(string.Format("{0}/{1}@2x.png", MapUtils.TilesetIdToUrl(tilesetId ?? "mapbox.satellite"), id));
+		}
+
+		public static TileResource MakeRawPngRaster(CanonicalTileId id, string tilesetId)
+		{
+			return new TileResource(string.Format("{0}/{1}.pngraw", MapUtils.TilesetIdToUrl(tilesetId ?? "mapbox.terrain-rgb"), id));
+		}
+
+		public static TileResource MakeVector(CanonicalTileId id, string tilesetId)
+		{
+			return new TileResource(string.Format("{0}/{1}.vector.pbf", MapUtils.TilesetIdToUrl(tilesetId ?? "mapbox.mapbox-streets-v7"), id));
+		}
+
+		internal static TileResource MakeStyleOptimizedVector(CanonicalTileId id, string tilesetId, string optimizedStyleId, string modifiedDate)
+		{
+			return new TileResource(string.Format("{0}/{1}.vector.pbf?style={2}@{3}", MapUtils.TilesetIdToUrl(tilesetId ?? "mapbox.mapbox-streets-v7"), id, optimizedStyleId, modifiedDate));
+		}
+
+		public string GetUrl()
+		{
+			var uriBuilder = new UriBuilder(_query);
+			if (uriBuilder.Query != null && uriBuilder.Query.Length > 1)
+			{
+				uriBuilder.Query = uriBuilder.Query.Substring(1);
+			}
+			//return uriBuilder.ToString();
+			return uriBuilder.Uri.ToString();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1a413269cee2d7f5ff65d311833a204fd8b42ff3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/TileResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b56f5c7f0b51844c19d1267530b5acb1
+timeCreated: 1494603018
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/UnwrappedTileId.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/UnwrappedTileId.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c0aa3c2cb0cbd9f4ab8ec6ce1be043d7c6c25b6a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/UnwrappedTileId.cs
@@ -0,0 +1,147 @@
+using System;
+
+namespace Mapbox.Map
+{
+	/// <summary>
+	///     Unwrapped tile identifier in a slippy map. Similar to <see cref="CanonicalTileId"/>,
+	///     but might go around the globe.
+	/// </summary>
+	public struct UnwrappedTileId : IEquatable<UnwrappedTileId>
+	{
+		/// <summary> The zoom level. </summary>
+		public readonly int Z;
+
+		/// <summary> The X coordinate in the tile grid. </summary>
+		public readonly int X;
+
+		/// <summary> The Y coordinate in the tile grid. </summary>
+		public readonly int Y;
+
+		/// <summary>
+		///     Initializes a new instance of the <see cref="UnwrappedTileId"/> struct,
+		///     representing a tile coordinate in a slippy map that might go around the
+		///     globe.
+		/// </summary>
+		/// <param name="z">The z coordinate.</param>
+		/// <param name="x">The x coordinate.</param>
+		/// <param name="y">The y coordinate.</param>
+		public UnwrappedTileId(int z, int x, int y)
+		{
+			this.Z = z;
+			this.X = x;
+			this.Y = y;
+		}
+
+		/// <summary> Gets the canonical tile identifier. </summary>
+		/// <value> The canonical tile identifier. </value>
+		public CanonicalTileId Canonical
+		{
+			get
+			{
+				return new CanonicalTileId(this);
+			}
+		}
+
+		/// <summary>
+		///     Returns a <see cref="T:System.String"/> that represents the current
+		///     <see cref="T:Mapbox.Map.UnwrappedTileId"/>.
+		/// </summary>
+		/// <returns>
+		///     A <see cref="T:System.String"/> that represents the current
+		///     <see cref="T:Mapbox.Map.UnwrappedTileId"/>.
+		/// </returns>
+		public override string ToString()
+		{
+			return this.Z + "/" + this.X + "/" + this.Y;
+		}
+
+		public bool Equals(UnwrappedTileId other)
+		{
+			return this.X == other.X && this.Y == other.Y && this.Z == other.Z;
+		}
+
+		public override int GetHashCode()
+		{
+			return (X << 6) ^ (Y << 16) ^ (Z << 8);
+		}
+
+		public override bool Equals(object obj)
+		{
+			return this.X == ((UnwrappedTileId)obj).X && this.Y == ((UnwrappedTileId)obj).Y && this.Z == ((UnwrappedTileId)obj).Z;
+		}
+
+		public static bool operator ==(UnwrappedTileId a, UnwrappedTileId b)
+		{
+			return a.X == b.X && a.Y == b.Y && a.Z == b.Z;
+		}
+
+		public static bool operator !=(UnwrappedTileId a, UnwrappedTileId b)
+		{
+			return !(a == b);
+		}
+
+		public UnwrappedTileId North
+		{
+			get
+			{
+				return new UnwrappedTileId(Z, X, Y - 1);
+			}
+		}
+
+		public UnwrappedTileId East
+		{
+			get
+			{
+				return new UnwrappedTileId(Z, X + 1, Y);
+			}
+		}
+
+		public UnwrappedTileId South
+		{
+			get
+			{
+				return new UnwrappedTileId(Z, X, Y + 1);
+			}
+		}
+
+		public UnwrappedTileId West
+		{
+			get
+			{
+				return new UnwrappedTileId(Z, X - 1, Y);
+			}
+		}
+
+		public UnwrappedTileId NorthEast
+		{
+			get
+			{
+				return new UnwrappedTileId(Z, X + 1, Y - 1);
+			}
+		}
+
+		public UnwrappedTileId SouthEast
+		{
+			get
+			{
+				return new UnwrappedTileId(Z, X + 1, Y + 1);
+			}
+		}
+
+		public UnwrappedTileId NorthWest
+		{
+			get
+			{
+				return new UnwrappedTileId(Z, X - 1, Y - 1);
+			}
+		}
+
+		public UnwrappedTileId SouthWest
+		{
+			get
+			{
+				return new UnwrappedTileId(Z, X - 1, Y + 1);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/UnwrappedTileId.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/UnwrappedTileId.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0d4a8ad283a686b55f17f9b9ae6399eca016c97c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/UnwrappedTileId.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b05b9f9c791be434db474b25089ff310
+timeCreated: 1494945808
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/VectorTile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/VectorTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5dca85a706d83f67d7daf22eeb6fdfe34f98b357
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/VectorTile.cs
@@ -0,0 +1,211 @@
+//-----------------------------------------------------------------------
+// <copyright file="VectorTile.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Map
+{
+	using System.Collections.ObjectModel;
+	using Mapbox.Utils;
+	using Mapbox.VectorTile;
+	using Mapbox.VectorTile.ExtensionMethods;
+	using System;
+
+	/// <summary>
+	///    A decoded vector tile, as specified by the
+	///    <see href="https://www.mapbox.com/vector-tiles/specification/">
+	///    Mapbox Vector Tile specification</see>.
+	///    See available layers and features <see href="https://www.mapbox.com/vector-tiles/mapbox-streets-v7/">here</see>.
+	///    The tile might be incomplete if the network request and parsing are still pending.
+	/// </summary>
+	///  <example>
+	/// Making a VectorTile request:
+	/// <code>
+	/// var parameters = new Tile.Parameters();
+	/// parameters.Fs = MapboxAccess.Instance;
+	/// parameters.Id = new CanonicalTileId(_zoom, _tileCoorindateX, _tileCoordinateY);
+	/// parameters.TilesetId = "mapbox.mapbox-streets-v7";
+	/// var vectorTile = new VectorTile();
+	///
+	/// // Make the request.
+	/// vectorTile.Initialize(parameters, (Action)(() =>
+	/// {
+	/// 	if (!string.IsNullOrEmpty(vectorTile.Error))
+	/// 	{
+	///			// Handle the error.
+	///		}
+	///
+	/// 	// Consume the <see cref="Data"/>.
+	///	}));
+	/// </code>
+	/// </example>
+	public sealed class VectorTile : Tile, IDisposable
+	{
+		// FIXME: Namespace here is very confusing and conflicts (sematically)
+		// with his class. Something has to be renamed here.
+		private Mapbox.VectorTile.VectorTile data;
+
+		bool _isStyleOptimized = false;
+
+		string _optimizedStyleId;
+
+		string _modifiedDate;
+
+		private bool isDisposed = false;
+
+		/// <summary> Gets the vector decoded using Mapbox.VectorTile library. </summary>
+		/// <value> The GeoJson data. </value>
+		public Mapbox.VectorTile.VectorTile Data
+		{
+			get
+			{
+				return this.data;
+			}
+		}
+
+		public VectorTile()
+		{
+			_isStyleOptimized = false;
+		}
+
+		public VectorTile(string styleId, string modifiedDate)
+		{
+			if (string.IsNullOrEmpty(styleId) || string.IsNullOrEmpty(modifiedDate))
+			{
+				UnityEngine.Debug.LogWarning("Style Id or Modified Time cannot be empty for style optimized tilesets. Switching to regular tilesets!");
+				_isStyleOptimized = false;
+			}
+			else
+			{
+				_isStyleOptimized = true;
+				_optimizedStyleId = styleId;
+				_modifiedDate = modifiedDate;
+			}
+		}
+
+		//TODO: uncomment if 'VectorTile' class changes from 'sealed'
+		//protected override void Dispose(bool disposeManagedResources)
+		//~VectorTile()
+		//{
+		//    Dispose(false);
+		//}
+
+
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+		//TODO: change signature if 'VectorTile' class changes from 'sealed'
+		//protected override void Dispose(bool disposeManagedResources)
+		public void Dispose(bool disposeManagedResources)
+		{
+			if (!isDisposed)
+			{
+				if (disposeManagedResources)
+				{
+					//TODO implement IDisposable with Mapbox.VectorTile.VectorTile
+					if (null != data)
+					{
+						data = null;
+					}
+				}
+			}
+		}
+
+
+		/// <summary>
+		/// <para>Gets the vector in a GeoJson format.</para>
+		/// <para>
+		/// This method should be avoided as it fully decodes the whole tile and might pose performance and memory bottle necks.
+		/// </para>
+		/// </summary>
+		/// <value> The GeoJson data. </value>
+		/// <example>
+		/// Inspect the GeoJson.
+		/// <code>
+		/// var json = VectorTile.GeoJson;
+		/// Console.Write("GeoJson: " + json);
+		/// </code>
+		/// </example>
+		public string GeoJson
+		{
+			get
+			{
+				return this.data.ToGeoJson((ulong)Id.Z, (ulong)Id.X, (ulong)Id.Y, 0);
+			}
+		}
+
+
+		/// <summary>
+		/// Gets all availble layer names.
+		/// See available layers and features <see href="https://www.mapbox.com/vector-tiles/mapbox-streets-v7/">here</see>.
+		/// </summary>
+		/// <returns>Collection of availble layers.</returns>
+		/// <example>
+		/// Inspect the LayerNames.
+		/// <code>
+		/// var layerNames = vectorTile.LayerNames();
+		/// foreach (var layer in layerNames)
+		/// {
+		/// 	Console.Write("Layer: " + layer);
+		/// }
+		/// </code>
+		/// </example>
+		public ReadOnlyCollection<string> LayerNames()
+		{
+			return this.data.LayerNames();
+		}
+
+		// FIXME: Why don't these work?
+		/// <summary>
+		/// Decodes the requested layer.
+		/// </summary>
+		/// <param name="layerName">Name of the layer to decode.</param>
+		/// <returns>Decoded VectorTileLayer or 'null' if an invalid layer name was specified.</returns>
+		/// <example>
+		/// Inspect a layer of the vector tile.
+		/// <code>
+		/// var countryLabelLayer = vectorTile.GetLayer("country_label");
+		/// var count = countryLabelLayer.Keys.Count;
+		/// for (int i = 0; i &lt; count; i++)
+		/// {
+		/// 	Console.Write(string.Format("{0}:{1}", countryLabelLayer.Keys[i], countryLabelLayer.Values[i]));
+		/// }
+		/// </code>
+		/// </example>
+		public VectorTileLayer GetLayer(string layerName)
+		{
+			return this.data.GetLayer(layerName);
+		}
+
+
+		internal override TileResource MakeTileResource(string tilesetId)
+		{
+
+			return (_isStyleOptimized) ?
+				TileResource.MakeStyleOptimizedVector(Id, tilesetId, _optimizedStyleId, _modifiedDate)
+			  : TileResource.MakeVector(Id, tilesetId);
+		}
+
+
+		internal override bool ParseTileData(byte[] data)
+		{
+			try
+			{
+				var decompressed = Compression.Decompress(data);
+				this.data = new Mapbox.VectorTile.VectorTile(decompressed);
+				return true;
+			}
+			catch (Exception ex)
+			{
+				AddException(ex);
+				return false;
+			}
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/VectorTile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/VectorTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fc053b530d6243b9c3f07e259c7874b9c9ed26ab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Map/VectorTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: bfd8ce307104a47389d62ff6cd67802c
+timeCreated: 1494951007
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0ce8cecc3980194bf397b73946d6266a57e695f8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2878fdebfe9305f4cab4f21e3c398837
+folderAsset: yes
+timeCreated: 1508237858
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatcher.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatcher.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d1794d3c40979159b9439343edfef36c6aeec2f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatcher.cs
@@ -0,0 +1,74 @@
+//-----------------------------------------------------------------------
+// <copyright file="MapMatcher.cs" company="Mapbox">
+//     Copyright (c) 2017 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapMatching
+{
+	using System;
+	using System.Text;
+	using Mapbox.Json;
+	using Mapbox.Platform;
+	using Mapbox.Utils.JsonConverters;
+
+	/// <summary>
+	///     Wrapper around the <see href="https://www.mapbox.com/api-documentation/navigation/#map-matching">
+	///     Mapbox Map Matching API</see>.
+	/// </summary>
+	public class MapMatcher
+	{
+		private readonly IFileSource _fileSource;
+		private int _timeout;
+
+		/// <summary> Initializes a new instance of the <see cref="MapMatcher" /> class. </summary>
+		/// <param name="fileSource"> Network access abstraction. </param>
+		public MapMatcher(IFileSource fileSource, int timeout)
+		{
+			_fileSource = fileSource;
+			_timeout = timeout;
+		}
+
+		/// <summary> Performs asynchronously a geocoding lookup. </summary>
+		/// <param name="geocode"> Geocode resource. </param>
+		/// <param name="callback"> Callback to be called after the request is completed. </param>
+		/// <typeparam name="T"> String or LngLat. Should be automatically inferred. </typeparam>
+		/// <returns>
+		///     Returns a <see cref="IAsyncRequest" /> that can be used for canceling a pending
+		///     request. This handle can be completely ignored if there is no intention of ever
+		///     canceling the request.
+		/// </returns>
+		public IAsyncRequest Match(MapMatchingResource match, Action<MapMatchingResponse> callback)
+		{
+			string url = match.GetUrl();
+			return _fileSource.Request(
+				url,
+				(Response response) =>
+				{
+					var str = Encoding.UTF8.GetString(response.Data);
+					var data = Deserialize<MapMatchingResponse>(str);
+
+					if (response.HasError)
+					{
+						data.SetRequestExceptions(response.Exceptions);
+					}
+
+					callback(data);
+				},
+				_timeout
+				);
+		}
+
+
+		/// <summary>
+		/// Deserialize the map match response string into a <see cref="MapMatchingResponse"/>.
+		/// </summary>
+		/// <param name="str">JSON String.</param>
+		/// <returns>A <see cref="MapMatchingResponse"/>.</returns>
+		/// <typeparam name="T">Map Matcher. </typeparam>
+		internal T Deserialize<T>(string str)
+		{
+			return JsonConvert.DeserializeObject<T>(str, JsonConverters.Converters);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatcher.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatcher.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a0a8a9f532066ace7f7223195f93898a528f6df2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatcher.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: dfdfc6d95bc72494e8ae78580d2e6b44
+timeCreated: 1508239177
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingParameters.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingParameters.cs
new file mode 100644
index 0000000000000000000000000000000000000000..eb1524280da3f468cf17f33670677fa29a2bf8d0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingParameters.cs
@@ -0,0 +1,115 @@
+//-----------------------------------------------------------------------
+// <copyright file="MapMatchingParameters.cs" company="Mapbox">
+//     Copyright (c) 2017 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+using System;
+using System.ComponentModel;
+using Mapbox.VectorTile.Geometry;
+
+namespace Mapbox.MapMatching
+{
+	/// <summary>Directions profile id</summary>
+	public enum Profile
+	{
+		[Description("mapbox/driving")]
+		MapboxDriving,
+		[Description("mapbox/driving-traffic")]
+		MapboxDrivingTraffic,
+		[Description("mapbox/walking")]
+		MapboxWalking,
+		[Description("mapbox/cycling")]
+		MapboxCycling
+	}
+
+
+	/// <summary>Format of the returned geometry. Default value 'Polyline' with precision 5.</summary>
+	public enum Geometries
+	{
+		/// <summary>Default, precision 5.</summary>
+		[Description("polyline")]
+		Polyline,
+		/// <summary>Precision 6.</summary>
+		[Description("polyline6")]
+		Polyline6,
+		/// <summary>Geojson.</summary>
+		[Description("geojson")]
+		GeoJson
+	}
+
+
+	/// <summary>Type of returned overview geometry. </summary>
+	public enum Overview
+	{
+		/// <summary>The most detailed geometry available </summary>
+		[Description("full")]
+		Full,
+		/// <summary>A simplified version of the full geometry</summary>
+		[Description("simplified")]
+		Simplified,
+		/// <summary>No overview geometry </summary>
+		[Description("false")]
+		None
+	}
+
+
+	/// <summary>Whether or not to return additional metadata along the route. Several annotations can be used.</summary>
+	[System.Flags]
+	public enum Annotations
+	{
+		[Description("duration")]
+		Duration,
+		[Description("distance")]
+		Distance,
+		[Description("speed")]
+		Speed,
+		[Description("congestion")]
+		Congestion
+	}
+
+
+	/// <summary>
+	/// https://www.mapbox.com/api-documentation/navigation/#retrieve-directions
+	/// </summary>
+	public enum InstructionLanguages
+	{
+		[Description("de")]
+		German,
+		[Description("en")]
+		English,
+		[Description("eo")]
+		Esperanto,
+		[Description("es")]
+		Spanish,
+		[Description("es-ES")]
+		SpanishSpain,
+		[Description("fr")]
+		French,
+		[Description("id")]
+		Indonesian,
+		[Description("it")]
+		Italian,
+		[Description("nl")]
+		Dutch,
+		[Description("pl")]
+		Polish,
+		[Description("pt-BR")]
+		PortugueseBrazil,
+		[Description("ro")]
+		Romanian,
+		[Description("ru")]
+		Russian,
+		[Description("sv")]
+		Swedish,
+		[Description("tr")]
+		Turkish,
+		[Description("uk")]
+		Ukrainian,
+		[Description("vi")]
+		Vietnamese,
+		[Description("zh-Hans")]
+		ChineseSimplified
+	}
+
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingParameters.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingParameters.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2bef6664b8312c320547cd4db6cce08428f19db3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingParameters.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 991f42eef2c18204cb4a6b79c6f98eed
+timeCreated: 1508237904
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bbb9e1e0c083a0eac7b3b97b4cfc974fac0832ec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResource.cs
@@ -0,0 +1,209 @@
+//-----------------------------------------------------------------------
+// <copyright file="MapMatchingResource.cs" company="Mapbox">
+//     Copyright (c) 2017 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapMatching
+{
+	using System;
+	using System.Collections.Generic;
+	using System.Linq;
+	using Mapbox.Platform;
+	using Mapbox.Utils;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	/// <summary> Base geocode class. </summary>
+	/// <typeparam name="T"> Type of Query field (either string or LatLng). </typeparam>
+	public class MapMatchingResource : Resource
+	{
+
+		private readonly string _apiEndpoint = "matching/v5/";
+		private Vector2d[] _coordinates;
+		private uint[] _radiuses;
+		private long[] _timestamps;
+
+
+		/// <summary> Gets the API endpoint as a partial URL path. </summary>
+		public override string ApiEndpoint
+		{
+			get { return _apiEndpoint; }
+		}
+
+
+		/// <summary>A directions profile ID.</summary>
+		public Profile Profile = Profile.MapboxDriving;
+
+
+		/// <summary> Coordinate to visit in order; there can be between 2 and 100 coordinates. </summary>
+		public Vector2d[] Coordinates
+		{
+			get { return _coordinates; }
+			set
+			{
+				if (null == value)
+				{
+					throw new Exception("Coordinates cannot be null.");
+				}
+				if (value.Length < 2 || value.Length > 100)
+				{
+					throw new Exception("Must be between 2 and 100 elements in coordinates array");
+				}
+
+				_coordinates = value;
+			}
+		}
+
+
+		/// <summary>
+		/// <para>Format of the returned geometry.</para>
+		/// <para>Allowed values are: geojson (as LineString ), polyline with precision 5,  polyline6 (polyline with precision 6).</para>
+		/// <para>The default value is polyline.</para>
+		/// </summary>
+		public Nullable<Geometries> Geometries;
+
+
+		/// <summary>
+		/// <para>A list of uints in meters indicating the assumed precision of the used tracking device.</para>
+		/// <para>There must be as many radiuses as there are coordinates in the request.</para>
+		/// <para>Values can be a number between 0 and 30.</para>
+		/// <para>Use higher numbers (20-30) for noisy traces and lower numbers (1-10) for clean traces.</para>
+		/// <para>The default value is 5.</para>
+		/// </summary>
+		public uint[] Radiuses
+		{
+			get { return _radiuses; }
+			set
+			{
+				if (null == _coordinates) { throw new Exception("Coordinates not set"); }
+				//allow for nulling radiuses
+				if (null == value)
+				{
+					_radiuses = null;
+					return;
+				}
+				if (value.Length != _coordinates.Length) { throw new Exception("There must be as many radiuses as there are coordinates in the request."); }
+				if (value.Where(r => r == 0).Count() > 0) { throw new Exception("Radius must be greater than 0"); }
+
+				_radiuses = value;
+			}
+		}
+
+
+		/// <summary>
+		/// <para>Whether to return steps and turn-by-turn instructions.</para>
+		/// <para>Can be  true or false.</para>
+		/// <para>The default is false.</para>
+		/// </summary>
+		public bool? Steps;
+
+
+		/// <summary>
+		/// <para>Type of returned overview geometry.</para>
+		/// <para>Can be full (the most detailed geometry available), simplified (a simplified version of the full geometry), or none (no overview geometry).</para>
+		/// <para>The default is  simplified.</para>
+		/// </summary>
+		public Nullable<Overview> Overview;
+
+
+		/// <summary>
+		/// <para>Timestamps corresponding to each coordinate provided in the request.</para>
+		/// <para>Must be numbers in Unix time (seconds since the Unix epoch).</para>
+		/// <para>There must be as many timestamps as there are coordinates in the request.</para>
+		/// </summary>
+		public long[] Timestamps
+		{
+			get { return _timestamps; }
+			set
+			{
+				if (null == _coordinates) { throw new Exception("Coordinates not set"); }
+				//allow for nulling timestamps
+				if (null == value)
+				{
+					_timestamps = null;
+					return;
+				}
+				if (value.Length != _coordinates.Length) { throw new Exception("There must be as many timestapms as there are coordinates in the request."); }
+
+				_timestamps = value;
+			}
+		}
+
+
+		/// <summary>
+		/// <para>Whether or not to return additional metadata along the route.</para>
+		/// <para>Possible values are: duration, distance and speed.</para>
+		/// <para>Several annotations can be used.</para>
+		/// <para>Combine via '|'.</para>
+		/// </summary>
+		public Nullable<Annotations> Annotations;
+
+
+		/// <summary>
+		/// <para>Whether or not to transparently remove clusters and re-sample traces for improved map matching results.</para>
+		/// <para>Removed tracepoints are set to 'null' in the response!</para>
+		/// <para>Can be true or false.</para>
+		/// <para>The default is false.</para>
+		/// </summary>
+		public bool? Tidy;
+
+
+		/// <summary>
+		/// <para>Language of returned turn-by-turn text instructions.</para>
+		/// <para>The default is English.</para>
+		/// </summary>
+		public Nullable<InstructionLanguages> Language;
+
+
+		public override string GetUrl()
+		{
+			if (null == _coordinates)
+			{
+				throw new Exception("Coordinates cannot be null.");
+			}
+
+			Dictionary<string, string> options = new Dictionary<string, string>();
+
+			if (Geometries.HasValue) { options.Add("geometries", Geometries.Value.Description()); }
+			if (null != _radiuses) { options.Add("radiuses", GetUrlQueryFromArray(_radiuses, ";")); }
+			if (Steps.HasValue) { options.Add("steps", Steps.ToString().ToLower()); }
+			if (Overview.HasValue) { options.Add("overview", Overview.Value.Description()); }
+			if (null != _timestamps) { options.Add("timestamps", GetUrlQueryFromArray(_timestamps, ";")); }
+			if (Annotations.HasValue) { options.Add("annotations", getUrlQueryFromAnnotations(Annotations.Value, ",")); }
+			if (Tidy.HasValue) { options.Add("tidy", Tidy.Value.ToString().ToLower()); }
+			if (Language.HasValue) { options.Add("language", Language.Value.Description()); }
+
+			return
+				Constants.BaseAPI
+				+ _apiEndpoint
+				+ Profile.Description() + "/"
+				+ GetUrlQueryFromArray<Vector2d>(_coordinates, ";")
+				+ ".json"
+				+ EncodeQueryString(options);
+		}
+
+
+
+		/// <summary>
+		/// Convert Annotations (several could be combined) into a string of their descriptions.
+		/// </summary>
+		/// <param name="annotation">Current annotation</param>
+		/// <param name="separator">Character to use for separating items in string.</param>
+		/// <returns></returns>
+		private string getUrlQueryFromAnnotations(Annotations anno, string separator)
+		{
+			List<string> descriptions = new List<string>();
+
+			//iterate through all possible 'Annotations' values
+			foreach (var a in Enum.GetValues(typeof(Annotations)).Cast<Annotations>())
+			{
+				//if current value is set, add its description
+				if (a == (anno & a)) { descriptions.Add(a.Description()); }
+			}
+
+			return string.Join(separator, descriptions.ToArray());
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..83c2217a26ba902d3800b8e6a880dbbb269b8e5e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResource.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8762d1b8a83c7ba4b91f9a1c64717bee
+timeCreated: 1508240506
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResponse.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResponse.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ef4d14dda11089bf4c9fdf4213eb6786b630a420
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResponse.cs
@@ -0,0 +1,72 @@
+//-----------------------------------------------------------------------
+// <copyright file="MapMatchingResponse.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapMatching
+{
+	using System;
+	using System.Collections.Generic;
+	using System.Collections.ObjectModel;
+	using Mapbox.Json;
+
+	/// <summary> Base geocode response. </summary>
+#if !WINDOWS_UWP
+	//http://stackoverflow.com/a/12903628
+	[Serializable]
+#endif
+	public class MapMatchingResponse
+	{
+		/// <summary>Simple constructor for deserialization </summary>
+		public MapMatchingResponse() { }
+
+		[JsonProperty("code")]
+		public string Code;
+		[JsonProperty("message")]
+		public string Message;
+		[JsonProperty("tracepoints")]
+		public Tracepoint[] Tracepoints;
+		[JsonProperty("matchings")]
+		public MatchObject[] Matchings;
+#if !WINDOWS_UWP
+		/// <summary>Error occured during matching</summary>
+		public bool HasMatchingError { get { return !"ok".Equals(Code, StringComparison.InvariantCultureIgnoreCase); } }
+#else
+		/// <summary>Error occured during matching</summary>
+		public bool HasMatchingError { get { return !"ok".Equals(Code, StringComparison.OrdinalIgnoreCase); } }
+#endif
+
+		public string MatchingError
+		{
+			get
+			{
+				string matchCode = Code.ToLower();
+				switch (matchCode)
+				{
+					case "ok": return "";
+					case "nomatch": return "The input did not produce any matches. features will be an empty array.";
+					case "toomanycoordinates": return "There are to many points in the request.";
+					case "InvalidInput": return "Invalid input: 'message' will hold an explanation of the invalid input.";
+					case "ProfileNotFound": return "Invalid profile.";
+					case "nosegment": return "Could not find a matching segment for input coordinates.";
+					default:
+						return "Unexpected error: check 'message'";
+				}
+			}
+		}
+
+		/// <summary>Errors occured during web request </summary>
+		public bool HasRequestError { get { return _requestExceptions.Count > 0; } }
+
+		private ReadOnlyCollection<Exception> _requestExceptions = new List<Exception>().AsReadOnly();
+		/// <summary>Errors of underlying web request </summary>
+		public ReadOnlyCollection<Exception> RequestExceptions { get { return _requestExceptions; } }
+		/// <summary>Assign errors of underlying web request </summary>
+		public void SetRequestExceptions(ReadOnlyCollection<Exception> exceptions) { _requestExceptions = exceptions; }
+	}
+
+
+
+
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResponse.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResponse.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9bf693286f7ca9c0b5b51512f79adf06de7de8cf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MapMatchingResponse.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6b0f824b73d2d8f41aeed79f2a15666d
+timeCreated: 1508247612
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MatchObject.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MatchObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..142dc0621d36e506b7980cfa60cd1e5b68069760
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MatchObject.cs
@@ -0,0 +1,25 @@
+//-----------------------------------------------------------------------
+// <copyright file="MatchObject.cs" company="Mapbox">
+//     Copyright (c) 2017 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapMatching
+{
+	using Mapbox.Directions;
+	using Mapbox.Json;
+
+	/// <summary>
+	/// A Match object from a Map Matching API call.
+	/// </summary>
+	public class MatchObject : Route
+	{
+		/// <summary>
+		///  A number between 0 (low) and 1 (high) indicating level of confidence in the returned match
+		/// </summary>
+		[JsonProperty("confidence")]
+		public float Confidence { get; set; }
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MatchObject.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MatchObject.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8cd1ebedcee975f31e8fc8e4a9ba87db2bcc1376
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/MatchObject.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d6d1f89031e0a60479b516a76cf1a96a
+timeCreated: 1508309612
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/Tracepoint.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/Tracepoint.cs
new file mode 100644
index 0000000000000000000000000000000000000000..092a13bbeefa301d3fdec366aa41d5a2db5e6d7a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/Tracepoint.cs
@@ -0,0 +1,39 @@
+//-----------------------------------------------------------------------
+// <copyright file="Tracepoint.cs" company="Mapbox">
+//     Copyright (c) 2017 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapMatching
+{
+	using Mapbox.Directions;
+	using Mapbox.Json;
+    using Mapbox.Utils;
+    using Mapbox.Utils.JsonConverters;
+
+    /// <summary>
+    /// A Waypoint from a Directions API call.
+    /// </summary>
+    public class Tracepoint: Waypoint
+	{
+		/// <summary>
+		///  Index of the waypoint inside the matched route.
+		/// </summary>
+		[JsonProperty("waypoint_index")]
+		public int WaypointIndex { get; set; }
+
+		/// <summary>
+		/// Index to the match object in matchings the sub-trace was matched to.
+		/// </summary>
+		[JsonProperty("matchings_index")]
+		public int MatchingsIndex { get; set; }
+
+		/// <summary>
+		/// Number of probable alternative matchings for this trace point. A value of zero indicates that this point was matched unambiguously. Split the trace at these points for incremental map matching.
+		/// </summary>
+		[JsonProperty("alternatives_count")]
+		public int AlternativesCount { get; set; }
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/Tracepoint.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/Tracepoint.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf819f4c55b70b74cc1295eb9ac97b943c31f496
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/MapMatching/Tracepoint.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: cd23eaecbb5aa1947ad2b7a595c2393e
+timeCreated: 1508251969
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform.meta
new file mode 100644
index 0000000000000000000000000000000000000000..10ba2ece4c07b6bb271606408c811daf4b115599
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 271709ca6cfd047e9ab142950d086b5f
+folderAsset: yes
+timeCreated: 1491243031
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b553e89331ff875e254d5e0b4b510affba47c5e8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 15f35c4d53ec8ae459a497d0bee43f77
+folderAsset: yes
+timeCreated: 1495030845
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CacheItem.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CacheItem.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b3be547f563affde0a084febee1f6c2dab10495a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CacheItem.cs
@@ -0,0 +1,19 @@
+
+namespace Mapbox.Platform.Cache
+{
+
+	using System;
+
+
+	public class CacheItem
+	{
+		/// <summary> Raw response data- </summary>
+		public byte[] Data;
+		/// <summary> UTC ticks when item was added to the cache. </summary>
+		public long AddedToCacheTicksUtc;
+		/// <summary> ETag value of API response. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag </summary>
+		public string ETag;
+		/// <summary> Can be 'null' as not all APIs populated this value. Last-Modified value of API response in GMT: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified </summary>
+		public DateTime? LastModified;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CacheItem.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CacheItem.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..452583767b3b1cab21b514a54f35a02712d00ebb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CacheItem.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 3bad456c58de85d47b4ff050dbd99915
+timeCreated: 1510665832
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CachingWebFileSource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CachingWebFileSource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b881516ff93ef40c4e87fd68e89ccb1f584d0eb2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CachingWebFileSource.cs
@@ -0,0 +1,321 @@
+namespace Mapbox.Platform.Cache
+{
+	using System;
+	using Mapbox.Platform;
+	using System.Collections.Generic;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Map;
+	using System.Collections;
+	using System.Linq;
+
+
+	public class CachingWebFileSource : IFileSource, IDisposable
+	{
+
+
+#if MAPBOX_DEBUG_CACHE
+		private string _className;
+#endif
+		private bool _disposed;
+		private List<ICache> _caches = new List<ICache>();
+		private string _accessToken;
+		private Func<string> _getMapsSkuToken;
+		private bool _autoRefreshCache;
+
+
+		public CachingWebFileSource(string accessToken, Func<string> getMapsSkuToken, bool autoRefreshCache)
+		{
+#if MAPBOX_DEBUG_CACHE
+			_className = this.GetType().Name;
+#endif
+			_accessToken = accessToken;
+			_getMapsSkuToken = getMapsSkuToken;
+			_autoRefreshCache = autoRefreshCache;
+		}
+
+
+#region idisposable
+
+
+		~CachingWebFileSource()
+		{
+			Dispose(false);
+		}
+
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+		protected virtual void Dispose(bool disposeManagedResources)
+		{
+			if (!_disposed)
+			{
+				if (disposeManagedResources)
+				{
+					for (int i = 0; i < _caches.Count; i++)
+					{
+						IDisposable cache = _caches[i] as IDisposable;
+						if (null != cache)
+						{
+							cache.Dispose();
+							cache = null;
+						}
+					}
+				}
+				_disposed = true;
+			}
+		}
+
+
+#endregion
+
+
+		/// <summary>
+		/// Add an ICache instance
+		/// </summary>
+		/// <param name="cache">Implementation of ICache</param>
+		/// <returns></returns>
+		public CachingWebFileSource AddCache(ICache cache)
+		{
+			// don't add cache when cache size is 0
+			if (0 == cache.MaxCacheSize)
+			{
+				return this;
+			}
+
+			_caches.Add(cache);
+			return this;
+		}
+
+
+		/// <summary>
+		/// Clear all caches
+		/// </summary>
+		public void Clear()
+		{
+			foreach (var cache in _caches)
+			{
+				cache.Clear();
+			}
+		}
+
+
+		public void ReInit() {
+			foreach (var cache in _caches)
+			{
+				cache.ReInit();
+			}
+		}
+
+
+		public IAsyncRequest Request(
+			string uri
+			, Action<Response> callback
+			, int timeout = 10
+			, CanonicalTileId tileId = new CanonicalTileId()
+			, string tilesetId = null
+		)
+		{
+
+			if (string.IsNullOrEmpty(tilesetId))
+			{
+				throw new Exception("Cannot cache without a tileset id");
+			}
+
+			CacheItem cachedItem = null;
+
+			// go through existing caches and check if we already have the requested tile available
+			foreach (var cache in _caches)
+			{
+				cachedItem = cache.Get(tilesetId, tileId);
+				if (null != cachedItem)
+				{
+					break;
+				}
+			}
+
+			var uriBuilder = new UriBuilder(uri);
+			if (!string.IsNullOrEmpty(_accessToken))
+			{
+				string accessTokenQuery = "access_token=" + _accessToken;
+				string mapsSkuToken = "sku=" + _getMapsSkuToken();
+				if (uriBuilder.Query != null && uriBuilder.Query.Length > 1)
+				{
+					uriBuilder.Query = uriBuilder.Query.Substring(1) + "&" + accessTokenQuery + "&" + mapsSkuToken;
+				}
+				else
+				{
+					uriBuilder.Query = accessTokenQuery + "&" + mapsSkuToken;
+				}
+			}
+			string finalUrl = uriBuilder.ToString();
+
+#if MAPBOX_DEBUG_CACHE
+			string methodName = _className + "." + new System.Diagnostics.StackFrame().GetMethod().Name;
+#endif
+
+			// if tile was available call callback with it, propagate to all other caches and check if a newer one is available
+			if (null != cachedItem)
+			{
+#if MAPBOX_DEBUG_CACHE
+				UnityEngine.Debug.LogFormat("{0} {1} {2} {3}", methodName, tilesetId, tileId, null != cachedItem.Data ? cachedItem.Data.Length.ToString() : "cachedItem.Data is NULL");
+#endif
+				// immediately return cached tile
+				callback(Response.FromCache(cachedItem.Data));
+
+				// check for updated tiles online if this is enabled in the settings
+				if (_autoRefreshCache)
+				{
+					// check if tile on the web is newer than the one we already have locally
+					IAsyncRequestFactory.CreateRequest(
+						finalUrl,
+						(Response headerOnly) =>
+						{
+							// on error getting information from API just return. tile we have locally has already been returned above
+							if (headerOnly.HasError)
+							{
+								return;
+							}
+
+							// TODO: remove Debug.Log before PR
+							//UnityEngine.Debug.LogFormat(
+							//	"{1}{0}cached:{2}{0}header:{3}"
+							//	, Environment.NewLine
+							//	, finalUrl
+							//	, cachedItem.ETag
+							//	, headerOnly.Headers["ETag"]
+							//);
+
+							// data from cache is the same as on the web:
+							//   * tile has already been returned above
+							//   * make sure all all other caches have it too, but don't force insert via cache.add(false)
+							// additional ETag empty check: for backwards compability with old caches
+							if (!string.IsNullOrEmpty(cachedItem.ETag) && cachedItem.ETag.Equals(headerOnly.Headers["ETag"]))
+							{
+								foreach (var cache in _caches)
+								{
+									cache.Add(tilesetId, tileId, cachedItem, false);
+								}
+							}
+							else
+							{
+								// TODO: remove Debug.Log before PR
+								UnityEngine.Debug.LogWarningFormat(
+										"updating cached tile {1} tilesetId:{2}{0}cached etag:{3}{0}remote etag:{4}{0}{5}"
+										, Environment.NewLine
+										, tileId
+										, tilesetId
+										, cachedItem.ETag
+										, headerOnly.Headers["ETag"]
+										, finalUrl
+									);
+
+								// request updated tile and pass callback to return new data to subscribers
+								requestTileAndCache(finalUrl, tilesetId, tileId, timeout, callback);
+							}
+						}
+						, timeout
+						, HttpRequestType.Head
+					);
+				}
+
+				return new MemoryCacheAsyncRequest(uri);
+			}
+			else
+			{
+				// requested tile is not in any of the caches yet, get it
+#if MAPBOX_DEBUG_CACHE
+				UnityEngine.Debug.LogFormat("{0} {1} {2} not cached", methodName, tilesetId, tileId);
+#endif
+				return requestTileAndCache(finalUrl, tilesetId, tileId, timeout, callback);
+			}
+		}
+
+
+		private IAsyncRequest requestTileAndCache(string url, string tilesetId, CanonicalTileId tileId, int timeout, Action<Response> callback)
+		{
+			return IAsyncRequestFactory.CreateRequest(
+				url,
+				(Response r) =>
+				{
+					// if the request was successful add tile to all caches
+					if (!r.HasError && null != r.Data)
+					{
+						string eTag = string.Empty;
+						DateTime? lastModified = null;
+
+						if (!r.Headers.ContainsKey("ETag"))
+						{
+							UnityEngine.Debug.LogWarningFormat("no 'ETag' header present in response for {0}", url);
+						}
+						else
+						{
+							eTag = r.Headers["ETag"];
+						}
+
+						// not all APIs populate 'Last-Modified' header
+						// don't log error if it's missing
+						if (r.Headers.ContainsKey("Last-Modified"))
+						{
+							lastModified = DateTime.ParseExact(r.Headers["Last-Modified"], "r", null);
+						}
+
+						// propagate to all caches forcing update
+						foreach (var cache in _caches)
+						{
+							cache.Add(
+								tilesetId
+								, tileId
+								, new CacheItem()
+								{
+									Data = r.Data,
+									ETag = eTag,
+									LastModified = lastModified
+								}
+								, true // force insert/update
+							);
+						}
+					}
+					if (null != callback)
+					{
+						r.IsUpdate = true;
+						callback(r);
+					}
+				}, timeout);
+		}
+
+
+		class MemoryCacheAsyncRequest : IAsyncRequest
+		{
+
+
+			public string RequestUrl { get; private set; }
+
+
+			public MemoryCacheAsyncRequest(string requestUrl)
+			{
+				RequestUrl = requestUrl;
+			}
+
+
+			public bool IsCompleted
+			{
+				get
+				{
+					return true;
+				}
+			}
+
+
+			public HttpRequestType RequestType { get { return HttpRequestType.Get; } }
+
+
+			public void Cancel()
+			{
+				// Empty. We can't cancel an instantaneous response.
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CachingWebFileSource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CachingWebFileSource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ccfbe27dedf72ea0454c911d5fc2f9a9ca5ed99f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/CachingWebFileSource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 149bb7da83149324dab3982be7bc8cca
+timeCreated: 1494581732
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/ICache.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/ICache.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d94192c299d140a9ab1304ea3cfb6461f3b07909
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/ICache.cs
@@ -0,0 +1,53 @@
+
+namespace Mapbox.Platform.Cache
+{
+
+	using Mapbox.Map;
+	using System;
+
+
+	public interface ICache
+	{
+
+		/// <summary>
+		/// Maximum number of tiles to store
+		/// </summary>
+		uint MaxCacheSize { get; }
+
+
+		/// <summary>
+		/// Add tile data to the cache
+		/// </summary>
+		/// <param name="tilesetId">Tile set name</param>
+		/// <param name="tileId</param>
+		/// <param name="item">Item to cache</param>
+		/// <param name="replaceIfExists">Force insert even if item already exists.</param>
+		void Add(string tilesetId, CanonicalTileId tileId, CacheItem item, bool replaceIfExists);
+
+
+		/// <summary>
+		/// Get tile
+		/// </summary>
+		/// <param name="tilesetId"></param>
+		/// <param name="tileId"></param>
+		/// <returns>byte[] with tile data. Null if requested tile is not in cache</returns>
+		CacheItem Get(string tilesetId, CanonicalTileId tileId);
+
+
+		/// <summary>Clear cache for all tile sets</summary>
+		void Clear();
+
+
+		/// <summary>
+		/// Clear cache for one tile set
+		/// </summary>
+		/// <param name="tilesetId"></param>
+		void Clear(string tilesetId);
+
+
+		/// <summary>
+		/// Reinitialize cache. Might be needed after 'Clear', eg for SQLiteCache
+		/// </summary>
+		void ReInit();
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/ICache.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/ICache.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a38569271ce4cf0ab01b1c05b2eb1bca59ba3a2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/ICache.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4ebb2d197f248a7469620904e2adb43e
+timeCreated: 1494580896
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/MemoryCache.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/MemoryCache.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9a3254695e3983946d98f4b57339b6ffe7e7336c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/MemoryCache.cs
@@ -0,0 +1,112 @@
+using Mapbox.Map;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+
+namespace Mapbox.Platform.Cache
+{
+
+
+	public class MemoryCache : ICache
+	{
+
+
+		// TODO: add support for disposal strategy (timestamp, distance, etc.)
+		public MemoryCache(uint maxCacheSize)
+		{
+#if MAPBOX_DEBUG_CACHE
+			_className = this.GetType().Name;
+#endif
+			_maxCacheSize = maxCacheSize;
+			_cachedResponses = new Dictionary<string, CacheItem>();
+		}
+
+
+#if MAPBOX_DEBUG_CACHE
+		private string _className;
+#endif
+		private uint _maxCacheSize;
+		private object _lock = new object();
+		private Dictionary<string, CacheItem> _cachedResponses;
+
+
+		public uint MaxCacheSize
+		{
+			get { return _maxCacheSize; }
+		}
+
+
+		public void ReInit()
+		{
+			_cachedResponses = new Dictionary<string, CacheItem>();
+		}
+
+
+		public void Add(string mapdId, CanonicalTileId tilesetId, CacheItem item, bool forceInsert)
+		{
+			string key = mapdId + "||" + tilesetId;
+
+			lock (_lock)
+			{
+				if (_cachedResponses.Count >= _maxCacheSize)
+				{
+					_cachedResponses.Remove(_cachedResponses.OrderBy(c => c.Value.AddedToCacheTicksUtc).First().Key);
+				}
+
+				// TODO: forceInsert
+				if (!_cachedResponses.ContainsKey(key))
+				{
+					item.AddedToCacheTicksUtc = DateTime.UtcNow.Ticks;
+					_cachedResponses.Add(key, item);
+				}
+			}
+		}
+
+
+		public CacheItem Get(string tilesetId, CanonicalTileId tileId)
+		{
+			string key = tilesetId + "||" + tileId;
+
+#if MAPBOX_DEBUG_CACHE
+			string methodName = _className + "." + new System.Diagnostics.StackFrame().GetMethod().Name;
+			UnityEngine.Debug.LogFormat("{0} {1}", methodName, key);
+#endif
+
+			lock (_lock)
+			{
+				if (!_cachedResponses.ContainsKey(key))
+				{
+					return null;
+				}
+
+				return _cachedResponses[key];
+			}
+		}
+
+
+		public void Clear()
+		{
+			lock (_lock)
+			{
+				_cachedResponses.Clear();
+			}
+		}
+
+
+		public void Clear(string tilesetId)
+		{
+			lock (_lock)
+			{
+				tilesetId += "||";
+				List<string> toDelete = _cachedResponses.Keys.Where(k => k.Contains(tilesetId)).ToList();
+				foreach (string key in toDelete)
+				{
+					_cachedResponses.Remove(key);
+				}
+			}
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/MemoryCache.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/MemoryCache.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6880288c91a02ea43c0166e2ec241364d5c3360d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/MemoryCache.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2bd70b309ec2fd645af3e189d1d7ea5f
+timeCreated: 1494580911
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf805fc4ccaec2a0d0b120b2821acf6109ba486c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c6f1c408c0acc43538b678d17f6ea53d
+folderAsset: yes
+timeCreated: 1497883478
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/SQLiteCache.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/SQLiteCache.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a221ce11771d4cc753ed27d6bf986cc5c326968c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/SQLiteCache.cs
@@ -0,0 +1,485 @@
+namespace Mapbox.Platform.Cache
+{
+
+	using Mapbox.Map;
+	using Mapbox.Utils;
+	using SQLite4Unity3d;
+	using System;
+	using System.Collections.Generic;
+	using System.IO;
+	using System.Linq;
+	using UnityEngine;
+
+	public class SQLiteCache : ICache, IDisposable
+	{
+
+
+		/// <summary>
+		/// maximum number tiles that get cached
+		/// </summary>
+		public uint MaxCacheSize { get { return _maxTileCount; } }
+
+
+		/// <summary>
+		/// Check cache size every n inserts
+		/// </summary>
+		public uint PruneCacheDelta { get { return _pruneCacheDelta; } }
+
+
+#if MAPBOX_DEBUG_CACHE
+		private string _className;
+#endif
+		private bool _disposed;
+		private string _dbName;
+		private string _dbPath;
+		private SQLiteConnection _sqlite;
+		private readonly uint _maxTileCount;
+		/// <summary>check cache size only every '_pruneCacheDelta' calls to 'Add()' to avoid being too chatty with the database</summary>
+		private const int _pruneCacheDelta = 20;
+		/// <summary>counter to keep track of calls to `Add()`</summary>
+		private int _pruneCacheCounter = 0;
+		private object _lock = new object();
+
+
+		public SQLiteCache(uint? maxTileCount = null, string dbName = "cache.db")
+		{
+			_maxTileCount = maxTileCount ?? 3000;
+			_dbName = dbName;
+			init();
+		}
+
+
+		#region idisposable
+
+
+		~SQLiteCache()
+		{
+			Dispose(false);
+		}
+
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+		protected virtual void Dispose(bool disposeManagedResources)
+		{
+			if (!_disposed)
+			{
+				if (disposeManagedResources)
+				{
+					if (null != _sqlite)
+					{
+						_sqlite.Execute("VACUUM;"); // compact db to keep file size small
+						_sqlite.Close();
+						_sqlite.Dispose();
+						_sqlite = null;
+					}
+				}
+				_disposed = true;
+			}
+		}
+
+
+		#endregion
+
+
+		private void init()
+		{
+
+#if MAPBOX_DEBUG_CACHE
+			_className = this.GetType().Name;
+#endif
+			openOrCreateDb(_dbName);
+
+			//hrmpf: multiple PKs not supported by sqlite.net
+			//https://github.com/praeclarum/sqlite-net/issues/282
+			//do it via plain SQL
+
+			List<SQLiteConnection.ColumnInfo> colInfoTileset = _sqlite.GetTableInfo(typeof(tilesets).Name);
+			if (0 == colInfoTileset.Count)
+			{
+				string cmdCreateTableTilesets = @"CREATE TABLE tilesets(
+id    INTEGER PRIMARY KEY ASC AUTOINCREMENT NOT NULL UNIQUE,
+name  STRING  NOT NULL
+);";
+				_sqlite.Execute(cmdCreateTableTilesets);
+				string cmdCreateIdxNames = @"CREATE UNIQUE INDEX idx_names ON tilesets (name ASC);";
+				_sqlite.Execute(cmdCreateIdxNames);
+			}
+
+			List<SQLiteConnection.ColumnInfo> colInfoTiles = _sqlite.GetTableInfo(typeof(tiles).Name);
+			if (0 == colInfoTiles.Count)
+			{
+
+				string cmdCreateTableTiles = @"CREATE TABLE tiles(
+tile_set     INTEGER REFERENCES tilesets (id) ON DELETE CASCADE ON UPDATE CASCADE,
+zoom_level   INTEGER NOT NULL,
+tile_column  BIGINT  NOT NULL,
+tile_row     BIGINT  NOT NULL,
+tile_data    BLOB    NOT NULL,
+timestamp    INTEGER NOT NULL,
+etag         TEXT,
+lastmodified INTEGER,
+	PRIMARY KEY(
+		tile_set ASC,
+		zoom_level ASC,
+		tile_column ASC,
+		tile_row ASC
+	)
+);";
+				_sqlite.Execute(cmdCreateTableTiles);
+
+				string cmdIdxTileset = "CREATE INDEX idx_tileset ON tiles (tile_set ASC);";
+				_sqlite.Execute(cmdIdxTileset);
+				string cmdIdxTimestamp = "CREATE INDEX idx_timestamp ON tiles (timestamp ASC);";
+				_sqlite.Execute(cmdIdxTimestamp);
+			}
+
+
+			// some pragmas to speed things up a bit :-)
+			// inserting 1,000 tiles takes 1-2 sec as opposed to ~20 sec
+			string[] cmds = new string[]
+			{
+				"PRAGMA synchronous=OFF",
+				"PRAGMA count_changes=OFF",
+				"PRAGMA journal_mode=MEMORY",
+				"PRAGMA temp_store=MEMORY"
+			};
+			foreach (var cmd in cmds)
+			{
+				try
+				{
+					_sqlite.Execute(cmd);
+				}
+				catch (SQLiteException ex)
+				{
+					// workaround for sqlite.net's exeception:
+					// https://stackoverflow.com/a/23839503
+					if (ex.Result != SQLite3.Result.Row)
+					{
+						UnityEngine.Debug.LogErrorFormat("{0}: {1}", cmd, ex);
+						// TODO: when mapbox-sdk-cs gets backported to its own repo -> throw
+						//throw; // to throw or not to throw???
+					}
+				}
+			}
+		}
+
+
+		private void openOrCreateDb(string dbName)
+		{
+			_dbPath = GetFullDbPath(dbName);
+			_sqlite = new SQLiteConnection(_dbPath, SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.Create);
+		}
+
+
+		/// <summary>
+		/// <para>Reinitialize cache.</para>
+		/// <para>This is needed after 'Clear()' to recreate the cache database.</para>
+		/// <para>And has been implemented on purpose to not hold on to any references to the cache directory after 'Clear()'</para>
+		/// </summary>
+		public void ReInit()
+		{
+			if (null != _sqlite)
+			{
+				_sqlite.Dispose();
+				_sqlite = null;
+			}
+
+			init();
+		}
+
+
+		public static string GetFullDbPath(string dbName)
+		{
+			string dbPath = Path.Combine(Application.persistentDataPath, "cache");
+#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN || UNITY_WSA
+			dbPath = Path.GetFullPath(dbPath);
+#endif
+			if (!Directory.Exists(dbPath)) { Directory.CreateDirectory(dbPath); }
+			dbPath = Path.Combine(dbPath, dbName);
+
+			return dbPath;
+		}
+
+
+
+		public void Add(string tilesetName, CanonicalTileId tileId, CacheItem item, bool forceInsert = false)
+		{
+
+#if MAPBOX_DEBUG_CACHE
+			string methodName = _className + "." + new System.Diagnostics.StackFrame().GetMethod().Name;
+			UnityEngine.Debug.LogFormat("{0} {1} {2} forceInsert:{3}", methodName, tileset, tileId, forceInsert);
+#endif
+			try
+			{
+				// tile exists and we don't want to overwrite -> exit early
+				if (
+					TileExists(tilesetName, tileId)
+					&& !forceInsert
+				)
+				{
+					return;
+				}
+
+				int? tilesetId = null;
+				lock (_lock)
+				{
+					tilesetId = getTilesetId(tilesetName);
+					if (!tilesetId.HasValue)
+					{
+						tilesetId = insertTileset(tilesetName);
+					}
+				}
+
+				if (tilesetId < 0)
+				{
+					Debug.LogErrorFormat("could not get tilesetID for [{0}] tile: {1}", tilesetName, tileId);
+					return;
+				}
+
+				int rowsAffected = _sqlite.InsertOrReplace(new tiles
+				{
+					tile_set = tilesetId.Value,
+					zoom_level = tileId.Z,
+					tile_column = tileId.X,
+					tile_row = tileId.Y,
+					tile_data = item.Data,
+					timestamp = (int)UnixTimestampUtils.To(DateTime.Now),
+					etag = item.ETag
+				});
+				if (1 != rowsAffected)
+				{
+					throw new Exception(string.Format("tile [{0} / {1}] was not inserted, rows affected:{2}", tilesetName, tileId, rowsAffected));
+				}
+			}
+			catch (Exception ex)
+			{
+				Debug.LogErrorFormat("Error inserting {0} {1} {2} ", tilesetName, tileId, ex);
+			}
+
+			// update counter only when new tile gets inserted
+			if (!forceInsert)
+			{
+				_pruneCacheCounter++;
+			}
+			if (0 == _pruneCacheCounter % _pruneCacheDelta)
+			{
+				_pruneCacheCounter = 0;
+				prune();
+			}
+		}
+
+
+		private void prune()
+		{
+
+			long tileCnt = _sqlite.ExecuteScalar<long>("SELECT COUNT(zoom_level) FROM tiles");
+
+			if (tileCnt < _maxTileCount) { return; }
+
+			long toDelete = tileCnt - _maxTileCount;
+
+#if MAPBOX_DEBUG_CACHE
+			string methodName = _className + "." + new System.Diagnostics.StackFrame().GetMethod().Name;
+			Debug.LogFormat("{0} {1} about to prune()", methodName, _tileset);
+#endif
+
+			try
+			{
+				// no 'ORDER BY' or 'LIMIT' possible if sqlite hasn't been compiled with 'SQLITE_ENABLE_UPDATE_DELETE_LIMIT'
+				// https://sqlite.org/compile.html#enable_update_delete_limit
+				_sqlite.Execute("DELETE FROM tiles WHERE rowid IN ( SELECT rowid FROM tiles ORDER BY timestamp ASC LIMIT ? );", toDelete);
+			}
+			catch (Exception ex)
+			{
+				Debug.LogErrorFormat("error pruning: {0}", ex);
+			}
+		}
+
+
+		/// <summary>
+		/// Returns the tile data, otherwise null
+		/// </summary>
+		/// <param name="tileId">Canonical tile id to identify the tile</param>
+		/// <returns>tile data as byte[], if tile is not cached returns null</returns>
+		public CacheItem Get(string tilesetName, CanonicalTileId tileId)
+		{
+#if MAPBOX_DEBUG_CACHE
+			string methodName = _className + "." + new System.Diagnostics.StackFrame().GetMethod().Name;
+			Debug.LogFormat("{0} {1} {2}", methodName, _tileset, tileId);
+#endif
+			tiles tile = null;
+
+			try
+			{
+				int? tilesetId = getTilesetId(tilesetName);
+				if (!tilesetId.HasValue)
+				{
+					return null;
+				}
+
+				tile = _sqlite
+					.Table<tiles>()
+					.Where(t =>
+						t.tile_set == tilesetId.Value
+						&& t.zoom_level == tileId.Z
+						&& t.tile_column == tileId.X
+						&& t.tile_row == tileId.Y
+						)
+					.FirstOrDefault();
+			}
+			catch (Exception ex)
+			{
+				Debug.LogErrorFormat("error getting tile {1} {2} from cache{0}{3}", Environment.NewLine, tilesetName, tileId, ex);
+				return null;
+			}
+			if (null == tile)
+			{
+				return null;
+			}
+
+			DateTime? lastModified = null;
+			if (tile.lastmodified.HasValue) { lastModified = UnixTimestampUtils.From((double)tile.lastmodified.Value); }
+
+			return new CacheItem()
+			{
+				Data = tile.tile_data,
+				AddedToCacheTicksUtc = tile.timestamp,
+				ETag = tile.etag,
+				LastModified = lastModified
+			};
+		}
+
+
+		/// <summary>
+		/// Check if tile exists
+		/// </summary>
+		/// <param name="tileId">Canonical tile id</param>
+		/// <returns>True if tile exists</returns>
+		public bool TileExists(string tilesetName, CanonicalTileId tileId)
+		{
+			int? tilesetId = getTilesetId(tilesetName);
+			if (!tilesetId.HasValue)
+			{
+				return false;
+			}
+
+			return null != _sqlite
+				.Table<tiles>()
+				.Where(t =>
+					t.tile_set == tilesetId.Value
+					&& t.zoom_level == tileId.Z
+					&& t.tile_column == tileId.X
+					&& t.tile_row == tileId.Y
+					)
+				.FirstOrDefault();
+		}
+
+
+		private int insertTileset(string tilesetName)
+		{
+			try
+			{
+				_sqlite.BeginTransaction(true);
+				tilesets newTileset = new tilesets { name = tilesetName };
+				int rowsAffected = _sqlite.Insert(newTileset);
+				if (1 != rowsAffected)
+				{
+					throw new Exception(string.Format("tileset [{0}] was not inserted, rows affected:{1}", tilesetName, rowsAffected));
+				}
+				return newTileset.id;
+			}
+			catch (Exception ex)
+			{
+				Debug.LogErrorFormat("could not insert tileset [{0}]: {1}", tilesetName, ex);
+				return -1;
+			}
+			finally
+			{
+				_sqlite.Commit();
+			}
+		}
+
+
+		private int? getTilesetId(string tilesetName)
+		{
+			tilesets tileset = _sqlite
+				.Table<tilesets>()
+				.Where(ts => ts.name.Equals(tilesetName))
+				.FirstOrDefault();
+			return null == tileset ? (int?)null : tileset.id;
+		}
+
+
+		/// <summary>
+		/// FOR INTERNAL DEBUGGING ONLY - DON'T RELY ON IN PRODUCTION
+		/// </summary>
+		/// <param name="tilesetName"></param>
+		/// <returns></returns>
+		public long TileCount(string tilesetName)
+		{
+			int? tilesetId = getTilesetId(tilesetName);
+			if (!tilesetId.HasValue) { return 0; }
+
+			return _sqlite
+				.Table<tiles>()
+				.Where(t => t.tile_set == tilesetId.Value)
+				.LongCount();
+		}
+
+
+		/// <summary>
+		/// Clear cache for one tile set
+		/// </summary>
+		/// <param name="tilesetName"></param>
+		public void Clear(string tilesetName)
+		{
+			int? tilesetId = getTilesetId(tilesetName);
+			if (!tilesetId.HasValue) { return; }
+			//just delete on table 'tilesets', we've setup cascading which should take care of tabls 'tiles'
+			_sqlite.Delete<tilesets>(tilesetId.Value);
+		}
+
+
+		/// <summary>
+		/// <para>Delete the database file.</para>
+		/// <para>Call 'ReInit()' if you intend to continue using the cache after 'Clear()!</para>
+		/// </summary>
+		public void Clear()
+		{
+			//already disposed
+			if (null == _sqlite) { return; }
+
+			_sqlite.Close();
+			_sqlite.Dispose();
+			_sqlite = null;
+
+			Debug.LogFormat("deleting {0}", _dbPath);
+
+			// try several times in case SQLite needs a bit more time to dispose
+			for (int i = 0; i < 5; i++)
+			{
+				try
+				{
+					File.Delete(_dbPath);
+					return;
+				}
+				catch
+				{
+#if !WINDOWS_UWP
+					System.Threading.Thread.Sleep(100);
+#else
+					System.Threading.Tasks.Task.Delay(100).Wait();
+#endif
+				}
+			}
+
+			// if we got till here, throw on last try
+			File.Delete(_dbPath);
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/SQLiteCache.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/SQLiteCache.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..93776d875726464a8205c663e6d14ab34f104c56
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/SQLiteCache.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8aeee08edfa6c46648cf1dc623b72a1e
+timeCreated: 1497883479
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tiles.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tiles.cs
new file mode 100644
index 0000000000000000000000000000000000000000..18629526bcdd3e9bd2db8759f01f9ad11354896a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tiles.cs
@@ -0,0 +1,40 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using SQLite4Unity3d;
+
+namespace Mapbox.Platform.Cache
+{
+
+	/// <summary>
+	/// Don't change the class name: sqlite-net uses it for table creation
+	/// </summary>
+	public class tiles
+	{
+
+		public int tile_set { get; set; }
+
+		//hrmpf: multiple PKs not supported by sqlite.net
+		//https://github.com/praeclarum/sqlite-net/issues/282
+		//TODO: do it via plain SQL
+		//[PrimaryKey]
+		public int zoom_level { get; set; }
+
+		//[PrimaryKey]
+		public long tile_column { get; set; }
+
+		//[PrimaryKey]
+		public long tile_row { get; set; }
+
+		public byte[] tile_data { get; set; }
+
+		/// <summary>Unix epoch for simple FIFO pruning </summary>
+		public int timestamp { get; set; }
+
+		/// <summary> ETag Header value of the reponse for auto updating cache</summary>
+		public string etag { get; set; }
+
+		/// <summary>Last-Modified header value of API response. Not all APIs populate it, will be -1 in that case. </summary>
+		public int? lastmodified { get; set; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tiles.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tiles.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0bac32305a6ca1007984906f001ab43c56bbc055
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tiles.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7d8f9ca4f2240481ba4023eff7781487
+timeCreated: 1497883479
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tilesets.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tilesets.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ebd47aa281597453b0babc5b2697637be45c381d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tilesets.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using SQLite4Unity3d;
+
+namespace Mapbox.Platform.Cache
+{
+
+	/// <summary>
+	/// Don't change the class name: sqlite-net uses it for table creation
+	/// </summary>
+	public class tilesets
+	{
+
+		//hrmpf: multiple PKs not supported by sqlite.net
+		//https://github.com/praeclarum/sqlite-net/issues/282
+		//TODO: do it via plain SQL
+		[PrimaryKey, AutoIncrement]
+		public int id { get; set; }
+
+		public string name { get; set; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tilesets.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tilesets.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6ee5789f7bef059553aedd5b578284e41254ab47
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Cache/SQLiteCache/Tilesets.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: bb0cc61c516c1984f8ab3ac0ce3c3e64
+timeCreated: 1527515199
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/FileSource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/FileSource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3225832c194071f52e3c3b1d1ac71e911b5f7dce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/FileSource.cs
@@ -0,0 +1,255 @@
+//-----------------------------------------------------------------------
+// <copyright file="FileSource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+using Mapbox.Unity;
+
+namespace Mapbox.Platform
+{
+	using Mapbox.Map;
+	using Mapbox.Unity.Utilities;
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Linq;
+	using System.Net;
+	using System.Net.Security;
+#if !NETFX_CORE
+	using System.Security.Cryptography.X509Certificates;
+#endif
+#if !UNITY_5_3_OR_NEWER
+	using System.Threading;
+#endif
+#if UNITY_EDITOR
+	using UnityEditor;
+#endif
+#if UNITY_5_3_OR_NEWER
+	using UnityEngine;
+#endif
+
+	/// <summary>
+	///     Mono implementation of the FileSource class. It will use Mono's
+	///     <see href="http://www.mono-project.com/docs/advanced/runtime/">runtime</see> to
+	///     asynchronously fetch data from the network via HTTP or HTTPS requests.
+	/// </summary>
+	/// <remarks>
+	///     This implementation requires .NET 4.5 and later. The access token is expected to
+	///     be exported to the environment as MAPBOX_ACCESS_TOKEN.
+	/// </remarks>
+	public sealed class FileSource : IFileSource
+	{
+
+		private Func<string> _getMapsSkuToken;
+		private readonly Dictionary<IAsyncRequest, int> _requests = new Dictionary<IAsyncRequest, int>();
+		private readonly string _accessToken;
+		private readonly object _lock = new object();
+
+		/// <summary>Length of rate-limiting interval in seconds. https://www.mapbox.com/api-documentation/#rate-limit-headers </summary>
+#pragma warning disable 0414
+		private int? XRateLimitInterval;
+		/// <summary>Maximum number of requests you may make in the current interval before reaching the limit. https://www.mapbox.com/api-documentation/#rate-limit-headers </summary>
+		private long? XRateLimitLimit;
+		/// <summary>Timestamp of when the current interval will end and the ratelimit counter is reset. https://www.mapbox.com/api-documentation/#rate-limit-headers </summary>
+		private DateTime? XRateLimitReset;
+#pragma warning restore 0414
+
+
+		public FileSource(Func<string> getMapsSkuToken, string acessToken = null)
+		{
+			_getMapsSkuToken = getMapsSkuToken;
+			if (string.IsNullOrEmpty(acessToken))
+			{
+				_accessToken = Environment.GetEnvironmentVariable("MAPBOX_ACCESS_TOKEN");
+			}
+			else
+			{
+				_accessToken = acessToken;
+			}
+		}
+
+		/// <summary> Performs a request asynchronously. </summary>
+		/// <param name="url"> The HTTP/HTTPS url. </param>
+		/// <param name="callback"> Callback to be called after the request is completed. </param>
+		/// <returns>
+		///     Returns a <see cref="IAsyncRequest" /> that can be used for canceling a pending
+		///     request. This handle can be completely ignored if there is no intention of ever
+		///     canceling the request.
+		/// </returns>
+		public IAsyncRequest Request(
+			string url
+			, Action<Response> callback
+			, int timeout = 10
+			, CanonicalTileId tileId = new CanonicalTileId()
+			, string tilesetId = null
+		)
+		{
+			if (!string.IsNullOrEmpty(_accessToken))
+			{
+				var uriBuilder = new UriBuilder(url);
+				string accessTokenQuery = "access_token=" + _accessToken;
+				string skuToken = "sku=" + _getMapsSkuToken();
+				if (uriBuilder.Query != null && uriBuilder.Query.Length > 1)
+				{
+					uriBuilder.Query = uriBuilder.Query.Substring(1) + "&" + accessTokenQuery + "&" + skuToken;;
+				}
+				else
+				{
+					uriBuilder.Query = accessTokenQuery + "&" + skuToken;
+				}
+
+				url = uriBuilder.ToString();
+			}
+
+			// TODO:
+			// * add queue for requests
+			// * evaluate rate limits (headers and status code)
+			// * throttle requests accordingly
+			//var request = new HTTPRequest(url, callback);
+			//IEnumerator<IAsyncRequest> proxy = proxyResponse(url, callback);
+			//proxy.MoveNext();
+			//IAsyncRequest request = proxy.Current;
+
+			//return request;
+
+			return proxyResponse(url, callback, timeout, tileId, tilesetId);
+		}
+
+
+		// TODO: look at requests and implement throttling if needed
+		//private IEnumerator<IAsyncRequest> proxyResponse(string url, Action<Response> callback) {
+		private IAsyncRequest proxyResponse(
+			string url
+			, Action<Response> callback
+			, int timeout
+			, CanonicalTileId tileId
+			, string tilesetId
+		)
+		{
+
+			// TODO: plugin caching somewhere around here
+
+			var request = IAsyncRequestFactory.CreateRequest(
+				url
+				, (Response response) =>
+				{
+					if (response.XRateLimitInterval.HasValue) { XRateLimitInterval = response.XRateLimitInterval; }
+					if (response.XRateLimitLimit.HasValue) { XRateLimitLimit = response.XRateLimitLimit; }
+					if (response.XRateLimitReset.HasValue) { XRateLimitReset = response.XRateLimitReset; }
+					callback(response);
+					lock (_lock)
+					{
+						//another place to catch if request has been cancelled
+						try
+						{
+							_requests.Remove(response.Request);
+						}
+						catch (Exception ex)
+						{
+							System.Diagnostics.Debug.WriteLine(ex);
+						}
+					}
+				}
+				, timeout
+			);
+			lock (_lock)
+			{
+				//sometimes we get here after the request has already finished
+				if (!request.IsCompleted)
+				{
+					_requests.Add(request, 0);
+				}
+			}
+			//yield return request;
+			return request;
+		}
+
+
+#if UNITY_5_3_OR_NEWER
+		/// <summary>
+		///     Block until all the requests are processed.
+		/// </summary>
+		public IEnumerator WaitForAllRequests()
+		{
+			while (_requests.Count > 0)
+			{
+				lock (_lock)
+				{
+					List<IAsyncRequest> reqs = _requests.Keys.ToList();
+					for (int i = reqs.Count - 1; i > -1; i--)
+					{
+						if (reqs[i].IsCompleted)
+						{
+							// another place to watch out if request has been cancelled
+							try
+							{
+								_requests.Remove(reqs[i]);
+							}
+							catch (Exception ex)
+							{
+								System.Diagnostics.Debug.WriteLine(ex);
+							}
+						}
+					}
+				}
+				yield return new WaitForSeconds(0.2f);
+			}
+		}
+#endif
+
+
+
+#if !UNITY_5_3_OR_NEWER
+		/// <summary>
+		///     Block until all the requests are processed.
+		/// </summary>
+		public void WaitForAllRequests()
+		{
+			int waitTimeMs = 200;
+			while (_requests.Count > 0)
+			{
+				lock (_lock)
+				{
+					List<IAsyncRequest> reqs = _requests.Keys.ToList();
+					for (int i = reqs.Count - 1; i > -1; i--)
+					{
+						if (reqs[i].IsCompleted)
+						{
+							// another place to watch out if request has been cancelled
+							try
+							{
+								_requests.Remove(reqs[i]);
+							}
+							catch (Exception ex)
+							{
+								System.Diagnostics.Debug.WriteLine(ex);
+							}
+						}
+					}
+				}
+
+#if WINDOWS_UWP
+				System.Threading.Tasks.Task.Delay(waitTimeMs).Wait();
+#else
+				//Thread.Sleep(50);
+				// TODO: get rid of DoEvents!!! and find non-blocking wait that works for Net3.5
+				//System.Windows.Forms.Application.DoEvents();
+
+				var resetEvent = new ManualResetEvent(false);
+				ThreadPool.QueueUserWorkItem(new WaitCallback(delegate
+				{
+					Thread.Sleep(waitTimeMs);
+					resetEvent.Set();
+				}), null);
+				UnityEngine.Debug.Log("before waitOne " + DateTime.Now.Ticks);
+				resetEvent.WaitOne();
+				UnityEngine.Debug.Log("after waitOne " + DateTime.Now.Ticks);
+				resetEvent.Close();
+				resetEvent = null;
+#endif
+			}
+		}
+#endif
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/FileSource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/FileSource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..165abc85ceeba0d71e44ac9a9783dacc20ea3db0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/FileSource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a17c999e5ca80474584c39dfa7d5a62a
+timeCreated: 1494952070
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestNonThreaded.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestNonThreaded.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3421f99e055942f9378375ab3f196f2462c0e33f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestNonThreaded.cs
@@ -0,0 +1,236 @@
+#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_ANDROID || UNITY_WP_8_1 || UNITY_WSA || UNITY_WEBGL || UNITY_IOS || UNITY_PS4 || UNITY_SAMSUNGTV || UNITY_XBOXONE || UNITY_TIZEN || UNITY_TVOS
+#define UNITY
+#endif
+
+//-----------------------------------------------------------------------
+// <copyright file="HTTPRequest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+//     Based on http://stackoverflow.com/a/12606963 and http://wiki.unity3d.com/index.php/WebAsync
+// </copyright>
+//-----------------------------------------------------------------------
+
+#if !UNITY
+
+namespace Mapbox.Platform {
+
+
+	using System;
+	using System.Net;
+#if !UNITY && !NETFX_CORE
+	using System.Net.Cache;
+#endif
+	using System.IO;
+	using System.Collections.Generic;
+	using System.Threading;
+	using System.ComponentModel;
+	using Utils;
+#if NETFX_CORE
+	using System.Net.Http;
+	using System.Linq;
+#endif
+
+	internal sealed class HTTPRequestNonThreaded : IAsyncRequest {
+
+
+		public bool IsCompleted { get; private set; }
+
+
+		private Action<Response> _callback;
+#if !NETFX_CORE
+		private HttpWebRequest _request;
+#else
+		private HttpClient _request;
+		private CancellationTokenSource _cancellationTokenSource = new CancellationTokenSource();
+#endif
+#if !UNITY
+		private SynchronizationContext _sync = AsyncOperationManager.SynchronizationContext;
+#endif
+		private int _timeOut;
+		private string _requestUrl;
+		private readonly string _userAgent = "mapbox-sdk-cs";
+
+
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <param name="url"></param>
+		/// <param name="callback"></param>
+		/// <param name="timeOut">seconds</param>
+		public HTTPRequestNonThreaded(string url, Action<Response> callback, int timeOut = 10) {
+
+			IsCompleted = false;
+			_callback = callback;
+			_timeOut = timeOut;
+			_requestUrl = url;
+
+			setupRequest();
+
+			Action a = () => { getResponseNonThreaded(_request, EvaluateResponse); };
+			//Fire and forget ;-)
+			a.BeginInvoke(a.EndInvoke, null);
+		}
+
+
+		private void setupRequest() {
+
+#if !NETFX_CORE
+			_request = WebRequest.Create(_requestUrl) as HttpWebRequest;
+			_request.UserAgent = _userAgent;
+			//_hwr.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36";
+			//_hwr.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
+			_request.Credentials = CredentialCache.DefaultCredentials;
+			_request.KeepAlive = true;
+			_request.ProtocolVersion = HttpVersion.Version11; // improved performance
+
+			// improved performance. 
+			// ServicePointManager.DefaultConnectionLimit doesn't seem to change anything
+			// set ConnectionLimit per request
+			// https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(v=vs.90).aspx#Remarks
+			// use a value that is 12 times the number of CPUs on the local computer
+			_request.ServicePoint.ConnectionLimit = Environment.ProcessorCount * 6;
+
+			_request.ServicePoint.UseNagleAlgorithm = true;
+			_request.ServicePoint.Expect100Continue = false;
+			_request.ServicePoint.MaxIdleTime = 2000;
+			_request.Method = "GET";
+			_request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
+			_request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
+			//_hwr.Timeout = timeOut * 1000; doesn't work in async calls, see below
+
+#else
+			HttpClientHandler handler = new HttpClientHandler() {
+				AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
+				AllowAutoRedirect = true,
+				UseDefaultCredentials = true
+
+			};
+			_request = new HttpClient(handler);
+			_request.DefaultRequestHeaders.Add("User-Agent", _userAgent);
+			_request.Timeout = TimeSpan.FromSeconds(_timeOut);
+
+			// TODO: how to set ConnectionLimit? ServicePoint.ConnectionLimit doesn't seem to be available.
+#endif
+
+#if !UNITY && !NETFX_CORE
+			// 'NoCacheNoStore' greatly reduced the number of faulty request
+			// seems that .Net caching and Mapbox API don't play well together
+			_request.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);
+#endif
+		}
+
+
+
+#if NETFX_CORE
+		private async void getResponseNonThreaded(HttpClient request, Action<HttpResponseMessage, Exception> gotResponse) {
+
+			// TODO: implement a strategy similar to the full .Net one to avoid blocking of 'GetAsync()'
+			// see 'Remarks' https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.timeout?view=netcore-1.1#System_Net_Http_HttpClient_Timeout
+			// "A Domain Name System (DNS) query may take up to 15 seconds to return or time out."
+
+			HttpResponseMessage response = null;
+			try {
+				response = await request.GetAsync(_requestUrl, _cancellationTokenSource.Token);
+				gotResponse(response, null);
+			}
+			catch (Exception ex) {
+				gotResponse(response, ex);
+			}
+
+		}
+
+
+		private async void EvaluateResponse(HttpResponseMessage apiResponse, Exception apiEx) {
+
+			var response = await Response.FromWebResponse(this, apiResponse, apiEx);
+
+			// post (async) callback back to the main/UI thread
+			// Unity: SynchronizationContext doesn't do anything
+			//        use the Dispatcher
+#if !UNITY
+			_sync.Post(delegate { callCallbackAndcleanUp(response); }, null);
+#else
+			UnityToolbag.Dispatcher.InvokeAsync(() => { callCallbackAndcleanUp(response); });
+#endif
+		}
+
+#endif
+
+
+#if !NETFX_CORE
+		private void getResponseNonThreaded(HttpWebRequest request, Action<HttpWebResponse, Exception> gotResponse) {
+
+			HttpWebResponse response = null;
+			try {
+				response = (HttpWebResponse)request.GetResponse();
+				gotResponse(response, null);
+			}
+			catch (WebException wex) {
+				//another place to watchout for HttpWebRequest.Abort to occur
+				if (wex.Status == WebExceptionStatus.RequestCanceled) {
+					gotResponse(null, wex);
+				} else {
+					HttpWebResponse hwr = wex.Response as HttpWebResponse;
+					if (null == hwr) {
+						gotResponse(null, wex);
+					} else {
+						gotResponse(hwr, wex);
+					}
+				}
+			}
+			catch (Exception ex) {
+				gotResponse(response, ex);
+			}
+		}
+
+
+		private void EvaluateResponse(HttpWebResponse apiResponse, Exception apiEx) {
+
+			var response = Response.FromWebResponse(this, apiResponse, apiEx);
+
+#if !UNITY
+			// post (async) callback back to the main/UI thread
+			// Unity: SynchronizationContext doesn't do anything
+			//        use the Dispatcher
+			_sync.Post(delegate { callCallbackAndcleanUp(response); }, null);
+#else
+			// Unity is playing
+			if (UnityToolbag.Dispatcher._instanceExists) {
+				UnityToolbag.Dispatcher.InvokeAsync(() => { callCallbackAndcleanUp(response); });
+			} else { // Unity is in Edit Mode
+#if UNITY_EDITOR
+				Mapbox.Unity.DispatcherEditor.InvokeAsync(() => { callCallbackAndcleanUp(response); });
+#endif
+			}
+#endif
+		}
+#endif
+
+
+		private void callCallbackAndcleanUp(Response response) {
+			_callback(response);
+			IsCompleted = true;
+			_callback = null;
+#if NETFX_CORE
+			if (null != _request) {
+				_request.Dispose();
+				_request = null;
+			}
+#endif
+		}
+
+
+		public void Cancel() {
+
+#if !NETFX_CORE
+			if (null != _request) {
+				_request.Abort();
+			}
+#else
+			_cancellationTokenSource.Cancel();
+#endif
+		}
+
+
+	}
+}
+#endif
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestNonThreaded.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestNonThreaded.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..942353d38932e3a8396e5eb7c2fbafc53f05bb3c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestNonThreaded.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ca6d4261d474b4de0b14637c81b1795c
+timeCreated: 1494952070
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestThreaded.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestThreaded.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c8274b5aac257d4dd5ce18890b183149b9cd3db2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestThreaded.cs
@@ -0,0 +1,318 @@
+//-----------------------------------------------------------------------
+// <copyright file="HTTPRequest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+//     Based on http://stackoverflow.com/a/12606963 and http://wiki.unity3d.com/index.php/WebAsync
+// </copyright>
+//-----------------------------------------------------------------------
+
+#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_ANDROID || UNITY_WP_8_1 || UNITY_WSA || UNITY_WEBGL || UNITY_IOS || UNITY_PS4 || UNITY_SAMSUNGTV || UNITY_XBOXONE || UNITY_TIZEN || UNITY_TVOS
+#define UNITY
+#endif
+
+#if !UNITY
+
+namespace Mapbox.Platform {
+
+
+	using System;
+	using System.Net;
+#if !UNITY && !NETFX_CORE
+	using System.Net.Cache;
+#endif
+	using System.IO;
+	using System.Collections.Generic;
+	using System.Threading;
+	using System.ComponentModel;
+	using Utils;
+#if NETFX_CORE
+	using System.Net.Http;
+	using System.Linq;
+#endif
+
+	//using System.Windows.Threading;
+
+	internal sealed class HTTPRequestThreaded : IAsyncRequest {
+
+
+		public bool IsCompleted { get; private set; }
+
+
+		private Action<Response> _callback;
+#if !NETFX_CORE
+		private HttpWebRequest _request;
+#else
+		private HttpClient _request;
+		private CancellationTokenSource _cancellationTokenSource = new CancellationTokenSource();
+#endif
+#if !UNITY
+		private SynchronizationContext _sync = AsyncOperationManager.SynchronizationContext;
+#endif
+		private int _timeOut;
+		private string _requestUrl;
+		private readonly string _userAgent = "mapbox-sdk-cs";
+
+
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <param name="url"></param>
+		/// <param name="callback"></param>
+		/// <param name="timeOut">seconds</param>
+		public HTTPRequestThreaded(string url, Action<Response> callback, int timeOut = 10) {
+
+			IsCompleted = false;
+			_callback = callback;
+			_timeOut = timeOut;
+			_requestUrl = url;
+
+			setupRequest();
+			getResponseAsync(_request, EvaluateResponse);
+		}
+
+
+		private void setupRequest() {
+
+#if !NETFX_CORE
+			_request = WebRequest.Create(_requestUrl) as HttpWebRequest;
+			_request.UserAgent = _userAgent;
+			//_hwr.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36";
+			//_hwr.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
+			_request.Credentials = CredentialCache.DefaultCredentials;
+			_request.KeepAlive = true;
+			_request.ProtocolVersion = HttpVersion.Version11; // improved performance
+
+			// improved performance. 
+			// ServicePointManager.DefaultConnectionLimit doesn't seem to change anything
+			// set ConnectionLimit per request
+			// https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(v=vs.90).aspx#Remarks
+			// use a value that is 12 times the number of CPUs on the local computer
+			_request.ServicePoint.ConnectionLimit  = Environment.ProcessorCount * 6;
+
+			_request.ServicePoint.UseNagleAlgorithm = true;
+			_request.ServicePoint.Expect100Continue = false;
+			_request.ServicePoint.MaxIdleTime = 2000;
+			_request.Method = "GET";
+			_request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
+			_request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
+			//_hwr.Timeout = timeOut * 1000; doesn't work in async calls, see below
+
+#else
+			HttpClientHandler handler = new HttpClientHandler() {
+				AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
+				AllowAutoRedirect = true,
+				UseDefaultCredentials = true
+
+			};
+			_request = new HttpClient(handler);
+			_request.DefaultRequestHeaders.Add("User-Agent", _userAgent);
+			_request.Timeout = TimeSpan.FromSeconds(_timeOut);
+
+			// TODO: how to set ConnectionLimit? ServicePoint.ConnectionLimit doesn't seem to be available.
+#endif
+
+#if !UNITY && !NETFX_CORE
+			// 'NoCacheNoStore' greatly reduced the number of faulty request
+			// seems that .Net caching and Mapbox API don't play well together
+			_request.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);
+#endif
+		}
+
+
+
+#if NETFX_CORE
+
+		private async void getResponseAsync(HttpClient request, Action<HttpResponseMessage, Exception> gotResponse) {
+
+			// TODO: implement a strategy similar to the full .Net one to avoid blocking of 'GetAsync()'
+			// see 'Remarks' https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.timeout?view=netcore-1.1#System_Net_Http_HttpClient_Timeout
+			// "A Domain Name System (DNS) query may take up to 15 seconds to return or time out."
+
+			HttpResponseMessage response = null;
+			try {
+				response = await request.GetAsync(_requestUrl, _cancellationTokenSource.Token);
+				gotResponse(response, null);
+			}
+			catch (Exception ex) {
+				gotResponse(response, ex);
+			}
+
+		}
+
+
+		private async void EvaluateResponse(HttpResponseMessage apiResponse, Exception apiEx) {
+
+			var response = await Response.FromWebResponse(this, apiResponse, apiEx);
+
+			// post (async) callback back to the main/UI thread
+			// Unity: SynchronizationContext doesn't do anything
+			//        use the Dispatcher
+#if !UNITY
+			_sync.Post(delegate {
+				_callback(response);
+				IsCompleted = true;
+				_callback = null;
+#if NETFX_CORE
+				if (null != _request) {
+					_request.Dispose();
+					_request = null;
+				}
+#endif
+			}, null);
+#else
+			UnityToolbag.Dispatcher.InvokeAsync(() => {
+				_callback(response);
+				IsCompleted = true;
+				_callback = null;
+#if NETFX_CORE
+				if (null != _request) {
+					_request.Dispose();
+					_request = null;
+				}
+#endif
+			});
+#endif
+		}
+
+#endif
+
+
+#if !NETFX_CORE
+		private void getResponseAsync(HttpWebRequest request, Action<HttpWebResponse, Exception> gotResponse) {
+
+			// create an additional action wrapper, because of:
+			// https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.begingetresponse.aspx
+			// The BeginGetResponse method requires some synchronous setup tasks to complete (DNS resolution,
+			//proxy detection, and TCP socket connection, for example) before this method becomes asynchronous.
+			// As a result, this method should never be called on a user interface (UI) thread because it might
+			// take considerable time(up to several minutes depending on network settings) to complete the
+			// initial synchronous setup tasks before an exception for an error is thrown or the method succeeds.
+
+			Action actionWrapper = () => {
+				try {
+					// BeginInvoke runs on a thread of the thread pool (!= main/UI thread)
+					// that's why we need SynchronizationContext when 
+					// TODO: how to influence threadpool: nr of threads etc.
+					long startTicks = DateTime.Now.Ticks;
+					request.BeginGetResponse((asycnResult) => {
+						try { // there's a try/catch here because execution path is different from invokation one, exception here may cause a crash
+							long beforeEndGet = DateTime.Now.Ticks;
+							HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asycnResult);
+							//long finished = DateTime.Now.Ticks;
+							//long duration = finished - startTicks;
+							//TimeSpan ts = TimeSpan.FromTicks(duration);
+							//TimeSpan tsEndGet = TimeSpan.FromTicks(finished - beforeEndGet);
+							//TimeSpan tsBeginGet = TimeSpan.FromTicks(beforeEndGet - startTicks);
+							//UnityEngine.Debug.Log("received response - " + ts.Milliseconds + "ms" + " BeginGet: " + tsBeginGet.Milliseconds + " EndGet: " + tsEndGet.Milliseconds + " CompletedSynchronously: " + asycnResult.CompletedSynchronously);
+							gotResponse(response, null);
+						}
+						// EndGetResponse() throws on on some status codes, try to get response anyway (and status codes)
+						catch (WebException wex) {
+							//another place to watchout for HttpWebRequest.Abort to occur
+							if (wex.Status == WebExceptionStatus.RequestCanceled) {
+								gotResponse(null, wex);
+							} else {
+								HttpWebResponse hwr = wex.Response as HttpWebResponse;
+								if (null == hwr) {
+									throw;
+								}
+								gotResponse(hwr, wex);
+							}
+						}
+						catch (Exception ex) {
+							gotResponse(null, ex);
+						}
+					}
+					, null);
+				}
+				catch (Exception ex) {
+					//catch exception from HttpWebRequest.Abort
+					gotResponse(null, ex);
+				}
+			};
+
+			try {
+				actionWrapper.BeginInvoke(new AsyncCallback((iAsyncResult) => {
+					var action = (Action)iAsyncResult.AsyncState;
+					action.EndInvoke(iAsyncResult);
+				})
+				, actionWrapper);
+			}
+			catch (Exception ex) {
+				gotResponse(null, ex);
+			}
+		}
+
+
+
+		private void EvaluateResponse(HttpWebResponse apiResponse, Exception apiEx) {
+
+			var response = Response.FromWebResponse(this, apiResponse,apiEx);
+
+			// post (async) callback back to the main/UI thread
+			// Unity: SynchronizationContext doesn't do anything
+			//        use the Dispatcher
+#if !UNITY
+			_sync.Post(delegate {
+				_callback(response);
+				IsCompleted = true;
+				_callback = null;
+#if NETFX_CORE
+				if (null != _request) {
+					_request.Dispose();
+					_request = null;
+				}
+#endif
+			}, null);
+#else
+			// Unity is playing
+			if (UnityToolbag.Dispatcher._instanceExists) {
+				UnityToolbag.Dispatcher.InvokeAsync(() => {
+					_callback(response);
+					IsCompleted = true;
+					_callback = null;
+#if NETFX_CORE
+					if (null != _request) {
+						_request.Dispose();
+						_request = null;
+					}
+#endif
+				});
+			} else { // Unity is in Edit Mode
+#if UNITY_EDITOR
+				Mapbox.Unity.DispatcherEditor.InvokeAsync(() => {
+					_callback(response);
+					IsCompleted = true;
+					_callback = null;
+#if NETFX_CORE
+					if (null != _request) {
+						_request.Dispose();
+						_request = null;
+					}
+#endif
+				});
+#endif
+
+			}
+#endif
+		}
+#endif
+
+
+
+		public void Cancel() {
+
+#if !NETFX_CORE
+			if (null != _request) {
+				_request.Abort();
+			}
+#else
+			_cancellationTokenSource.Cancel();
+#endif
+		}
+
+
+	}
+}
+
+
+#endif
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestThreaded.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestThreaded.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7c2ae3bab6c9015f93755a9f22ba81bde26e4fc4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/HTTPRequestThreaded.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7952dd05dd1ff40d0bff547dacc6e714
+timeCreated: 1494952070
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequest.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f26596af16926e7fe454828f936717a3ed293828
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequest.cs
@@ -0,0 +1,25 @@
+//-----------------------------------------------------------------------
+// <copyright file="IAsyncRequest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+
+namespace Mapbox.Platform {
+
+	using Mapbox.Unity.Utilities;
+
+
+	/// <summary> A handle to an asynchronous request. </summary>
+	public interface IAsyncRequest {
+
+		/// <summary> True after the request has finished. </summary>
+		bool IsCompleted { get; }
+
+		/// <summary> Cancel the ongoing request, preventing it from firing a callback. </summary>
+		void Cancel();
+
+		/// <summary>Type of request: GET, HEAD, ...</summary>
+		HttpRequestType RequestType { get; }
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequest.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequest.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..005955d7a0e0893e59445935f8940201d0aa8e52
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequest.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 3687819725d334e82b70887393d8c63f
+timeCreated: 1494951007
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequestFactory.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequestFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..195d1e428ec0ec12131e781e9caa62f18ea5b7dc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequestFactory.cs
@@ -0,0 +1,39 @@
+//-----------------------------------------------------------------------
+// <copyright file="IAsyncRequest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_ANDROID || UNITY_WP_8_1 || UNITY_WSA || UNITY_WEBGL || UNITY_IOS || UNITY_PS4 || UNITY_SAMSUNGTV || UNITY_XBOXONE || UNITY_TIZEN || UNITY_TVOS
+#define UNITY
+#endif
+
+namespace Mapbox.Platform {
+
+	using Mapbox.Map;
+    using Mapbox.Unity.Utilities;
+    using System;
+
+	/// <summary> A handle to an asynchronous request. </summary>
+	public static class IAsyncRequestFactory {
+
+		public static IAsyncRequest CreateRequest(
+			string url
+			, Action<Response> callback
+			, int timeout
+			, HttpRequestType requestType= HttpRequestType.Get
+		) {
+#if !UNITY
+			if (Environment.ProcessorCount > 2) {
+				return new HTTPRequestThreaded(url, callback, timeout);
+			} else {
+				return new HTTPRequestNonThreaded(url, callback, timeout);
+			}
+#else
+			return new Mapbox.Unity.Utilities.HTTPRequest(url, callback, timeout, requestType);
+#endif
+		}
+
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequestFactory.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequestFactory.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ebacba42b7445bc28105fdc720dd09db1405a8c3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IAsyncRequestFactory.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2ee60049c3e114aed8e10d5b28d83efe
+timeCreated: 1494952069
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IFileSource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IFileSource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..64528bc57cd3adbaff2c51a50b4a2807810da24e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IFileSource.cs
@@ -0,0 +1,30 @@
+//-----------------------------------------------------------------------
+// <copyright file="IFileSource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Platform
+{
+	using Mapbox.Map;
+	using System;
+
+	/// <summary>
+	///     A data source abstraction. Used by classes that need to fetch data but really
+	///     don't care about from where the data is coming from. An implementation of
+	///     IFileSource could fetch the data from the network, disk cache or even generate
+	///     the data at runtime.
+	/// </summary>
+	public interface IFileSource
+	{
+		/// <summary> Performs a request asynchronously. </summary>
+		/// <param name="uri"> The resource description in the URI format. </param>
+		/// <param name="callback"> Callback to be called after the request is completed. </param>
+		/// <returns>
+		///     Returns a <see cref="IAsyncRequest" /> that can be used for canceling a pending
+		///     request. This handle can be completely ignored if there is no intention of ever
+		///     canceling the request.
+		/// </returns>
+		IAsyncRequest Request(string uri, Action<Response> callback, int timeout = 10, CanonicalTileId tileId = new CanonicalTileId(), string tilesetId = null);
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IFileSource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IFileSource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aba725e6573db33446e988b53bc96dd4ab6c3b8a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IFileSource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 891a55d979ad44487b2ad8e1384cfc65
+timeCreated: 1494951007
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f96aaf15e4231b36faa441e0cbd97779dbf591fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IResource.cs
@@ -0,0 +1,21 @@
+//-----------------------------------------------------------------------
+// <copyright file="IResource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Platform
+{
+	using System;
+
+	/// <summary> 
+	/// Interface representing a Mapbox resource URL. Used to build request strings
+	/// and return full URLs to a Mapbox Web Service API resource. 
+	/// </summary>
+	public interface IResource
+	{
+		/// <summary>Builds a complete, valid URL string.</summary>
+		/// <returns>URL string.</returns>
+		string GetUrl();
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8cee1a6348b6a03906614327eb93ccc64999ea8a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/IResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6c11ed4c71914479ebeb8b69bf0bb677
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Resource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Resource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6ea1f7bd90f9bb673bf0c59d314515fcb2170240
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Resource.cs
@@ -0,0 +1,76 @@
+//-----------------------------------------------------------------------
+// <copyright file="Resource.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Platform
+{
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Collections.Specialized;
+	using System.Linq;
+#if UNITY_IOS
+	using UnityEngine;
+#endif
+
+	/// <summary> Abstract class representing a Mapbox resource URL. </summary>
+	public abstract class Resource
+	{
+		/// <summary> Gets the API endpoint, which is a partial URL path. </summary>
+		public abstract string ApiEndpoint { get; }
+
+		/// <summary>Builds a complete, valid URL string.</summary>
+		/// <returns>Returns URL string.</returns>
+		public abstract string GetUrl();
+
+		/// <summary> Encodes a URI with a querystring. </summary>
+		/// <param name="values"> Querystring values. </param>
+		/// <returns> Encoded URL. </returns>
+		protected static String EncodeQueryString(IEnumerable<KeyValuePair<string, string>> values)
+		{
+			if (values != null)
+			{
+				// we are seeing super weird crashes on some iOS devices:
+				// see 'ForwardGeocodeResource' for more details
+				var encodedValues = from p in values
+#if UNITY_IOS
+#if UNITY_2017_1_OR_NEWER
+									let k = UnityEngine.Networking.UnityWebRequest.EscapeURL(p.Key.Trim())
+									let v = UnityEngine.Networking.UnityWebRequest.EscapeURL(p.Value)
+#else
+									let k = WWW.EscapeURL(p.Key.Trim())
+									let v = WWW.EscapeURL(p.Value)
+#endif
+#else
+									let k = Uri.EscapeDataString(p.Key.Trim())
+									let v = Uri.EscapeDataString(p.Value)
+#endif
+									orderby k
+									select string.IsNullOrEmpty(v) ? k : string.Format("{0}={1}", k, v);
+				if (encodedValues.Count() == 0)
+				{
+					return string.Empty;
+				}
+				else
+				{
+					return "?" + string.Join(
+						"&", encodedValues.ToArray());
+				}
+			}
+
+			return string.Empty;
+		}
+
+		/// <summary>Builds a string from an array of options for use in URLs.</summary>
+		/// <param name="items"> Array of option strings. </param>
+		/// <param name="separator"> Character to use for separating items in arry. Defaults to ",". </param>
+		/// <returns>Comma-separated string of options.</returns>
+		/// <typeparam name="U">Type in the array.</typeparam>
+		protected static string GetUrlQueryFromArray<U>(U[] items, string separator = ",")
+		{
+			return string.Join(separator, items.Select(item => item.ToString()).ToArray());
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Resource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Resource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6e960303ef2008b5bf6ae93c0432860cd13e9a0c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Resource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 3c337c92960274b8098678fcfebbc8d0
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Response.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Response.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5735aa7cad1051dff3ecd51499c16c00bdb66f6c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Response.cs
@@ -0,0 +1,339 @@
+//-----------------------------------------------------------------------
+// <copyright file="Response.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+#if UNITY_2017_1_OR_NEWER
+#define UNITY
+#endif
+
+namespace Mapbox.Platform
+{
+
+	using System;
+	using System.Collections.Generic;
+	using System.Collections.ObjectModel;
+	using System.IO;
+	using System.Linq;
+	using System.Net;
+	using Utils;
+
+#if NETFX_CORE
+	using System.Net.Http;
+	using System.Threading.Tasks;
+#endif
+#if UNITY
+	using UnityEngine.Networking;
+	using Mapbox.Unity.Utilities;
+#endif
+
+	/// <summary> A response from a <see cref="IFileSource" /> request. </summary>
+	public class Response
+	{
+
+
+		private Response() { }
+
+
+		public IAsyncRequest Request { get; private set; }
+
+
+		public bool RateLimitHit
+		{
+			get { return StatusCode.HasValue ? 429 == StatusCode.Value : false; }
+		}
+
+
+		/// <summary>Flag to indicate if the request was successful</summary>
+		public bool HasError
+		{
+			get { return _exceptions == null ? false : _exceptions.Count > 0; }
+		}
+
+		/// <summary>Flag to indicate if the request was fullfilled from a local cache</summary>
+		public bool LoadedFromCache;
+
+		/// <summary>Flag to indicate if the request was issued before but was issued again and updated</summary>
+		public bool IsUpdate = false;
+
+		public string RequestUrl;
+
+
+		public int? StatusCode;
+
+
+		public string ContentType;
+
+
+		/// <summary>Length of rate-limiting interval in seconds. https://www.mapbox.com/api-documentation/#rate-limit-headers </summary>
+		public int? XRateLimitInterval;
+
+
+		/// <summary>Maximum number of requests you may make in the current interval before reaching the limit. https://www.mapbox.com/api-documentation/#rate-limit-headers </summary>
+		public long? XRateLimitLimit;
+
+
+		/// <summary>Timestamp of when the current interval will end and the ratelimit counter is reset. https://www.mapbox.com/api-documentation/#rate-limit-headers </summary>
+		public DateTime? XRateLimitReset;
+
+
+		private List<Exception> _exceptions;
+		/// <summary> Exceptions that might have occured during the request. </summary>
+		public ReadOnlyCollection<Exception> Exceptions
+		{
+			get { return null == _exceptions ? null : _exceptions.AsReadOnly(); }
+		}
+
+
+		/// <summary> Messages of exceptions otherwise empty string. </summary>
+		public string ExceptionsAsString
+		{
+			get
+			{
+				if (null == _exceptions || _exceptions.Count == 0) { return string.Empty; }
+				return string.Join(Environment.NewLine, _exceptions.Select(e => e.Message).ToArray());
+			}
+		}
+
+
+		/// <summary> Headers of the response. </summary>
+		public Dictionary<string, string> Headers;
+
+
+		/// <summary> Raw data fetched from the request. </summary>
+		public byte[] Data;
+
+		public void AddException(Exception ex)
+		{
+			if (null == _exceptions) { _exceptions = new List<Exception>(); }
+			_exceptions.Add(ex);
+		}
+
+		// TODO: we should store timestamp of the cache!
+		public static Response FromCache(byte[] data)
+		{
+			Response response = new Response();
+			response.Data = data;
+			response.LoadedFromCache = true;
+			return response;
+		}
+
+#if !NETFX_CORE && !UNITY // full .NET Framework
+		public static Response FromWebResponse(IAsyncRequest request, HttpWebResponse apiResponse, Exception apiEx) {
+
+			Response response = new Response();
+			response.Request = request;
+
+			if (null != apiEx) {
+				response.AddException(apiEx);
+			}
+
+			// timeout: API response is null
+			if (null == apiResponse) {
+				response.AddException(new Exception("No Reponse."));
+			} else {
+				// https://www.mapbox.com/api-documentation/#rate-limit-headers
+				if (null != apiResponse.Headers) {
+					response.Headers = new Dictionary<string, string>();
+					for (int i = 0; i < apiResponse.Headers.Count; i++) {
+						// TODO: implement .Net Core / UWP implementation
+						string key = apiResponse.Headers.Keys[i];
+						string val = apiResponse.Headers[i];
+						response.Headers.Add(key, val);
+						if (key.Equals("X-Rate-Limit-Interval", StringComparison.InvariantCultureIgnoreCase)) {
+							int limitInterval;
+							if (int.TryParse(val, out limitInterval)) { response.XRateLimitInterval = limitInterval; }
+						} else if (key.Equals("X-Rate-Limit-Limit", StringComparison.InvariantCultureIgnoreCase)) {
+							long limitLimit;
+							if (long.TryParse(val, out limitLimit)) { response.XRateLimitLimit = limitLimit; }
+						} else if (key.Equals("X-Rate-Limit-Reset", StringComparison.InvariantCultureIgnoreCase)) {
+							double unixTimestamp;
+							if (double.TryParse(val, out unixTimestamp)) {
+								response.XRateLimitReset = UnixTimestampUtils.From(unixTimestamp);
+							}
+						} else if (key.Equals("Content-Type", StringComparison.InvariantCultureIgnoreCase)) {
+							response.ContentType = val;
+						}
+					}
+				}
+
+				if (apiResponse.StatusCode != HttpStatusCode.OK) {
+					response.AddException(new Exception(string.Format("{0}: {1}", apiResponse.StatusCode, apiResponse.StatusDescription)));
+				}
+				int statusCode = (int)apiResponse.StatusCode;
+				response.StatusCode = statusCode;
+				if (429 == statusCode) {
+					response.AddException(new Exception("Rate limit hit"));
+				}
+
+				if (null != apiResponse) {
+					using (Stream responseStream = apiResponse.GetResponseStream()) {
+						byte[] buffer = new byte[0x1000];
+						int bytesRead;
+						using (MemoryStream ms = new MemoryStream()) {
+							while (0 != (bytesRead = responseStream.Read(buffer, 0, buffer.Length))) {
+								ms.Write(buffer, 0, bytesRead);
+							}
+							response.Data = ms.ToArray();
+						}
+					}
+					apiResponse.Close();
+				}
+			}
+
+			return response;
+		}
+#endif
+
+#if NETFX_CORE && !UNITY //UWP but not Unity
+		public static async Task<Response> FromWebResponse(IAsyncRequest request, HttpResponseMessage apiResponse, Exception apiEx) {
+
+			Response response = new Response();
+			response.Request = request;
+
+			if (null != apiEx) {
+				response.AddException(apiEx);
+			}
+
+			// timeout: API response is null
+			if (null == apiResponse) {
+				response.AddException(new Exception("No Reponse."));
+			} else {
+				// https://www.mapbox.com/api-documentation/#rate-limit-headers
+				if (null != apiResponse.Headers) {
+					response.Headers = new Dictionary<string, string>();
+					foreach (var hdr in apiResponse.Headers) {
+						string key = hdr.Key;
+						string val = hdr.Value.FirstOrDefault();
+						response.Headers.Add(key, val);
+						if (key.Equals("X-Rate-Limit-Interval", StringComparison.OrdinalIgnoreCase)) {
+							int limitInterval;
+							if (int.TryParse(val, out limitInterval)) { response.XRateLimitInterval = limitInterval; }
+						} else if (key.Equals("X-Rate-Limit-Limit", StringComparison.OrdinalIgnoreCase)) {
+							long limitLimit;
+							if (long.TryParse(val, out limitLimit)) { response.XRateLimitLimit = limitLimit; }
+						} else if (key.Equals("X-Rate-Limit-Reset", StringComparison.OrdinalIgnoreCase)) {
+							double unixTimestamp;
+							if (double.TryParse(val, out unixTimestamp)) {
+								DateTime beginningOfTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
+								response.XRateLimitReset = beginningOfTime.AddSeconds(unixTimestamp).ToLocalTime();
+							}
+						} else if (key.Equals("Content-Type", StringComparison.OrdinalIgnoreCase)) {
+							response.ContentType = val;
+						}
+					}
+				}
+
+				if (apiResponse.StatusCode != HttpStatusCode.OK) {
+					response.AddException(new Exception(string.Format("{0}: {1}", apiResponse.StatusCode, apiResponse.ReasonPhrase)));
+				}
+				int statusCode = (int)apiResponse.StatusCode;
+				response.StatusCode = statusCode;
+				if (429 == statusCode) {
+					response.AddException(new Exception("Rate limit hit"));
+				}
+
+				if (null != apiResponse) {
+					response.Data = await apiResponse.Content.ReadAsByteArrayAsync();
+				}
+			}
+
+			return response;
+		}
+#endif
+
+#if UNITY // within Unity or UWP build from Unity
+		public static Response FromWebResponse(IAsyncRequest request, UnityWebRequest apiResponse, Exception apiEx)
+		{
+
+			Response response = new Response();
+			response.Request = request;
+
+			if (null != apiEx)
+			{
+				response.AddException(apiEx);
+			}
+
+			// additional string.empty check for apiResponse.error:
+			// on UWP isNetworkError is sometimes set to true despite all being well
+			if (apiResponse.isNetworkError && !string.IsNullOrEmpty(apiResponse.error))
+			{
+				response.AddException(new Exception(apiResponse.error));
+			}
+
+			if (request.RequestType != HttpRequestType.Head)
+			{
+				if (null == apiResponse.downloadHandler.data)
+				{
+					response.AddException(new Exception("Response has no data."));
+				}
+			}
+
+#if NETFX_CORE
+			StringComparison stringComp = StringComparison.OrdinalIgnoreCase;
+#elif WINDOWS_UWP
+			StringComparison stringComp = StringComparison.OrdinalIgnoreCase;
+#else
+			StringComparison stringComp = StringComparison.InvariantCultureIgnoreCase;
+#endif
+
+			Dictionary<string, string> apiHeaders = apiResponse.GetResponseHeaders();
+			if (null != apiHeaders)
+			{
+				response.Headers = new Dictionary<string, string>();
+				foreach (var apiHdr in apiHeaders)
+				{
+					string key = apiHdr.Key;
+					string val = apiHdr.Value;
+					response.Headers.Add(key, val);
+					if (key.Equals("X-Rate-Limit-Interval", stringComp))
+					{
+						int limitInterval;
+						if (int.TryParse(val, out limitInterval)) { response.XRateLimitInterval = limitInterval; }
+					}
+					else if (key.Equals("X-Rate-Limit-Limit", stringComp))
+					{
+						long limitLimit;
+						if (long.TryParse(val, out limitLimit)) { response.XRateLimitLimit = limitLimit; }
+					}
+					else if (key.Equals("X-Rate-Limit-Reset", stringComp))
+					{
+						double unixTimestamp;
+						if (double.TryParse(val, out unixTimestamp))
+						{
+							response.XRateLimitReset = UnixTimestampUtils.From(unixTimestamp);
+						}
+					}
+					else if (key.Equals("Content-Type", stringComp))
+					{
+						response.ContentType = val;
+					}
+				}
+			}
+
+			int statusCode = (int)apiResponse.responseCode;
+			response.StatusCode = statusCode;
+
+			if (statusCode != 200)
+			{
+				response.AddException(new Exception(string.Format("Status Code {0}", apiResponse.responseCode)));
+			}
+			if (429 == statusCode)
+			{
+				response.AddException(new Exception("Rate limit hit"));
+			}
+
+			if (request.RequestType != HttpRequestType.Head)
+			{
+				response.Data = apiResponse.downloadHandler.data;
+			}
+
+			return response;
+		}
+#endif
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Response.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Response.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2d766d8870b54bdf13ec0f9859018eeff29201bf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/Response.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f904217270b634d929d1a92bee809d3e
+timeCreated: 1494951007
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite.meta
new file mode 100644
index 0000000000000000000000000000000000000000..406bc7a1b6062088c4a9bbc086b137a684a64f28
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e42bed265428942f4817d4918fbb7c41
+folderAsset: yes
+timeCreated: 1497883478
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite/SQLite.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite/SQLite.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b28b443c47884abf5b9dd8dee72446d5e0091504
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite/SQLite.cs
@@ -0,0 +1,3638 @@
+//
+// Copyright (c) 2009-2012 Krueger Systems, Inc.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+// 
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+#if WINDOWS_PHONE && !USE_WP8_NATIVE_SQLITE
+#define USE_CSHARP_SQLITE
+#endif
+
+using System;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Threading;
+
+#if USE_CSHARP_SQLITE
+using Sqlite3 = Community.CsharpSqlite.Sqlite3;
+using Sqlite3DatabaseHandle = Community.CsharpSqlite.Sqlite3.sqlite3;
+using Sqlite3Statement = Community.CsharpSqlite.Sqlite3.Vdbe;
+#elif USE_WP8_NATIVE_SQLITE
+using Sqlite3 = Sqlite.Sqlite3;
+using Sqlite3DatabaseHandle = Sqlite.Database;
+using Sqlite3Statement = Sqlite.Statement;
+#else
+using Sqlite3DatabaseHandle = System.IntPtr;
+using Sqlite3Statement = System.IntPtr;
+#endif
+
+namespace SQLite4Unity3d
+{
+	public class SQLiteException : Exception
+	{
+		public SQLite3.Result Result { get; private set; }
+
+		protected SQLiteException(SQLite3.Result r, string message) : base(message)
+		{
+			Result = r;
+		}
+
+		public static SQLiteException New(SQLite3.Result r, string message)
+		{
+			return new SQLiteException(r, message);
+		}
+	}
+
+	public class NotNullConstraintViolationException : SQLiteException
+	{
+		public IEnumerable<TableMapping.Column> Columns { get; protected set; }
+
+		protected NotNullConstraintViolationException(SQLite3.Result r, string message)
+			: this(r, message, null, null)
+		{
+
+		}
+
+		protected NotNullConstraintViolationException(SQLite3.Result r, string message, TableMapping mapping, object obj)
+			: base(r, message)
+		{
+			if (mapping != null && obj != null)
+			{
+				this.Columns = from c in mapping.Columns
+							   where c.IsNullable == false && c.GetValue(obj) == null
+							   select c;
+			}
+		}
+
+		public static new NotNullConstraintViolationException New(SQLite3.Result r, string message)
+		{
+			return new NotNullConstraintViolationException(r, message);
+		}
+
+		public static NotNullConstraintViolationException New(SQLite3.Result r, string message, TableMapping mapping, object obj)
+		{
+			return new NotNullConstraintViolationException(r, message, mapping, obj);
+		}
+
+		public static NotNullConstraintViolationException New(SQLiteException exception, TableMapping mapping, object obj)
+		{
+			return new NotNullConstraintViolationException(exception.Result, exception.Message, mapping, obj);
+		}
+	}
+
+	[Flags]
+	public enum SQLiteOpenFlags
+	{
+		ReadOnly = 1, ReadWrite = 2, Create = 4,
+		NoMutex = 0x8000, FullMutex = 0x10000,
+		SharedCache = 0x20000, PrivateCache = 0x40000,
+		ProtectionComplete = 0x00100000,
+		ProtectionCompleteUnlessOpen = 0x00200000,
+		ProtectionCompleteUntilFirstUserAuthentication = 0x00300000,
+		ProtectionNone = 0x00400000
+	}
+
+	[Flags]
+	public enum CreateFlags
+	{
+		None = 0,
+		ImplicitPK = 1,    // create a primary key for field called 'Id' (Orm.ImplicitPkName)
+		ImplicitIndex = 2, // create an index for fields ending in 'Id' (Orm.ImplicitIndexSuffix)
+		AllImplicit = 3,   // do both above
+
+		AutoIncPK = 4      // force PK field to be auto inc
+	}
+
+	/// <summary>
+	/// Represents an open connection to a SQLite database.
+	/// </summary>
+	public partial class SQLiteConnection : IDisposable
+	{
+		private bool _open;
+		private TimeSpan _busyTimeout;
+		private Dictionary<string, TableMapping> _mappings = null;
+		private Dictionary<string, TableMapping> _tables = null;
+		private System.Diagnostics.Stopwatch _sw;
+		private long _elapsedMilliseconds = 0;
+
+		private int _transactionDepth = 0;
+		private Random _rand = new Random();
+
+		public Sqlite3DatabaseHandle Handle { get; private set; }
+		internal static readonly Sqlite3DatabaseHandle NullHandle = default(Sqlite3DatabaseHandle);
+
+		public string DatabasePath { get; private set; }
+
+		public bool TimeExecution { get; set; }
+
+		public bool Trace { get; set; }
+
+		public bool StoreDateTimeAsTicks { get; private set; }
+
+		/// <summary>
+		/// Constructs a new SQLiteConnection and opens a SQLite database specified by databasePath.
+		/// </summary>
+		/// <param name="databasePath">
+		/// Specifies the path to the database file.
+		/// </param>
+		/// <param name="storeDateTimeAsTicks">
+		/// Specifies whether to store DateTime properties as ticks (true) or strings (false). You
+		/// absolutely do want to store them as Ticks in all new projects. The default of false is
+		/// only here for backwards compatibility. There is a *significant* speed advantage, with no
+		/// down sides, when setting storeDateTimeAsTicks = true.
+		/// </param>
+		public SQLiteConnection(string databasePath, bool storeDateTimeAsTicks = false)
+			: this(databasePath, SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.Create, storeDateTimeAsTicks)
+		{
+		}
+
+		/// <summary>
+		/// Constructs a new SQLiteConnection and opens a SQLite database specified by databasePath.
+		/// </summary>
+		/// <param name="databasePath">
+		/// Specifies the path to the database file.
+		/// </param>
+		/// <param name="storeDateTimeAsTicks">
+		/// Specifies whether to store DateTime properties as ticks (true) or strings (false). You
+		/// absolutely do want to store them as Ticks in all new projects. The default of false is
+		/// only here for backwards compatibility. There is a *significant* speed advantage, with no
+		/// down sides, when setting storeDateTimeAsTicks = true.
+		/// </param>
+		public SQLiteConnection(string databasePath, SQLiteOpenFlags openFlags, bool storeDateTimeAsTicks = false)
+		{
+			if (string.IsNullOrEmpty(databasePath))
+				throw new ArgumentException("Must be specified", "databasePath");
+
+			DatabasePath = databasePath;
+
+#if NETFX_CORE
+			SQLite3.SetDirectory(/*temp directory type*/2, Windows.Storage.ApplicationData.Current.TemporaryFolder.Path);
+#endif
+
+			Sqlite3DatabaseHandle handle;
+
+#if SILVERLIGHT || USE_CSHARP_SQLITE
+            var r = SQLite3.Open (databasePath, out handle, (int)openFlags, IntPtr.Zero);
+#else
+			// open using the byte[]
+			// in the case where the path may include Unicode
+			// force open to using UTF-8 using sqlite3_open_v2
+			var databasePathAsBytes = GetNullTerminatedUtf8(DatabasePath);
+			var r = SQLite3.Open(databasePathAsBytes, out handle, (int)openFlags, IntPtr.Zero);
+#endif
+
+			Handle = handle;
+			if (r != SQLite3.Result.OK)
+			{
+				throw SQLiteException.New(r, String.Format("Could not open database file: {0} ({1})", DatabasePath, r));
+			}
+			_open = true;
+
+			StoreDateTimeAsTicks = storeDateTimeAsTicks;
+
+			BusyTimeout = TimeSpan.FromSeconds(0.1);
+		}
+
+		static SQLiteConnection()
+		{
+			if (_preserveDuringLinkMagic)
+			{
+				var ti = new ColumnInfo();
+				ti.Name = "magic";
+			}
+		}
+
+		public void EnableLoadExtension(int onoff)
+		{
+			SQLite3.Result r = SQLite3.EnableLoadExtension(Handle, onoff);
+			if (r != SQLite3.Result.OK)
+			{
+				string msg = SQLite3.GetErrmsg(Handle);
+				throw SQLiteException.New(r, msg);
+			}
+		}
+
+		static byte[] GetNullTerminatedUtf8(string s)
+		{
+			var utf8Length = System.Text.Encoding.UTF8.GetByteCount(s);
+			var bytes = new byte[utf8Length + 1];
+			utf8Length = System.Text.Encoding.UTF8.GetBytes(s, 0, s.Length, bytes, 0);
+			return bytes;
+		}
+
+		/// <summary>
+		/// Used to list some code that we want the MonoTouch linker
+		/// to see, but that we never want to actually execute.
+		/// </summary>
+#pragma warning disable 0649
+		static bool _preserveDuringLinkMagic;
+#pragma warning restore 0649
+
+		/// <summary>
+		/// Sets a busy handler to sleep the specified amount of time when a table is locked.
+		/// The handler will sleep multiple times until a total time of <see cref="BusyTimeout"/> has accumulated.
+		/// </summary>
+		public TimeSpan BusyTimeout
+		{
+			get { return _busyTimeout; }
+			set
+			{
+				_busyTimeout = value;
+				if (Handle != NullHandle)
+				{
+					SQLite3.BusyTimeout(Handle, (int)_busyTimeout.TotalMilliseconds);
+				}
+			}
+		}
+
+		/// <summary>
+		/// Returns the mappings from types to tables that the connection
+		/// currently understands.
+		/// </summary>
+		public IEnumerable<TableMapping> TableMappings
+		{
+			get
+			{
+				return _tables != null ? _tables.Values : Enumerable.Empty<TableMapping>();
+			}
+		}
+
+		/// <summary>
+		/// Retrieves the mapping that is automatically generated for the given type.
+		/// </summary>
+		/// <param name="type">
+		/// The type whose mapping to the database is returned.
+		/// </param>         
+		/// <param name="createFlags">
+		/// Optional flags allowing implicit PK and indexes based on naming conventions
+		/// </param>     
+		/// <returns>
+		/// The mapping represents the schema of the columns of the database and contains 
+		/// methods to set and get properties of objects.
+		/// </returns>
+		public TableMapping GetMapping(Type type, CreateFlags createFlags = CreateFlags.None)
+		{
+			if (_mappings == null)
+			{
+				_mappings = new Dictionary<string, TableMapping>();
+			}
+			TableMapping map;
+			if (!_mappings.TryGetValue(type.FullName, out map))
+			{
+				map = new TableMapping(type, createFlags);
+				_mappings[type.FullName] = map;
+			}
+			return map;
+		}
+
+		/// <summary>
+		/// Retrieves the mapping that is automatically generated for the given type.
+		/// </summary>
+		/// <returns>
+		/// The mapping represents the schema of the columns of the database and contains 
+		/// methods to set and get properties of objects.
+		/// </returns>
+		public TableMapping GetMapping<T>()
+		{
+			return GetMapping(typeof(T));
+		}
+
+		private struct IndexedColumn
+		{
+			public int Order;
+			public string ColumnName;
+		}
+
+		private struct IndexInfo
+		{
+			public string IndexName;
+			public string TableName;
+			public bool Unique;
+			public List<IndexedColumn> Columns;
+		}
+
+		/// <summary>
+		/// Executes a "drop table" on the database.  This is non-recoverable.
+		/// </summary>
+		public int DropTable<T>()
+		{
+			var map = GetMapping(typeof(T));
+
+			var query = string.Format("drop table if exists \"{0}\"", map.TableName);
+
+			return Execute(query);
+		}
+
+		/// <summary>
+		/// Executes a "create table if not exists" on the database. It also
+		/// creates any specified indexes on the columns of the table. It uses
+		/// a schema automatically generated from the specified type. You can
+		/// later access this schema by calling GetMapping.
+		/// </summary>
+		/// <returns>
+		/// The number of entries added to the database schema.
+		/// </returns>
+		public int CreateTable<T>(CreateFlags createFlags = CreateFlags.None)
+		{
+			return CreateTable(typeof(T), createFlags);
+		}
+
+		/// <summary>
+		/// Executes a "create table if not exists" on the database. It also
+		/// creates any specified indexes on the columns of the table. It uses
+		/// a schema automatically generated from the specified type. You can
+		/// later access this schema by calling GetMapping.
+		/// </summary>
+		/// <param name="ty">Type to reflect to a database table.</param>
+		/// <param name="createFlags">Optional flags allowing implicit PK and indexes based on naming conventions.</param>  
+		/// <returns>
+		/// The number of entries added to the database schema.
+		/// </returns>
+		public int CreateTable(Type ty, CreateFlags createFlags = CreateFlags.None)
+		{
+			if (_tables == null)
+			{
+				_tables = new Dictionary<string, TableMapping>();
+			}
+			TableMapping map;
+			if (!_tables.TryGetValue(ty.FullName, out map))
+			{
+				map = GetMapping(ty, createFlags);
+				_tables.Add(ty.FullName, map);
+			}
+			var query = "create table if not exists \"" + map.TableName + "\"(\n";
+
+			var decls = map.Columns.Select(p => Orm.SqlDecl(p, StoreDateTimeAsTicks));
+			var decl = string.Join(",\n", decls.ToArray());
+			query += decl;
+			query += ")";
+
+			var count = Execute(query);
+
+			if (count == 0)
+			{ //Possible bug: This always seems to return 0?
+			  // Table already exists, migrate it
+				MigrateTable(map);
+			}
+
+			var indexes = new Dictionary<string, IndexInfo>();
+			foreach (var c in map.Columns)
+			{
+				foreach (var i in c.Indices)
+				{
+					var iname = i.Name ?? map.TableName + "_" + c.Name;
+					IndexInfo iinfo;
+					if (!indexes.TryGetValue(iname, out iinfo))
+					{
+						iinfo = new IndexInfo
+						{
+							IndexName = iname,
+							TableName = map.TableName,
+							Unique = i.Unique,
+							Columns = new List<IndexedColumn>()
+						};
+						indexes.Add(iname, iinfo);
+					}
+
+					if (i.Unique != iinfo.Unique)
+						throw new Exception("All the columns in an index must have the same value for their Unique property");
+
+					iinfo.Columns.Add(new IndexedColumn
+					{
+						Order = i.Order,
+						ColumnName = c.Name
+					});
+				}
+			}
+
+			foreach (var indexName in indexes.Keys)
+			{
+				var index = indexes[indexName];
+				var columns = index.Columns.OrderBy(i => i.Order).Select(i => i.ColumnName).ToArray();
+				count += CreateIndex(indexName, index.TableName, columns, index.Unique);
+			}
+
+			return count;
+		}
+
+		/// <summary>
+		/// Creates an index for the specified table and columns.
+		/// </summary>
+		/// <param name="indexName">Name of the index to create</param>
+		/// <param name="tableName">Name of the database table</param>
+		/// <param name="columnNames">An array of column names to index</param>
+		/// <param name="unique">Whether the index should be unique</param>
+		public int CreateIndex(string indexName, string tableName, string[] columnNames, bool unique = false)
+		{
+			const string sqlFormat = "create {2} index if not exists \"{3}\" on \"{0}\"(\"{1}\")";
+			var sql = String.Format(sqlFormat, tableName, string.Join("\", \"", columnNames), unique ? "unique" : "", indexName);
+			return Execute(sql);
+		}
+
+		/// <summary>
+		/// Creates an index for the specified table and column.
+		/// </summary>
+		/// <param name="indexName">Name of the index to create</param>
+		/// <param name="tableName">Name of the database table</param>
+		/// <param name="columnName">Name of the column to index</param>
+		/// <param name="unique">Whether the index should be unique</param>
+		public int CreateIndex(string indexName, string tableName, string columnName, bool unique = false)
+		{
+			return CreateIndex(indexName, tableName, new string[] { columnName }, unique);
+		}
+
+		/// <summary>
+		/// Creates an index for the specified table and column.
+		/// </summary>
+		/// <param name="tableName">Name of the database table</param>
+		/// <param name="columnName">Name of the column to index</param>
+		/// <param name="unique">Whether the index should be unique</param>
+		public int CreateIndex(string tableName, string columnName, bool unique = false)
+		{
+			return CreateIndex(tableName + "_" + columnName, tableName, columnName, unique);
+		}
+
+		/// <summary>
+		/// Creates an index for the specified table and columns.
+		/// </summary>
+		/// <param name="tableName">Name of the database table</param>
+		/// <param name="columnNames">An array of column names to index</param>
+		/// <param name="unique">Whether the index should be unique</param>
+		public int CreateIndex(string tableName, string[] columnNames, bool unique = false)
+		{
+			return CreateIndex(tableName + "_" + string.Join("_", columnNames), tableName, columnNames, unique);
+		}
+
+		/// <summary>
+		/// Creates an index for the specified object property.
+		/// e.g. CreateIndex<Client>(c => c.Name);
+		/// </summary>
+		/// <typeparam name="T">Type to reflect to a database table.</typeparam>
+		/// <param name="property">Property to index</param>
+		/// <param name="unique">Whether the index should be unique</param>
+		public void CreateIndex<T>(Expression<Func<T, object>> property, bool unique = false)
+		{
+			MemberExpression mx;
+			if (property.Body.NodeType == ExpressionType.Convert)
+			{
+				mx = ((UnaryExpression)property.Body).Operand as MemberExpression;
+			}
+			else
+			{
+				mx = (property.Body as MemberExpression);
+			}
+			var propertyInfo = mx.Member as PropertyInfo;
+			if (propertyInfo == null)
+			{
+				throw new ArgumentException("The lambda expression 'property' should point to a valid Property");
+			}
+
+			var propName = propertyInfo.Name;
+
+			var map = GetMapping<T>();
+			var colName = map.FindColumnWithPropertyName(propName).Name;
+
+			CreateIndex(map.TableName, colName, unique);
+		}
+
+		public class ColumnInfo
+		{
+			//			public int cid { get; set; }
+
+			[Column("name")]
+			public string Name { get; set; }
+
+			//			[Column ("type")]
+			//			public string ColumnType { get; set; }
+
+			public int notnull { get; set; }
+
+			//			public string dflt_value { get; set; }
+
+			//			public int pk { get; set; }
+
+			public override string ToString()
+			{
+				return Name;
+			}
+		}
+
+		public List<ColumnInfo> GetTableInfo(string tableName)
+		{
+			var query = "pragma table_info(\"" + tableName + "\")";
+			return Query<ColumnInfo>(query);
+		}
+
+		void MigrateTable(TableMapping map)
+		{
+			var existingCols = GetTableInfo(map.TableName);
+
+			var toBeAdded = new List<TableMapping.Column>();
+
+			foreach (var p in map.Columns)
+			{
+				var found = false;
+				foreach (var c in existingCols)
+				{
+					found = (string.Compare(p.Name, c.Name, StringComparison.OrdinalIgnoreCase) == 0);
+					if (found)
+						break;
+				}
+				if (!found)
+				{
+					toBeAdded.Add(p);
+				}
+			}
+
+			foreach (var p in toBeAdded)
+			{
+				var addCol = "alter table \"" + map.TableName + "\" add column " + Orm.SqlDecl(p, StoreDateTimeAsTicks);
+				Execute(addCol);
+			}
+		}
+
+		/// <summary>
+		/// Creates a new SQLiteCommand. Can be overridden to provide a sub-class.
+		/// </summary>
+		/// <seealso cref="SQLiteCommand.OnInstanceCreated"/>
+		protected virtual SQLiteCommand NewCommand()
+		{
+			return new SQLiteCommand(this);
+		}
+
+		/// <summary>
+		/// Creates a new SQLiteCommand given the command text with arguments. Place a '?'
+		/// in the command text for each of the arguments.
+		/// </summary>
+		/// <param name="cmdText">
+		/// The fully escaped SQL.
+		/// </param>
+		/// <param name="args">
+		/// Arguments to substitute for the occurences of '?' in the command text.
+		/// </param>
+		/// <returns>
+		/// A <see cref="SQLiteCommand"/>
+		/// </returns>
+		public SQLiteCommand CreateCommand(string cmdText, params object[] ps)
+		{
+			if (!_open)
+				throw SQLiteException.New(SQLite3.Result.Error, "Cannot create commands from unopened database");
+
+			var cmd = NewCommand();
+			cmd.CommandText = cmdText;
+			foreach (var o in ps)
+			{
+				cmd.Bind(o);
+			}
+			return cmd;
+		}
+
+		/// <summary>
+		/// Creates a SQLiteCommand given the command text (SQL) with arguments. Place a '?'
+		/// in the command text for each of the arguments and then executes that command.
+		/// Use this method instead of Query when you don't expect rows back. Such cases include
+		/// INSERTs, UPDATEs, and DELETEs.
+		/// You can set the Trace or TimeExecution properties of the connection
+		/// to profile execution.
+		/// </summary>
+		/// <param name="query">
+		/// The fully escaped SQL.
+		/// </param>
+		/// <param name="args">
+		/// Arguments to substitute for the occurences of '?' in the query.
+		/// </param>
+		/// <returns>
+		/// The number of rows modified in the database as a result of this execution.
+		/// </returns>
+		public int Execute(string query, params object[] args)
+		{
+			var cmd = CreateCommand(query, args);
+
+			if (TimeExecution)
+			{
+				if (_sw == null)
+				{
+					_sw = new Stopwatch();
+				}
+				_sw.Reset();
+				_sw.Start();
+			}
+
+			var r = cmd.ExecuteNonQuery();
+
+			if (TimeExecution)
+			{
+				_sw.Stop();
+				_elapsedMilliseconds += _sw.ElapsedMilliseconds;
+				Debug.WriteLine(string.Format("Finished in {0} ms ({1:0.0} s total)", _sw.ElapsedMilliseconds, _elapsedMilliseconds / 1000.0));
+			}
+
+			return r;
+		}
+
+		public T ExecuteScalar<T>(string query, params object[] args)
+		{
+			var cmd = CreateCommand(query, args);
+
+			if (TimeExecution)
+			{
+				if (_sw == null)
+				{
+					_sw = new Stopwatch();
+				}
+				_sw.Reset();
+				_sw.Start();
+			}
+
+			var r = cmd.ExecuteScalar<T>();
+
+			if (TimeExecution)
+			{
+				_sw.Stop();
+				_elapsedMilliseconds += _sw.ElapsedMilliseconds;
+				Debug.WriteLine(string.Format("Finished in {0} ms ({1:0.0} s total)", _sw.ElapsedMilliseconds, _elapsedMilliseconds / 1000.0));
+			}
+
+			return r;
+		}
+
+		/// <summary>
+		/// Creates a SQLiteCommand given the command text (SQL) with arguments. Place a '?'
+		/// in the command text for each of the arguments and then executes that command.
+		/// It returns each row of the result using the mapping automatically generated for
+		/// the given type.
+		/// </summary>
+		/// <param name="query">
+		/// The fully escaped SQL.
+		/// </param>
+		/// <param name="args">
+		/// Arguments to substitute for the occurences of '?' in the query.
+		/// </param>
+		/// <returns>
+		/// An enumerable with one result for each row returned by the query.
+		/// </returns>
+		public List<T> Query<T>(string query, params object[] args) where T : new()
+		{
+			var cmd = CreateCommand(query, args);
+			return cmd.ExecuteQuery<T>();
+		}
+
+		/// <summary>
+		/// Creates a SQLiteCommand given the command text (SQL) with arguments. Place a '?'
+		/// in the command text for each of the arguments and then executes that command.
+		/// It returns each row of the result using the mapping automatically generated for
+		/// the given type.
+		/// </summary>
+		/// <param name="query">
+		/// The fully escaped SQL.
+		/// </param>
+		/// <param name="args">
+		/// Arguments to substitute for the occurences of '?' in the query.
+		/// </param>
+		/// <returns>
+		/// An enumerable with one result for each row returned by the query.
+		/// The enumerator will call sqlite3_step on each call to MoveNext, so the database
+		/// connection must remain open for the lifetime of the enumerator.
+		/// </returns>
+		public IEnumerable<T> DeferredQuery<T>(string query, params object[] args) where T : new()
+		{
+			var cmd = CreateCommand(query, args);
+			return cmd.ExecuteDeferredQuery<T>();
+		}
+
+		/// <summary>
+		/// Creates a SQLiteCommand given the command text (SQL) with arguments. Place a '?'
+		/// in the command text for each of the arguments and then executes that command.
+		/// It returns each row of the result using the specified mapping. This function is
+		/// only used by libraries in order to query the database via introspection. It is
+		/// normally not used.
+		/// </summary>
+		/// <param name="map">
+		/// A <see cref="TableMapping"/> to use to convert the resulting rows
+		/// into objects.
+		/// </param>
+		/// <param name="query">
+		/// The fully escaped SQL.
+		/// </param>
+		/// <param name="args">
+		/// Arguments to substitute for the occurences of '?' in the query.
+		/// </param>
+		/// <returns>
+		/// An enumerable with one result for each row returned by the query.
+		/// </returns>
+		public List<object> Query(TableMapping map, string query, params object[] args)
+		{
+			var cmd = CreateCommand(query, args);
+			return cmd.ExecuteQuery<object>(map);
+		}
+
+		/// <summary>
+		/// Creates a SQLiteCommand given the command text (SQL) with arguments. Place a '?'
+		/// in the command text for each of the arguments and then executes that command.
+		/// It returns each row of the result using the specified mapping. This function is
+		/// only used by libraries in order to query the database via introspection. It is
+		/// normally not used.
+		/// </summary>
+		/// <param name="map">
+		/// A <see cref="TableMapping"/> to use to convert the resulting rows
+		/// into objects.
+		/// </param>
+		/// <param name="query">
+		/// The fully escaped SQL.
+		/// </param>
+		/// <param name="args">
+		/// Arguments to substitute for the occurences of '?' in the query.
+		/// </param>
+		/// <returns>
+		/// An enumerable with one result for each row returned by the query.
+		/// The enumerator will call sqlite3_step on each call to MoveNext, so the database
+		/// connection must remain open for the lifetime of the enumerator.
+		/// </returns>
+		public IEnumerable<object> DeferredQuery(TableMapping map, string query, params object[] args)
+		{
+			var cmd = CreateCommand(query, args);
+			return cmd.ExecuteDeferredQuery<object>(map);
+		}
+
+		/// <summary>
+		/// Returns a queryable interface to the table represented by the given type.
+		/// </summary>
+		/// <returns>
+		/// A queryable object that is able to translate Where, OrderBy, and Take
+		/// queries into native SQL.
+		/// </returns>
+		public TableQuery<T> Table<T>() where T : new()
+		{
+			return new TableQuery<T>(this);
+		}
+
+		/// <summary>
+		/// Attempts to retrieve an object with the given primary key from the table
+		/// associated with the specified type. Use of this method requires that
+		/// the given type have a designated PrimaryKey (using the PrimaryKeyAttribute).
+		/// </summary>
+		/// <param name="pk">
+		/// The primary key.
+		/// </param>
+		/// <returns>
+		/// The object with the given primary key. Throws a not found exception
+		/// if the object is not found.
+		/// </returns>
+		public T Get<T>(object pk) where T : new()
+		{
+			var map = GetMapping(typeof(T));
+			return Query<T>(map.GetByPrimaryKeySql, pk).First();
+		}
+
+		/// <summary>
+		/// Attempts to retrieve the first object that matches the predicate from the table
+		/// associated with the specified type. 
+		/// </summary>
+		/// <param name="predicate">
+		/// A predicate for which object to find.
+		/// </param>
+		/// <returns>
+		/// The object that matches the given predicate. Throws a not found exception
+		/// if the object is not found.
+		/// </returns>
+		public T Get<T>(Expression<Func<T, bool>> predicate) where T : new()
+		{
+			return Table<T>().Where(predicate).First();
+		}
+
+		/// <summary>
+		/// Attempts to retrieve an object with the given primary key from the table
+		/// associated with the specified type. Use of this method requires that
+		/// the given type have a designated PrimaryKey (using the PrimaryKeyAttribute).
+		/// </summary>
+		/// <param name="pk">
+		/// The primary key.
+		/// </param>
+		/// <returns>
+		/// The object with the given primary key or null
+		/// if the object is not found.
+		/// </returns>
+		public T Find<T>(object pk) where T : new()
+		{
+			var map = GetMapping(typeof(T));
+			return Query<T>(map.GetByPrimaryKeySql, pk).FirstOrDefault();
+		}
+
+		/// <summary>
+		/// Attempts to retrieve an object with the given primary key from the table
+		/// associated with the specified type. Use of this method requires that
+		/// the given type have a designated PrimaryKey (using the PrimaryKeyAttribute).
+		/// </summary>
+		/// <param name="pk">
+		/// The primary key.
+		/// </param>
+		/// <param name="map">
+		/// The TableMapping used to identify the object type.
+		/// </param>
+		/// <returns>
+		/// The object with the given primary key or null
+		/// if the object is not found.
+		/// </returns>
+		public object Find(object pk, TableMapping map)
+		{
+			return Query(map, map.GetByPrimaryKeySql, pk).FirstOrDefault();
+		}
+
+		/// <summary>
+		/// Attempts to retrieve the first object that matches the predicate from the table
+		/// associated with the specified type. 
+		/// </summary>
+		/// <param name="predicate">
+		/// A predicate for which object to find.
+		/// </param>
+		/// <returns>
+		/// The object that matches the given predicate or null
+		/// if the object is not found.
+		/// </returns>
+		public T Find<T>(Expression<Func<T, bool>> predicate) where T : new()
+		{
+			return Table<T>().Where(predicate).FirstOrDefault();
+		}
+
+		/// <summary>
+		/// Whether <see cref="BeginTransaction"/> has been called and the database is waiting for a <see cref="Commit"/>.
+		/// </summary>
+		public bool IsInTransaction
+		{
+			get { return _transactionDepth > 0; }
+		}
+
+		/// <summary>
+		/// Begins a new transaction. Call <see cref="Commit"/> to end the transaction.
+		/// </summary>
+		/// <example cref="System.InvalidOperationException">Throws if a transaction has already begun.</example>
+		public void BeginTransaction(bool exclusive = false)
+		{
+			// The BEGIN command only works if the transaction stack is empty, 
+			//    or in other words if there are no pending transactions. 
+			// If the transaction stack is not empty when the BEGIN command is invoked, 
+			//    then the command fails with an error.
+			// Rather than crash with an error, we will just ignore calls to BeginTransaction
+			//    that would result in an error.
+			if (Interlocked.CompareExchange(ref _transactionDepth, 1, 0) == 0)
+			{
+				try
+				{
+					if (exclusive)
+					{
+						Execute("BEGIN EXCLUSIVE TRANSACTION;");
+					}
+					else
+					{
+						Execute("begin transaction");
+					}
+				}
+				catch (Exception ex)
+				{
+					var sqlExp = ex as SQLiteException;
+					if (sqlExp != null)
+					{
+						// It is recommended that applications respond to the errors listed below 
+						//    by explicitly issuing a ROLLBACK command.
+						// TODO: This rollback failsafe should be localized to all throw sites.
+						switch (sqlExp.Result)
+						{
+							case SQLite3.Result.IOError:
+							case SQLite3.Result.Full:
+							case SQLite3.Result.Busy:
+							case SQLite3.Result.NoMem:
+							case SQLite3.Result.Interrupt:
+								RollbackTo(null, true);
+								break;
+						}
+					}
+					else
+					{
+						// Call decrement and not VolatileWrite in case we've already 
+						//    created a transaction point in SaveTransactionPoint since the catch.
+						Interlocked.Decrement(ref _transactionDepth);
+					}
+
+					throw;
+				}
+			}
+			else
+			{
+				// Calling BeginTransaction on an already open transaction is invalid
+				throw new InvalidOperationException("Cannot begin a transaction while already in a transaction.");
+			}
+		}
+
+		/// <summary>
+		/// Creates a savepoint in the database at the current point in the transaction timeline.
+		/// Begins a new transaction if one is not in progress.
+		/// 
+		/// Call <see cref="RollbackTo"/> to undo transactions since the returned savepoint.
+		/// Call <see cref="Release"/> to commit transactions after the savepoint returned here.
+		/// Call <see cref="Commit"/> to end the transaction, committing all changes.
+		/// </summary>
+		/// <returns>A string naming the savepoint.</returns>
+		public string SaveTransactionPoint()
+		{
+			int depth = Interlocked.Increment(ref _transactionDepth) - 1;
+			string retVal = "S" + _rand.Next(short.MaxValue) + "D" + depth;
+
+			try
+			{
+				Execute("savepoint " + retVal);
+			}
+			catch (Exception ex)
+			{
+				var sqlExp = ex as SQLiteException;
+				if (sqlExp != null)
+				{
+					// It is recommended that applications respond to the errors listed below 
+					//    by explicitly issuing a ROLLBACK command.
+					// TODO: This rollback failsafe should be localized to all throw sites.
+					switch (sqlExp.Result)
+					{
+						case SQLite3.Result.IOError:
+						case SQLite3.Result.Full:
+						case SQLite3.Result.Busy:
+						case SQLite3.Result.NoMem:
+						case SQLite3.Result.Interrupt:
+							RollbackTo(null, true);
+							break;
+					}
+				}
+				else
+				{
+					Interlocked.Decrement(ref _transactionDepth);
+				}
+
+				throw;
+			}
+
+			return retVal;
+		}
+
+		/// <summary>
+		/// Rolls back the transaction that was begun by <see cref="BeginTransaction"/> or <see cref="SaveTransactionPoint"/>.
+		/// </summary>
+		public void Rollback()
+		{
+			RollbackTo(null, false);
+		}
+
+		/// <summary>
+		/// Rolls back the savepoint created by <see cref="BeginTransaction"/> or SaveTransactionPoint.
+		/// </summary>
+		/// <param name="savepoint">The name of the savepoint to roll back to, as returned by <see cref="SaveTransactionPoint"/>.  If savepoint is null or empty, this method is equivalent to a call to <see cref="Rollback"/></param>
+		public void RollbackTo(string savepoint)
+		{
+			RollbackTo(savepoint, false);
+		}
+
+		/// <summary>
+		/// Rolls back the transaction that was begun by <see cref="BeginTransaction"/>.
+		/// </summary>
+		/// <param name="noThrow">true to avoid throwing exceptions, false otherwise</param>
+		void RollbackTo(string savepoint, bool noThrow)
+		{
+			// Rolling back without a TO clause rolls backs all transactions 
+			//    and leaves the transaction stack empty.   
+			try
+			{
+				if (String.IsNullOrEmpty(savepoint))
+				{
+					if (Interlocked.Exchange(ref _transactionDepth, 0) > 0)
+					{
+						Execute("rollback");
+					}
+				}
+				else
+				{
+					DoSavePointExecute(savepoint, "rollback to ");
+				}
+			}
+			catch (SQLiteException)
+			{
+				if (!noThrow)
+					throw;
+
+			}
+			// No need to rollback if there are no transactions open.
+		}
+
+		/// <summary>
+		/// Releases a savepoint returned from <see cref="SaveTransactionPoint"/>.  Releasing a savepoint 
+		///    makes changes since that savepoint permanent if the savepoint began the transaction,
+		///    or otherwise the changes are permanent pending a call to <see cref="Commit"/>.
+		/// 
+		/// The RELEASE command is like a COMMIT for a SAVEPOINT.
+		/// </summary>
+		/// <param name="savepoint">The name of the savepoint to release.  The string should be the result of a call to <see cref="SaveTransactionPoint"/></param>
+		public void Release(string savepoint)
+		{
+			DoSavePointExecute(savepoint, "release ");
+		}
+
+		void DoSavePointExecute(string savepoint, string cmd)
+		{
+			// Validate the savepoint
+			int firstLen = savepoint.IndexOf('D');
+			if (firstLen >= 2 && savepoint.Length > firstLen + 1)
+			{
+				int depth;
+				if (Int32.TryParse(savepoint.Substring(firstLen + 1), out depth))
+				{
+					// TODO: Mild race here, but inescapable without locking almost everywhere.
+					if (0 <= depth && depth < _transactionDepth)
+					{
+#if NETFX_CORE
+                        Volatile.Write (ref _transactionDepth, depth);
+#elif SILVERLIGHT
+						_transactionDepth = depth;
+#else
+						Thread.VolatileWrite(ref _transactionDepth, depth);
+#endif
+						Execute(cmd + savepoint);
+						return;
+					}
+				}
+			}
+
+			throw new ArgumentException("savePoint is not valid, and should be the result of a call to SaveTransactionPoint.", "savePoint");
+		}
+
+		/// <summary>
+		/// Commits the transaction that was begun by <see cref="BeginTransaction"/>.
+		/// </summary>
+		public void Commit()
+		{
+			if (Interlocked.Exchange(ref _transactionDepth, 0) != 0)
+			{
+				Execute("commit");
+			}
+			// Do nothing on a commit with no open transaction
+		}
+
+		/// <summary>
+		/// Executes <param name="action"> within a (possibly nested) transaction by wrapping it in a SAVEPOINT. If an
+		/// exception occurs the whole transaction is rolled back, not just the current savepoint. The exception
+		/// is rethrown.
+		/// </summary>
+		/// <param name="action">
+		/// The <see cref="Action"/> to perform within a transaction. <param name="action"> can contain any number
+		/// of operations on the connection but should never call <see cref="BeginTransaction"/> or
+		/// <see cref="Commit"/>.
+		/// </param>
+		public void RunInTransaction(Action action)
+		{
+			try
+			{
+				var savePoint = SaveTransactionPoint();
+				action();
+				Release(savePoint);
+			}
+			catch (Exception)
+			{
+				Rollback();
+				throw;
+			}
+		}
+
+		/// <summary>
+		/// Inserts all specified objects.
+		/// </summary>
+		/// <param name="objects">
+		/// An <see cref="IEnumerable"/> of the objects to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows added to the table.
+		/// </returns>
+		public int InsertAll(System.Collections.IEnumerable objects)
+		{
+			var c = 0;
+			RunInTransaction(() =>
+			{
+				foreach (var r in objects)
+				{
+					c += Insert(r);
+				}
+			});
+			return c;
+		}
+
+		/// <summary>
+		/// Inserts all specified objects.
+		/// </summary>
+		/// <param name="objects">
+		/// An <see cref="IEnumerable"/> of the objects to insert.
+		/// </param>
+		/// <param name="extra">
+		/// Literal SQL code that gets placed into the command. INSERT {extra} INTO ...
+		/// </param>
+		/// <returns>
+		/// The number of rows added to the table.
+		/// </returns>
+		public int InsertAll(System.Collections.IEnumerable objects, string extra)
+		{
+			var c = 0;
+			RunInTransaction(() =>
+			{
+				foreach (var r in objects)
+				{
+					c += Insert(r, extra);
+				}
+			});
+			return c;
+		}
+
+		/// <summary>
+		/// Inserts all specified objects.
+		/// </summary>
+		/// <param name="objects">
+		/// An <see cref="IEnumerable"/> of the objects to insert.
+		/// </param>
+		/// <param name="objType">
+		/// The type of object to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows added to the table.
+		/// </returns>
+		public int InsertAll(System.Collections.IEnumerable objects, Type objType)
+		{
+			var c = 0;
+			RunInTransaction(() =>
+			{
+				foreach (var r in objects)
+				{
+					c += Insert(r, objType);
+				}
+			});
+			return c;
+		}
+
+		/// <summary>
+		/// Inserts the given object and retrieves its
+		/// auto incremented primary key if it has one.
+		/// </summary>
+		/// <param name="obj">
+		/// The object to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows added to the table.
+		/// </returns>
+		public int Insert(object obj)
+		{
+			if (obj == null)
+			{
+				return 0;
+			}
+			return Insert(obj, "", obj.GetType());
+		}
+
+		/// <summary>
+		/// Inserts the given object and retrieves its
+		/// auto incremented primary key if it has one.
+		/// If a UNIQUE constraint violation occurs with
+		/// some pre-existing object, this function deletes
+		/// the old object.
+		/// </summary>
+		/// <param name="obj">
+		/// The object to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows modified.
+		/// </returns>
+		public int InsertOrReplace(object obj)
+		{
+			if (obj == null)
+			{
+				return 0;
+			}
+			return Insert(obj, "OR REPLACE", obj.GetType());
+		}
+
+		/// <summary>
+		/// Inserts the given object and retrieves its
+		/// auto incremented primary key if it has one.
+		/// </summary>
+		/// <param name="obj">
+		/// The object to insert.
+		/// </param>
+		/// <param name="objType">
+		/// The type of object to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows added to the table.
+		/// </returns>
+		public int Insert(object obj, Type objType)
+		{
+			return Insert(obj, "", objType);
+		}
+
+		/// <summary>
+		/// Inserts the given object and retrieves its
+		/// auto incremented primary key if it has one.
+		/// If a UNIQUE constraint violation occurs with
+		/// some pre-existing object, this function deletes
+		/// the old object.
+		/// </summary>
+		/// <param name="obj">
+		/// The object to insert.
+		/// </param>
+		/// <param name="objType">
+		/// The type of object to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows modified.
+		/// </returns>
+		public int InsertOrReplace(object obj, Type objType)
+		{
+			return Insert(obj, "OR REPLACE", objType);
+		}
+
+		/// <summary>
+		/// Inserts the given object and retrieves its
+		/// auto incremented primary key if it has one.
+		/// </summary>
+		/// <param name="obj">
+		/// The object to insert.
+		/// </param>
+		/// <param name="extra">
+		/// Literal SQL code that gets placed into the command. INSERT {extra} INTO ...
+		/// </param>
+		/// <returns>
+		/// The number of rows added to the table.
+		/// </returns>
+		public int Insert(object obj, string extra)
+		{
+			if (obj == null)
+			{
+				return 0;
+			}
+			return Insert(obj, extra, obj.GetType());
+		}
+
+		/// <summary>
+		/// Inserts the given object and retrieves its
+		/// auto incremented primary key if it has one.
+		/// </summary>
+		/// <param name="obj">
+		/// The object to insert.
+		/// </param>
+		/// <param name="extra">
+		/// Literal SQL code that gets placed into the command. INSERT {extra} INTO ...
+		/// </param>
+		/// <param name="objType">
+		/// The type of object to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows added to the table.
+		/// </returns>
+		public int Insert(object obj, string extra, Type objType)
+		{
+			if (obj == null || objType == null)
+			{
+				return 0;
+			}
+
+
+			var map = GetMapping(objType);
+
+#if NETFX_CORE
+            if (map.PK != null && map.PK.IsAutoInc)
+            {
+                // no GetProperty so search our way up the inheritance chain till we find it
+                PropertyInfo prop;
+                while (objType != null)
+                {
+                    var info = objType.GetTypeInfo();
+                    prop = info.GetDeclaredProperty(map.PK.PropertyName);
+                    if (prop != null) 
+                    {
+                        if (prop.GetValue(obj, null).Equals(Guid.Empty))
+                        {
+                            prop.SetValue(obj, Guid.NewGuid(), null);
+                        }
+                        break; 
+                    }
+
+                    objType = info.BaseType;
+                }
+            }
+#else
+			if (map.PK != null && map.PK.IsAutoInc)
+			{
+				var prop = objType.GetProperty(map.PK.PropertyName);
+				if (prop != null)
+				{
+					if (prop.GetValue(obj, null).Equals(Guid.Empty))
+					{
+						prop.SetValue(obj, Guid.NewGuid(), null);
+					}
+				}
+			}
+#endif
+
+
+			var replacing = string.Compare(extra, "OR REPLACE", StringComparison.OrdinalIgnoreCase) == 0;
+
+			var cols = replacing ? map.InsertOrReplaceColumns : map.InsertColumns;
+			var vals = new object[cols.Length];
+			for (var i = 0; i < vals.Length; i++)
+			{
+				vals[i] = cols[i].GetValue(obj);
+			}
+
+			var insertCmd = map.GetInsertCommand(this, extra);
+			int count;
+
+			try
+			{
+				count = insertCmd.ExecuteNonQuery(vals);
+			}
+			catch (SQLiteException ex)
+			{
+
+				if (SQLite3.ExtendedErrCode(this.Handle) == SQLite3.ExtendedResult.ConstraintNotNull)
+				{
+					throw NotNullConstraintViolationException.New(ex.Result, ex.Message, map, obj);
+				}
+				throw;
+			}
+
+			if (map.HasAutoIncPK)
+			{
+				var id = SQLite3.LastInsertRowid(Handle);
+				map.SetAutoIncPK(obj, id);
+			}
+
+			return count;
+		}
+
+		/// <summary>
+		/// Updates all of the columns of a table using the specified object
+		/// except for its primary key.
+		/// The object is required to have a primary key.
+		/// </summary>
+		/// <param name="obj">
+		/// The object to update. It must have a primary key designated using the PrimaryKeyAttribute.
+		/// </param>
+		/// <returns>
+		/// The number of rows updated.
+		/// </returns>
+		public int Update(object obj)
+		{
+			if (obj == null)
+			{
+				return 0;
+			}
+			return Update(obj, obj.GetType());
+		}
+
+		/// <summary>
+		/// Updates all of the columns of a table using the specified object
+		/// except for its primary key.
+		/// The object is required to have a primary key.
+		/// </summary>
+		/// <param name="obj">
+		/// The object to update. It must have a primary key designated using the PrimaryKeyAttribute.
+		/// </param>
+		/// <param name="objType">
+		/// The type of object to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows updated.
+		/// </returns>
+		public int Update(object obj, Type objType)
+		{
+			int rowsAffected = 0;
+			if (obj == null || objType == null)
+			{
+				return 0;
+			}
+
+			var map = GetMapping(objType);
+
+			var pk = map.PK;
+
+			if (pk == null)
+			{
+				throw new NotSupportedException("Cannot update " + map.TableName + ": it has no PK");
+			}
+
+			var cols = from p in map.Columns
+					   where p != pk
+					   select p;
+			var vals = from c in cols
+					   select c.GetValue(obj);
+			var ps = new List<object>(vals);
+			ps.Add(pk.GetValue(obj));
+			var q = string.Format("update \"{0}\" set {1} where {2} = ? ", map.TableName, string.Join(",", (from c in cols
+																											select "\"" + c.Name + "\" = ? ").ToArray()), pk.Name);
+
+			try
+			{
+				rowsAffected = Execute(q, ps.ToArray());
+			}
+			catch (SQLiteException ex)
+			{
+
+				if (ex.Result == SQLite3.Result.Constraint && SQLite3.ExtendedErrCode(this.Handle) == SQLite3.ExtendedResult.ConstraintNotNull)
+				{
+					throw NotNullConstraintViolationException.New(ex, map, obj);
+				}
+
+				throw ex;
+			}
+
+			return rowsAffected;
+		}
+
+		/// <summary>
+		/// Updates all specified objects.
+		/// </summary>
+		/// <param name="objects">
+		/// An <see cref="IEnumerable"/> of the objects to insert.
+		/// </param>
+		/// <returns>
+		/// The number of rows modified.
+		/// </returns>
+		public int UpdateAll(System.Collections.IEnumerable objects)
+		{
+			var c = 0;
+			RunInTransaction(() =>
+			{
+				foreach (var r in objects)
+				{
+					c += Update(r);
+				}
+			});
+			return c;
+		}
+
+		/// <summary>
+		/// Deletes the given object from the database using its primary key.
+		/// </summary>
+		/// <param name="objectToDelete">
+		/// The object to delete. It must have a primary key designated using the PrimaryKeyAttribute.
+		/// </param>
+		/// <returns>
+		/// The number of rows deleted.
+		/// </returns>
+		public int Delete(object objectToDelete)
+		{
+			var map = GetMapping(objectToDelete.GetType());
+			var pk = map.PK;
+			if (pk == null)
+			{
+				throw new NotSupportedException("Cannot delete " + map.TableName + ": it has no PK");
+			}
+			var q = string.Format("delete from \"{0}\" where \"{1}\" = ?", map.TableName, pk.Name);
+			return Execute(q, pk.GetValue(objectToDelete));
+		}
+
+		/// <summary>
+		/// Deletes the object with the specified primary key.
+		/// </summary>
+		/// <param name="primaryKey">
+		/// The primary key of the object to delete.
+		/// </param>
+		/// <returns>
+		/// The number of objects deleted.
+		/// </returns>
+		/// <typeparam name='T'>
+		/// The type of object.
+		/// </typeparam>
+		public int Delete<T>(object primaryKey)
+		{
+			var map = GetMapping(typeof(T));
+			var pk = map.PK;
+			if (pk == null)
+			{
+				throw new NotSupportedException("Cannot delete " + map.TableName + ": it has no PK");
+			}
+			var q = string.Format("delete from \"{0}\" where \"{1}\" = ?", map.TableName, pk.Name);
+			return Execute(q, primaryKey);
+		}
+
+		/// <summary>
+		/// Deletes all the objects from the specified table.
+		/// WARNING WARNING: Let me repeat. It deletes ALL the objects from the
+		/// specified table. Do you really want to do that?
+		/// </summary>
+		/// <returns>
+		/// The number of objects deleted.
+		/// </returns>
+		/// <typeparam name='T'>
+		/// The type of objects to delete.
+		/// </typeparam>
+		public int DeleteAll<T>()
+		{
+			var map = GetMapping(typeof(T));
+			var query = string.Format("delete from \"{0}\"", map.TableName);
+			return Execute(query);
+		}
+
+		~SQLiteConnection()
+		{
+			Dispose(false);
+		}
+
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+		protected virtual void Dispose(bool disposing)
+		{
+			Close();
+		}
+
+		public void Close()
+		{
+			if (_open && Handle != NullHandle)
+			{
+				try
+				{
+					if (_mappings != null)
+					{
+						foreach (var sqlInsertCommand in _mappings.Values)
+						{
+							sqlInsertCommand.Dispose();
+						}
+					}
+					var r = SQLite3.Close(Handle);
+					if (r != SQLite3.Result.OK)
+					{
+						string msg = SQLite3.GetErrmsg(Handle);
+						throw SQLiteException.New(r, msg);
+					}
+				}
+				finally
+				{
+					Handle = NullHandle;
+					_open = false;
+				}
+			}
+		}
+	}
+
+	/// <summary>
+	/// Represents a parsed connection string.
+	/// </summary>
+	class SQLiteConnectionString
+	{
+		public string ConnectionString { get; private set; }
+		public string DatabasePath { get; private set; }
+		public bool StoreDateTimeAsTicks { get; private set; }
+
+#if NETFX_CORE
+		static readonly string MetroStyleDataPath = Windows.Storage.ApplicationData.Current.LocalFolder.Path;
+#endif
+
+		public SQLiteConnectionString(string databasePath, bool storeDateTimeAsTicks)
+		{
+			ConnectionString = databasePath;
+			StoreDateTimeAsTicks = storeDateTimeAsTicks;
+
+#if NETFX_CORE
+			DatabasePath = System.IO.Path.Combine (MetroStyleDataPath, databasePath);
+#else
+			DatabasePath = databasePath;
+#endif
+		}
+	}
+
+	[AttributeUsage(AttributeTargets.Class)]
+	public class TableAttribute : Attribute
+	{
+		public string Name { get; set; }
+
+		public TableAttribute(string name)
+		{
+			Name = name;
+		}
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class ColumnAttribute : Attribute
+	{
+		public string Name { get; set; }
+
+		public ColumnAttribute(string name)
+		{
+			Name = name;
+		}
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class PrimaryKeyAttribute : Attribute
+	{
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class AutoIncrementAttribute : Attribute
+	{
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class IndexedAttribute : Attribute
+	{
+		public string Name { get; set; }
+		public int Order { get; set; }
+		public virtual bool Unique { get; set; }
+
+		public IndexedAttribute()
+		{
+		}
+
+		public IndexedAttribute(string name, int order)
+		{
+			Name = name;
+			Order = order;
+		}
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class IgnoreAttribute : Attribute
+	{
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class UniqueAttribute : IndexedAttribute
+	{
+		public override bool Unique
+		{
+			get { return true; }
+			set { /* throw?  */ }
+		}
+
+		public UniqueAttribute() : base()
+		{
+		}
+
+		public UniqueAttribute(string name, int order) : base(name, order)
+		{
+		}
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class MaxLengthAttribute : Attribute
+	{
+		public int Value { get; private set; }
+
+		public MaxLengthAttribute(int length)
+		{
+			Value = length;
+		}
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class CollationAttribute : Attribute
+	{
+		public string Value { get; private set; }
+
+		public CollationAttribute(string collation)
+		{
+			Value = collation;
+		}
+	}
+
+	[AttributeUsage(AttributeTargets.Property)]
+	public class NotNullAttribute : Attribute
+	{
+	}
+
+	public class TableMapping
+	{
+		public Type MappedType { get; private set; }
+
+		public string TableName { get; private set; }
+
+		public Column[] Columns { get; private set; }
+
+		public Column PK { get; private set; }
+
+		public string GetByPrimaryKeySql { get; private set; }
+
+		Column _autoPk;
+		Column[] _insertColumns;
+		Column[] _insertOrReplaceColumns;
+
+		public TableMapping(Type type, CreateFlags createFlags = CreateFlags.None)
+		{
+			MappedType = type;
+
+#if NETFX_CORE
+			var tableAttr = (TableAttribute)System.Reflection.CustomAttributeExtensions
+                .GetCustomAttribute(type.GetTypeInfo(), typeof(TableAttribute), true);
+#else
+			var tableAttr = (TableAttribute)type.GetCustomAttributes(typeof(TableAttribute), true).FirstOrDefault();
+#endif
+
+			TableName = tableAttr != null ? tableAttr.Name : MappedType.Name;
+
+#if !NETFX_CORE
+			var props = MappedType.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.SetProperty);
+#else
+			var props = from p in MappedType.GetRuntimeProperties()
+						where ((p.GetMethod != null && p.GetMethod.IsPublic) || (p.SetMethod != null && p.SetMethod.IsPublic) || (p.GetMethod != null && p.GetMethod.IsStatic) || (p.SetMethod != null && p.SetMethod.IsStatic))
+						select p;
+#endif
+			var cols = new List<Column>();
+			foreach (var p in props)
+			{
+#if !NETFX_CORE
+				var ignore = p.GetCustomAttributes(typeof(IgnoreAttribute), true).Length > 0;
+#else
+				var ignore = p.GetCustomAttributes (typeof(IgnoreAttribute), true).Count() > 0;
+#endif
+				if (p.CanWrite && !ignore)
+				{
+					cols.Add(new Column(p, createFlags));
+				}
+			}
+			Columns = cols.ToArray();
+			foreach (var c in Columns)
+			{
+				if (c.IsAutoInc && c.IsPK)
+				{
+					_autoPk = c;
+				}
+				if (c.IsPK)
+				{
+					PK = c;
+				}
+			}
+
+			HasAutoIncPK = _autoPk != null;
+
+			if (PK != null)
+			{
+				GetByPrimaryKeySql = string.Format("select * from \"{0}\" where \"{1}\" = ?", TableName, PK.Name);
+			}
+			else
+			{
+				// People should not be calling Get/Find without a PK
+				GetByPrimaryKeySql = string.Format("select * from \"{0}\" limit 1", TableName);
+			}
+		}
+
+		public bool HasAutoIncPK { get; private set; }
+
+		public void SetAutoIncPK(object obj, long id)
+		{
+			if (_autoPk != null)
+			{
+				_autoPk.SetValue(obj, Convert.ChangeType(id, _autoPk.ColumnType, null));
+			}
+		}
+
+		public Column[] InsertColumns
+		{
+			get
+			{
+				if (_insertColumns == null)
+				{
+					_insertColumns = Columns.Where(c => !c.IsAutoInc).ToArray();
+				}
+				return _insertColumns;
+			}
+		}
+
+		public Column[] InsertOrReplaceColumns
+		{
+			get
+			{
+				if (_insertOrReplaceColumns == null)
+				{
+					_insertOrReplaceColumns = Columns.ToArray();
+				}
+				return _insertOrReplaceColumns;
+			}
+		}
+
+		public Column FindColumnWithPropertyName(string propertyName)
+		{
+			var exact = Columns.FirstOrDefault(c => c.PropertyName == propertyName);
+			return exact;
+		}
+
+		public Column FindColumn(string columnName)
+		{
+			var exact = Columns.FirstOrDefault(c => c.Name == columnName);
+			return exact;
+		}
+
+		PreparedSqlLiteInsertCommand _insertCommand;
+		string _insertCommandExtra;
+
+		public PreparedSqlLiteInsertCommand GetInsertCommand(SQLiteConnection conn, string extra)
+		{
+			if (_insertCommand == null)
+			{
+				_insertCommand = CreateInsertCommand(conn, extra);
+				_insertCommandExtra = extra;
+			}
+			else if (_insertCommandExtra != extra)
+			{
+				_insertCommand.Dispose();
+				_insertCommand = CreateInsertCommand(conn, extra);
+				_insertCommandExtra = extra;
+			}
+			return _insertCommand;
+		}
+
+		PreparedSqlLiteInsertCommand CreateInsertCommand(SQLiteConnection conn, string extra)
+		{
+			var cols = InsertColumns;
+			string insertSql;
+			if (!cols.Any() && Columns.Count() == 1 && Columns[0].IsAutoInc)
+			{
+				insertSql = string.Format("insert {1} into \"{0}\" default values", TableName, extra);
+			}
+			else
+			{
+				var replacing = string.Compare(extra, "OR REPLACE", StringComparison.OrdinalIgnoreCase) == 0;
+
+				if (replacing)
+				{
+					cols = InsertOrReplaceColumns;
+				}
+
+				insertSql = string.Format("insert {3} into \"{0}\"({1}) values ({2})", TableName,
+								   string.Join(",", (from c in cols
+													 select "\"" + c.Name + "\"").ToArray()),
+								   string.Join(",", (from c in cols
+													 select "?").ToArray()), extra);
+
+			}
+
+			var insertCommand = new PreparedSqlLiteInsertCommand(conn);
+			insertCommand.CommandText = insertSql;
+			return insertCommand;
+		}
+
+		protected internal void Dispose()
+		{
+			if (_insertCommand != null)
+			{
+				_insertCommand.Dispose();
+				_insertCommand = null;
+			}
+		}
+
+		public class Column
+		{
+			PropertyInfo _prop;
+
+			public string Name { get; private set; }
+
+			public string PropertyName { get { return _prop.Name; } }
+
+			public Type ColumnType { get; private set; }
+
+			public string Collation { get; private set; }
+
+			public bool IsAutoInc { get; private set; }
+			public bool IsAutoGuid { get; private set; }
+
+			public bool IsPK { get; private set; }
+
+			public IEnumerable<IndexedAttribute> Indices { get; set; }
+
+			public bool IsNullable { get; private set; }
+
+			public int? MaxStringLength { get; private set; }
+
+			public Column(PropertyInfo prop, CreateFlags createFlags = CreateFlags.None)
+			{
+				var colAttr = (ColumnAttribute)prop.GetCustomAttributes(typeof(ColumnAttribute), true).FirstOrDefault();
+
+				_prop = prop;
+				Name = colAttr == null ? prop.Name : colAttr.Name;
+				//If this type is Nullable<T> then Nullable.GetUnderlyingType returns the T, otherwise it returns null, so get the actual type instead
+				ColumnType = Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType;
+				Collation = Orm.Collation(prop);
+
+				IsPK = Orm.IsPK(prop) ||
+					(((createFlags & CreateFlags.ImplicitPK) == CreateFlags.ImplicitPK) &&
+					 	string.Compare(prop.Name, Orm.ImplicitPkName, StringComparison.OrdinalIgnoreCase) == 0);
+
+				var isAuto = Orm.IsAutoInc(prop) || (IsPK && ((createFlags & CreateFlags.AutoIncPK) == CreateFlags.AutoIncPK));
+				IsAutoGuid = isAuto && ColumnType == typeof(Guid);
+				IsAutoInc = isAuto && !IsAutoGuid || isAuto;
+
+				Indices = Orm.GetIndices(prop);
+				if (!Indices.Any()
+					&& !IsPK
+					&& ((createFlags & CreateFlags.ImplicitIndex) == CreateFlags.ImplicitIndex)
+					&& Name.EndsWith(Orm.ImplicitIndexSuffix, StringComparison.OrdinalIgnoreCase)
+					)
+				{
+					Indices = new IndexedAttribute[] { new IndexedAttribute() };
+				}
+				IsNullable = !(IsPK || Orm.IsMarkedNotNull(prop));
+				MaxStringLength = Orm.MaxStringLength(prop);
+			}
+
+			public void SetValue(object obj, object val)
+			{
+				_prop.SetValue(obj, val, null);
+			}
+
+			public object GetValue(object obj)
+			{
+				return _prop.GetValue(obj, null);
+			}
+		}
+	}
+
+	public static class Orm
+	{
+		public const int DefaultMaxStringLength = 140;
+		public const string ImplicitPkName = "Id";
+		public const string ImplicitIndexSuffix = "Id";
+
+		public static string SqlDecl(TableMapping.Column p, bool storeDateTimeAsTicks)
+		{
+			string decl = "\"" + p.Name + "\" " + SqlType(p, storeDateTimeAsTicks) + " ";
+
+			if (p.IsPK)
+			{
+				decl += "primary key ";
+			}
+			if (p.IsAutoInc)
+			{
+				decl += "autoincrement ";
+			}
+			if (!p.IsNullable)
+			{
+				decl += "not null ";
+			}
+			if (!string.IsNullOrEmpty(p.Collation))
+			{
+				decl += "collate " + p.Collation + " ";
+			}
+
+			return decl;
+		}
+
+		public static string SqlType(TableMapping.Column p, bool storeDateTimeAsTicks)
+		{
+			var clrType = p.ColumnType;
+			if (clrType == typeof(Boolean) || clrType == typeof(Byte) || clrType == typeof(UInt16) || clrType == typeof(SByte) || clrType == typeof(Int16) || clrType == typeof(Int32))
+			{
+				return "integer";
+			}
+			else if (clrType == typeof(UInt32) || clrType == typeof(Int64))
+			{
+				return "bigint";
+			}
+			else if (clrType == typeof(Single) || clrType == typeof(Double) || clrType == typeof(Decimal))
+			{
+				return "float";
+			}
+			else if (clrType == typeof(String))
+			{
+				int? len = p.MaxStringLength;
+
+				if (len.HasValue)
+					return "varchar(" + len.Value + ")";
+
+				return "varchar";
+			}
+			else if (clrType == typeof(TimeSpan))
+			{
+				return "bigint";
+			}
+			else if (clrType == typeof(DateTime))
+			{
+				return storeDateTimeAsTicks ? "bigint" : "datetime";
+			}
+			else if (clrType == typeof(DateTimeOffset))
+			{
+				return "bigint";
+#if !NETFX_CORE
+			}
+			else if (clrType.IsEnum)
+			{
+#else
+			} else if (clrType.GetTypeInfo().IsEnum) {
+#endif
+				return "integer";
+			}
+			else if (clrType == typeof(byte[]))
+			{
+				return "blob";
+			}
+			else if (clrType == typeof(Guid))
+			{
+				return "varchar(36)";
+			}
+			else
+			{
+				throw new NotSupportedException("Don't know about " + clrType);
+			}
+		}
+
+		public static bool IsPK(MemberInfo p)
+		{
+			var attrs = p.GetCustomAttributes(typeof(PrimaryKeyAttribute), true);
+#if !NETFX_CORE
+			return attrs.Length > 0;
+#else
+			return attrs.Count() > 0;
+#endif
+		}
+
+		public static string Collation(MemberInfo p)
+		{
+			var attrs = p.GetCustomAttributes(typeof(CollationAttribute), true);
+#if !NETFX_CORE
+			if (attrs.Length > 0)
+			{
+				return ((CollationAttribute)attrs[0]).Value;
+#else
+			if (attrs.Count() > 0) {
+                return ((CollationAttribute)attrs.First()).Value;
+#endif
+			}
+			else
+			{
+				return string.Empty;
+			}
+		}
+
+		public static bool IsAutoInc(MemberInfo p)
+		{
+			var attrs = p.GetCustomAttributes(typeof(AutoIncrementAttribute), true);
+#if !NETFX_CORE
+			return attrs.Length > 0;
+#else
+			return attrs.Count() > 0;
+#endif
+		}
+
+		public static IEnumerable<IndexedAttribute> GetIndices(MemberInfo p)
+		{
+			var attrs = p.GetCustomAttributes(typeof(IndexedAttribute), true);
+			return attrs.Cast<IndexedAttribute>();
+		}
+
+		public static int? MaxStringLength(PropertyInfo p)
+		{
+			var attrs = p.GetCustomAttributes(typeof(MaxLengthAttribute), true);
+#if !NETFX_CORE
+			if (attrs.Length > 0)
+				return ((MaxLengthAttribute)attrs[0]).Value;
+#else
+			if (attrs.Count() > 0)
+				return ((MaxLengthAttribute)attrs.First()).Value;
+#endif
+
+			return null;
+		}
+
+		public static bool IsMarkedNotNull(MemberInfo p)
+		{
+			var attrs = p.GetCustomAttributes(typeof(NotNullAttribute), true);
+#if !NETFX_CORE
+			return attrs.Length > 0;
+#else
+	return attrs.Count() > 0;
+#endif
+		}
+	}
+
+	public partial class SQLiteCommand
+	{
+		SQLiteConnection _conn;
+		private List<Binding> _bindings;
+
+		public string CommandText { get; set; }
+
+		internal SQLiteCommand(SQLiteConnection conn)
+		{
+			_conn = conn;
+			_bindings = new List<Binding>();
+			CommandText = "";
+		}
+
+		public int ExecuteNonQuery()
+		{
+			if (_conn.Trace)
+			{
+				Debug.WriteLine("Executing: " + this);
+			}
+
+			var r = SQLite3.Result.OK;
+			var stmt = Prepare();
+			r = SQLite3.Step(stmt);
+			Finalize(stmt);
+			if (r == SQLite3.Result.Done)
+			{
+				int rowsAffected = SQLite3.Changes(_conn.Handle);
+				return rowsAffected;
+			}
+			else if (r == SQLite3.Result.Error)
+			{
+				string msg = SQLite3.GetErrmsg(_conn.Handle);
+				throw SQLiteException.New(r, msg);
+			}
+			else if (r == SQLite3.Result.Constraint)
+			{
+				if (SQLite3.ExtendedErrCode(_conn.Handle) == SQLite3.ExtendedResult.ConstraintNotNull)
+				{
+					throw NotNullConstraintViolationException.New(r, SQLite3.GetErrmsg(_conn.Handle));
+				}
+			}
+
+			throw SQLiteException.New(r, r.ToString());
+		}
+
+		public IEnumerable<T> ExecuteDeferredQuery<T>()
+		{
+			return ExecuteDeferredQuery<T>(_conn.GetMapping(typeof(T)));
+		}
+
+		public List<T> ExecuteQuery<T>()
+		{
+			return ExecuteDeferredQuery<T>(_conn.GetMapping(typeof(T))).ToList();
+		}
+
+		public List<T> ExecuteQuery<T>(TableMapping map)
+		{
+			return ExecuteDeferredQuery<T>(map).ToList();
+		}
+
+		/// <summary>
+		/// Invoked every time an instance is loaded from the database.
+		/// </summary>
+		/// <param name='obj'>
+		/// The newly created object.
+		/// </param>
+		/// <remarks>
+		/// This can be overridden in combination with the <see cref="SQLiteConnection.NewCommand"/>
+		/// method to hook into the life-cycle of objects.
+		///
+		/// Type safety is not possible because MonoTouch does not support virtual generic methods.
+		/// </remarks>
+		protected virtual void OnInstanceCreated(object obj)
+		{
+			// Can be overridden.
+		}
+
+		public IEnumerable<T> ExecuteDeferredQuery<T>(TableMapping map)
+		{
+			if (_conn.Trace)
+			{
+				Debug.WriteLine("Executing Query: " + this);
+			}
+
+			var stmt = Prepare();
+			try
+			{
+				var cols = new TableMapping.Column[SQLite3.ColumnCount(stmt)];
+
+				for (int i = 0; i < cols.Length; i++)
+				{
+					var name = SQLite3.ColumnName16(stmt, i);
+					cols[i] = map.FindColumn(name);
+				}
+
+				while (SQLite3.Step(stmt) == SQLite3.Result.Row)
+				{
+					var obj = Activator.CreateInstance(map.MappedType);
+					for (int i = 0; i < cols.Length; i++)
+					{
+						if (cols[i] == null)
+							continue;
+						var colType = SQLite3.ColumnType(stmt, i);
+						var val = ReadCol(stmt, i, colType, cols[i].ColumnType);
+						cols[i].SetValue(obj, val);
+					}
+					OnInstanceCreated(obj);
+					yield return (T)obj;
+				}
+			}
+			finally
+			{
+				SQLite3.Finalize(stmt);
+			}
+		}
+
+		public T ExecuteScalar<T>()
+		{
+			if (_conn.Trace)
+			{
+				Debug.WriteLine("Executing Query: " + this);
+			}
+
+			T val = default(T);
+
+			var stmt = Prepare();
+
+			try
+			{
+				var r = SQLite3.Step(stmt);
+				if (r == SQLite3.Result.Row)
+				{
+					var colType = SQLite3.ColumnType(stmt, 0);
+					val = (T)ReadCol(stmt, 0, colType, typeof(T));
+				}
+				else if (r == SQLite3.Result.Done)
+				{
+				}
+				else
+				{
+					throw SQLiteException.New(r, SQLite3.GetErrmsg(_conn.Handle));
+				}
+			}
+			finally
+			{
+				Finalize(stmt);
+			}
+
+			return val;
+		}
+
+		public void Bind(string name, object val)
+		{
+			_bindings.Add(new Binding
+			{
+				Name = name,
+				Value = val
+			});
+		}
+
+		public void Bind(object val)
+		{
+			Bind(null, val);
+		}
+
+		public override string ToString()
+		{
+			var parts = new string[1 + _bindings.Count];
+			parts[0] = CommandText;
+			var i = 1;
+			foreach (var b in _bindings)
+			{
+				parts[i] = string.Format("  {0}: {1}", i - 1, b.Value);
+				i++;
+			}
+			return string.Join(Environment.NewLine, parts);
+		}
+
+		Sqlite3Statement Prepare()
+		{
+			var stmt = SQLite3.Prepare2(_conn.Handle, CommandText);
+			BindAll(stmt);
+			return stmt;
+		}
+
+		void Finalize(Sqlite3Statement stmt)
+		{
+			SQLite3.Finalize(stmt);
+		}
+
+		void BindAll(Sqlite3Statement stmt)
+		{
+			int nextIdx = 1;
+			foreach (var b in _bindings)
+			{
+				if (b.Name != null)
+				{
+					b.Index = SQLite3.BindParameterIndex(stmt, b.Name);
+				}
+				else
+				{
+					b.Index = nextIdx++;
+				}
+
+				BindParameter(stmt, b.Index, b.Value, _conn.StoreDateTimeAsTicks);
+			}
+		}
+
+		internal static IntPtr NegativePointer = new IntPtr(-1);
+
+		internal static void BindParameter(Sqlite3Statement stmt, int index, object value, bool storeDateTimeAsTicks)
+		{
+			if (value == null)
+			{
+				SQLite3.BindNull(stmt, index);
+			}
+			else
+			{
+				if (value is Int32)
+				{
+					SQLite3.BindInt(stmt, index, (int)value);
+				}
+				else if (value is String)
+				{
+					SQLite3.BindText(stmt, index, (string)value, -1, NegativePointer);
+				}
+				else if (value is Byte || value is UInt16 || value is SByte || value is Int16)
+				{
+					SQLite3.BindInt(stmt, index, Convert.ToInt32(value));
+				}
+				else if (value is Boolean)
+				{
+					SQLite3.BindInt(stmt, index, (bool)value ? 1 : 0);
+				}
+				else if (value is UInt32 || value is Int64)
+				{
+					SQLite3.BindInt64(stmt, index, Convert.ToInt64(value));
+				}
+				else if (value is Single || value is Double || value is Decimal)
+				{
+					SQLite3.BindDouble(stmt, index, Convert.ToDouble(value));
+				}
+				else if (value is TimeSpan)
+				{
+					SQLite3.BindInt64(stmt, index, ((TimeSpan)value).Ticks);
+				}
+				else if (value is DateTime)
+				{
+					if (storeDateTimeAsTicks)
+					{
+						SQLite3.BindInt64(stmt, index, ((DateTime)value).Ticks);
+					}
+					else
+					{
+						SQLite3.BindText(stmt, index, ((DateTime)value).ToString("yyyy-MM-dd HH:mm:ss"), -1, NegativePointer);
+					}
+				}
+				else if (value is DateTimeOffset)
+				{
+					SQLite3.BindInt64(stmt, index, ((DateTimeOffset)value).UtcTicks);
+#if !NETFX_CORE
+				}
+				else if (value.GetType().IsEnum)
+				{
+#else
+				} else if (value.GetType().GetTypeInfo().IsEnum) {
+#endif
+					SQLite3.BindInt(stmt, index, Convert.ToInt32(value));
+				}
+				else if (value is byte[])
+				{
+					SQLite3.BindBlob(stmt, index, (byte[])value, ((byte[])value).Length, NegativePointer);
+				}
+				else if (value is Guid)
+				{
+					SQLite3.BindText(stmt, index, ((Guid)value).ToString(), 72, NegativePointer);
+				}
+				else
+				{
+					throw new NotSupportedException("Cannot store type: " + value.GetType());
+				}
+			}
+		}
+
+		class Binding
+		{
+			public string Name { get; set; }
+
+			public object Value { get; set; }
+
+			public int Index { get; set; }
+		}
+
+		object ReadCol(Sqlite3Statement stmt, int index, SQLite3.ColType type, Type clrType)
+		{
+			if (type == SQLite3.ColType.Null)
+			{
+				return null;
+			}
+			else
+			{
+				if (clrType == typeof(String))
+				{
+					return SQLite3.ColumnString(stmt, index);
+				}
+				else if (clrType == typeof(Int32))
+				{
+					return (int)SQLite3.ColumnInt(stmt, index);
+				}
+				else if (clrType == typeof(Boolean))
+				{
+					return SQLite3.ColumnInt(stmt, index) == 1;
+				}
+				else if (clrType == typeof(double))
+				{
+					return SQLite3.ColumnDouble(stmt, index);
+				}
+				else if (clrType == typeof(float))
+				{
+					return (float)SQLite3.ColumnDouble(stmt, index);
+				}
+				else if (clrType == typeof(TimeSpan))
+				{
+					return new TimeSpan(SQLite3.ColumnInt64(stmt, index));
+				}
+				else if (clrType == typeof(DateTime))
+				{
+					if (_conn.StoreDateTimeAsTicks)
+					{
+						return new DateTime(SQLite3.ColumnInt64(stmt, index));
+					}
+					else
+					{
+						var text = SQLite3.ColumnString(stmt, index);
+						return DateTime.Parse(text);
+					}
+				}
+				else if (clrType == typeof(DateTimeOffset))
+				{
+					return new DateTimeOffset(SQLite3.ColumnInt64(stmt, index), TimeSpan.Zero);
+#if !NETFX_CORE
+				}
+				else if (clrType.IsEnum)
+				{
+#else
+				} else if (clrType.GetTypeInfo().IsEnum) {
+#endif
+					return SQLite3.ColumnInt(stmt, index);
+				}
+				else if (clrType == typeof(Int64))
+				{
+					return SQLite3.ColumnInt64(stmt, index);
+				}
+				else if (clrType == typeof(UInt32))
+				{
+					return (uint)SQLite3.ColumnInt64(stmt, index);
+				}
+				else if (clrType == typeof(decimal))
+				{
+					return (decimal)SQLite3.ColumnDouble(stmt, index);
+				}
+				else if (clrType == typeof(Byte))
+				{
+					return (byte)SQLite3.ColumnInt(stmt, index);
+				}
+				else if (clrType == typeof(UInt16))
+				{
+					return (ushort)SQLite3.ColumnInt(stmt, index);
+				}
+				else if (clrType == typeof(Int16))
+				{
+					return (short)SQLite3.ColumnInt(stmt, index);
+				}
+				else if (clrType == typeof(sbyte))
+				{
+					return (sbyte)SQLite3.ColumnInt(stmt, index);
+				}
+				else if (clrType == typeof(byte[]))
+				{
+					return SQLite3.ColumnByteArray(stmt, index);
+				}
+				else if (clrType == typeof(Guid))
+				{
+					var text = SQLite3.ColumnString(stmt, index);
+					return new Guid(text);
+				}
+				else
+				{
+					throw new NotSupportedException("Don't know how to read " + clrType);
+				}
+			}
+		}
+	}
+
+	/// <summary>
+	/// Since the insert never changed, we only need to prepare once.
+	/// </summary>
+	public class PreparedSqlLiteInsertCommand : IDisposable
+	{
+		public bool Initialized { get; set; }
+
+		protected SQLiteConnection Connection { get; set; }
+
+		public string CommandText { get; set; }
+
+		protected Sqlite3Statement Statement { get; set; }
+		internal static readonly Sqlite3Statement NullStatement = default(Sqlite3Statement);
+
+		internal PreparedSqlLiteInsertCommand(SQLiteConnection conn)
+		{
+			Connection = conn;
+		}
+
+		public int ExecuteNonQuery(object[] source)
+		{
+			if (Connection.Trace)
+			{
+				Debug.WriteLine("Executing: " + CommandText);
+			}
+
+			var r = SQLite3.Result.OK;
+
+			if (!Initialized)
+			{
+				Statement = Prepare();
+				Initialized = true;
+			}
+
+			//bind the values.
+			if (source != null)
+			{
+				for (int i = 0; i < source.Length; i++)
+				{
+					SQLiteCommand.BindParameter(Statement, i + 1, source[i], Connection.StoreDateTimeAsTicks);
+				}
+			}
+			r = SQLite3.Step(Statement);
+
+			if (r == SQLite3.Result.Done)
+			{
+				int rowsAffected = SQLite3.Changes(Connection.Handle);
+				SQLite3.Reset(Statement);
+				return rowsAffected;
+			}
+			else if (r == SQLite3.Result.Error)
+			{
+				string msg = SQLite3.GetErrmsg(Connection.Handle);
+				SQLite3.Reset(Statement);
+				throw SQLiteException.New(r, msg);
+			}
+			else if (r == SQLite3.Result.Constraint && SQLite3.ExtendedErrCode(Connection.Handle) == SQLite3.ExtendedResult.ConstraintNotNull)
+			{
+				SQLite3.Reset(Statement);
+				throw NotNullConstraintViolationException.New(r, SQLite3.GetErrmsg(Connection.Handle));
+			}
+			else
+			{
+				SQLite3.Reset(Statement);
+				throw SQLiteException.New(r, r.ToString());
+			}
+		}
+
+		protected virtual Sqlite3Statement Prepare()
+		{
+			var stmt = SQLite3.Prepare2(Connection.Handle, CommandText);
+			return stmt;
+		}
+
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+		private void Dispose(bool disposing)
+		{
+			if (Statement != NullStatement)
+			{
+				try
+				{
+					SQLite3.Finalize(Statement);
+				}
+				finally
+				{
+					Statement = NullStatement;
+					Connection = null;
+				}
+			}
+		}
+
+		~PreparedSqlLiteInsertCommand()
+		{
+			Dispose(false);
+		}
+	}
+
+	public abstract class BaseTableQuery
+	{
+		protected class Ordering
+		{
+			public string ColumnName { get; set; }
+			public bool Ascending { get; set; }
+		}
+	}
+
+	public class TableQuery<T> : BaseTableQuery, IEnumerable<T>
+	{
+		public SQLiteConnection Connection { get; private set; }
+
+		public TableMapping Table { get; private set; }
+
+		Expression _where;
+		List<Ordering> _orderBys;
+		int? _limit;
+		int? _offset;
+
+		BaseTableQuery _joinInner;
+		Expression _joinInnerKeySelector;
+		BaseTableQuery _joinOuter;
+		Expression _joinOuterKeySelector;
+		Expression _joinSelector;
+
+		Expression _selector;
+
+		TableQuery(SQLiteConnection conn, TableMapping table)
+		{
+			Connection = conn;
+			Table = table;
+		}
+
+		public TableQuery(SQLiteConnection conn)
+		{
+			Connection = conn;
+			Table = Connection.GetMapping(typeof(T));
+		}
+
+		public TableQuery<U> Clone<U>()
+		{
+			var q = new TableQuery<U>(Connection, Table);
+			q._where = _where;
+			q._deferred = _deferred;
+			if (_orderBys != null)
+			{
+				q._orderBys = new List<Ordering>(_orderBys);
+			}
+			q._limit = _limit;
+			q._offset = _offset;
+			q._joinInner = _joinInner;
+			q._joinInnerKeySelector = _joinInnerKeySelector;
+			q._joinOuter = _joinOuter;
+			q._joinOuterKeySelector = _joinOuterKeySelector;
+			q._joinSelector = _joinSelector;
+			q._selector = _selector;
+			return q;
+		}
+
+		public TableQuery<T> Where(Expression<Func<T, bool>> predExpr)
+		{
+			if (predExpr.NodeType == ExpressionType.Lambda)
+			{
+				var lambda = (LambdaExpression)predExpr;
+				var pred = lambda.Body;
+				var q = Clone<T>();
+				q.AddWhere(pred);
+				return q;
+			}
+			else
+			{
+				throw new NotSupportedException("Must be a predicate");
+			}
+		}
+
+		public TableQuery<T> Take(int n)
+		{
+			var q = Clone<T>();
+			q._limit = n;
+			return q;
+		}
+
+		public TableQuery<T> Skip(int n)
+		{
+			var q = Clone<T>();
+			q._offset = n;
+			return q;
+		}
+
+		public T ElementAt(int index)
+		{
+			return Skip(index).Take(1).First();
+		}
+
+		bool _deferred;
+		public TableQuery<T> Deferred()
+		{
+			var q = Clone<T>();
+			q._deferred = true;
+			return q;
+		}
+
+		public TableQuery<T> OrderBy<U>(Expression<Func<T, U>> orderExpr)
+		{
+			return AddOrderBy<U>(orderExpr, true);
+		}
+
+		public TableQuery<T> OrderByDescending<U>(Expression<Func<T, U>> orderExpr)
+		{
+			return AddOrderBy<U>(orderExpr, false);
+		}
+
+		public TableQuery<T> ThenBy<U>(Expression<Func<T, U>> orderExpr)
+		{
+			return AddOrderBy<U>(orderExpr, true);
+		}
+
+		public TableQuery<T> ThenByDescending<U>(Expression<Func<T, U>> orderExpr)
+		{
+			return AddOrderBy<U>(orderExpr, false);
+		}
+
+		private TableQuery<T> AddOrderBy<U>(Expression<Func<T, U>> orderExpr, bool asc)
+		{
+			if (orderExpr.NodeType == ExpressionType.Lambda)
+			{
+				var lambda = (LambdaExpression)orderExpr;
+
+				MemberExpression mem = null;
+
+				var unary = lambda.Body as UnaryExpression;
+				if (unary != null && unary.NodeType == ExpressionType.Convert)
+				{
+					mem = unary.Operand as MemberExpression;
+				}
+				else
+				{
+					mem = lambda.Body as MemberExpression;
+				}
+
+				if (mem != null && (mem.Expression.NodeType == ExpressionType.Parameter))
+				{
+					var q = Clone<T>();
+					if (q._orderBys == null)
+					{
+						q._orderBys = new List<Ordering>();
+					}
+					q._orderBys.Add(new Ordering
+					{
+						ColumnName = Table.FindColumnWithPropertyName(mem.Member.Name).Name,
+						Ascending = asc
+					});
+					return q;
+				}
+				else
+				{
+					throw new NotSupportedException("Order By does not support: " + orderExpr);
+				}
+			}
+			else
+			{
+				throw new NotSupportedException("Must be a predicate");
+			}
+		}
+
+		private void AddWhere(Expression pred)
+		{
+			if (_where == null)
+			{
+				_where = pred;
+			}
+			else
+			{
+				_where = Expression.AndAlso(_where, pred);
+			}
+		}
+
+		public TableQuery<TResult> Join<TInner, TKey, TResult>(
+			TableQuery<TInner> inner,
+			Expression<Func<T, TKey>> outerKeySelector,
+			Expression<Func<TInner, TKey>> innerKeySelector,
+			Expression<Func<T, TInner, TResult>> resultSelector)
+		{
+			var q = new TableQuery<TResult>(Connection, Connection.GetMapping(typeof(TResult)))
+			{
+				_joinOuter = this,
+				_joinOuterKeySelector = outerKeySelector,
+				_joinInner = inner,
+				_joinInnerKeySelector = innerKeySelector,
+				_joinSelector = resultSelector,
+			};
+			return q;
+		}
+
+		public TableQuery<TResult> Select<TResult>(Expression<Func<T, TResult>> selector)
+		{
+			var q = Clone<TResult>();
+			q._selector = selector;
+			return q;
+		}
+
+		private SQLiteCommand GenerateCommand(string selectionList)
+		{
+			if (_joinInner != null && _joinOuter != null)
+			{
+				throw new NotSupportedException("Joins are not supported.");
+			}
+			else
+			{
+				var cmdText = "select " + selectionList + " from \"" + Table.TableName + "\"";
+				var args = new List<object>();
+				if (_where != null)
+				{
+					var w = CompileExpr(_where, args);
+					cmdText += " where " + w.CommandText;
+				}
+				if ((_orderBys != null) && (_orderBys.Count > 0))
+				{
+					var t = string.Join(", ", _orderBys.Select(o => "\"" + o.ColumnName + "\"" + (o.Ascending ? "" : " desc")).ToArray());
+					cmdText += " order by " + t;
+				}
+				if (_limit.HasValue)
+				{
+					cmdText += " limit " + _limit.Value;
+				}
+				if (_offset.HasValue)
+				{
+					if (!_limit.HasValue)
+					{
+						cmdText += " limit -1 ";
+					}
+					cmdText += " offset " + _offset.Value;
+				}
+				return Connection.CreateCommand(cmdText, args.ToArray());
+			}
+		}
+
+		class CompileResult
+		{
+			public string CommandText { get; set; }
+
+			public object Value { get; set; }
+		}
+
+		private CompileResult CompileExpr(Expression expr, List<object> queryArgs)
+		{
+			if (expr == null)
+			{
+				throw new NotSupportedException("Expression is NULL");
+			}
+			else if (expr is BinaryExpression)
+			{
+				var bin = (BinaryExpression)expr;
+
+				var leftr = CompileExpr(bin.Left, queryArgs);
+				var rightr = CompileExpr(bin.Right, queryArgs);
+
+				//If either side is a parameter and is null, then handle the other side specially (for "is null"/"is not null")
+				string text;
+				if (leftr.CommandText == "?" && leftr.Value == null)
+					text = CompileNullBinaryExpression(bin, rightr);
+				else if (rightr.CommandText == "?" && rightr.Value == null)
+					text = CompileNullBinaryExpression(bin, leftr);
+				else
+					text = "(" + leftr.CommandText + " " + GetSqlName(bin) + " " + rightr.CommandText + ")";
+				return new CompileResult { CommandText = text };
+			}
+			else if (expr.NodeType == ExpressionType.Call)
+			{
+
+				var call = (MethodCallExpression)expr;
+				var args = new CompileResult[call.Arguments.Count];
+				var obj = call.Object != null ? CompileExpr(call.Object, queryArgs) : null;
+
+				for (var i = 0; i < args.Length; i++)
+				{
+					args[i] = CompileExpr(call.Arguments[i], queryArgs);
+				}
+
+				var sqlCall = "";
+
+				if (call.Method.Name == "Like" && args.Length == 2)
+				{
+					sqlCall = "(" + args[0].CommandText + " like " + args[1].CommandText + ")";
+				}
+				else if (call.Method.Name == "Contains" && args.Length == 2)
+				{
+					sqlCall = "(" + args[1].CommandText + " in " + args[0].CommandText + ")";
+				}
+				else if (call.Method.Name == "Contains" && args.Length == 1)
+				{
+					if (call.Object != null && call.Object.Type == typeof(string))
+					{
+						sqlCall = "(" + obj.CommandText + " like ('%' || " + args[0].CommandText + " || '%'))";
+					}
+					else
+					{
+						sqlCall = "(" + args[0].CommandText + " in " + obj.CommandText + ")";
+					}
+				}
+				else if (call.Method.Name == "StartsWith" && args.Length == 1)
+				{
+					sqlCall = "(" + obj.CommandText + " like (" + args[0].CommandText + " || '%'))";
+				}
+				else if (call.Method.Name == "EndsWith" && args.Length == 1)
+				{
+					sqlCall = "(" + obj.CommandText + " like ('%' || " + args[0].CommandText + "))";
+				}
+				else if (call.Method.Name == "Equals" && args.Length == 1)
+				{
+					sqlCall = "(" + obj.CommandText + " = (" + args[0].CommandText + "))";
+				}
+				else if (call.Method.Name == "ToLower")
+				{
+					sqlCall = "(lower(" + obj.CommandText + "))";
+				}
+				else if (call.Method.Name == "ToUpper")
+				{
+					sqlCall = "(upper(" + obj.CommandText + "))";
+				}
+				else
+				{
+					sqlCall = call.Method.Name.ToLower() + "(" + string.Join(",", args.Select(a => a.CommandText).ToArray()) + ")";
+				}
+				return new CompileResult { CommandText = sqlCall };
+
+			}
+			else if (expr.NodeType == ExpressionType.Constant)
+			{
+				var c = (ConstantExpression)expr;
+				queryArgs.Add(c.Value);
+				return new CompileResult
+				{
+					CommandText = "?",
+					Value = c.Value
+				};
+			}
+			else if (expr.NodeType == ExpressionType.Convert)
+			{
+				var u = (UnaryExpression)expr;
+				var ty = u.Type;
+				var valr = CompileExpr(u.Operand, queryArgs);
+				return new CompileResult
+				{
+					CommandText = valr.CommandText,
+					Value = valr.Value != null ? ConvertTo(valr.Value, ty) : null
+				};
+			}
+			else if (expr.NodeType == ExpressionType.MemberAccess)
+			{
+				var mem = (MemberExpression)expr;
+
+				if (mem.Expression != null && mem.Expression.NodeType == ExpressionType.Parameter)
+				{
+					//
+					// This is a column of our table, output just the column name
+					// Need to translate it if that column name is mapped
+					//
+					var columnName = Table.FindColumnWithPropertyName(mem.Member.Name).Name;
+					return new CompileResult { CommandText = "\"" + columnName + "\"" };
+				}
+				else
+				{
+					object obj = null;
+					if (mem.Expression != null)
+					{
+						var r = CompileExpr(mem.Expression, queryArgs);
+						if (r.Value == null)
+						{
+							throw new NotSupportedException("Member access failed to compile expression");
+						}
+						if (r.CommandText == "?")
+						{
+							queryArgs.RemoveAt(queryArgs.Count - 1);
+						}
+						obj = r.Value;
+					}
+
+					//
+					// Get the member value
+					//
+					object val = null;
+
+#if !NETFX_CORE
+					if (mem.Member.MemberType == MemberTypes.Property)
+					{
+#else
+					if (mem.Member is PropertyInfo) {
+#endif
+						var m = (PropertyInfo)mem.Member;
+						val = m.GetValue(obj, null);
+#if !NETFX_CORE
+					}
+					else if (mem.Member.MemberType == MemberTypes.Field)
+					{
+#else
+					} else if (mem.Member is FieldInfo) {
+#endif
+#if SILVERLIGHT
+						val = Expression.Lambda (expr).Compile ().DynamicInvoke ();
+#else
+						var m = (FieldInfo)mem.Member;
+						val = m.GetValue(obj);
+#endif
+					}
+					else
+					{
+#if !NETFX_CORE
+						throw new NotSupportedException("MemberExpr: " + mem.Member.MemberType);
+#else
+						throw new NotSupportedException ("MemberExpr: " + mem.Member.DeclaringType);
+#endif
+					}
+
+					//
+					// Work special magic for enumerables
+					//
+					if (val != null && val is System.Collections.IEnumerable && !(val is string) && !(val is System.Collections.Generic.IEnumerable<byte>))
+					{
+						var sb = new System.Text.StringBuilder();
+						sb.Append("(");
+						var head = "";
+						foreach (var a in (System.Collections.IEnumerable)val)
+						{
+							queryArgs.Add(a);
+							sb.Append(head);
+							sb.Append("?");
+							head = ",";
+						}
+						sb.Append(")");
+						return new CompileResult
+						{
+							CommandText = sb.ToString(),
+							Value = val
+						};
+					}
+					else
+					{
+						queryArgs.Add(val);
+						return new CompileResult
+						{
+							CommandText = "?",
+							Value = val
+						};
+					}
+				}
+			}
+			throw new NotSupportedException("Cannot compile: " + expr.NodeType.ToString());
+		}
+
+		static object ConvertTo(object obj, Type t)
+		{
+			Type nut = Nullable.GetUnderlyingType(t);
+
+			if (nut != null)
+			{
+				if (obj == null) return null;
+				return Convert.ChangeType(obj, nut);
+			}
+			else
+			{
+				return Convert.ChangeType(obj, t);
+			}
+		}
+
+		/// <summary>
+		/// Compiles a BinaryExpression where one of the parameters is null.
+		/// </summary>
+		/// <param name="parameter">The non-null parameter</param>
+		private string CompileNullBinaryExpression(BinaryExpression expression, CompileResult parameter)
+		{
+			if (expression.NodeType == ExpressionType.Equal)
+				return "(" + parameter.CommandText + " is ?)";
+			else if (expression.NodeType == ExpressionType.NotEqual)
+				return "(" + parameter.CommandText + " is not ?)";
+			else
+				throw new NotSupportedException("Cannot compile Null-BinaryExpression with type " + expression.NodeType.ToString());
+		}
+
+		string GetSqlName(Expression expr)
+		{
+			var n = expr.NodeType;
+			if (n == ExpressionType.GreaterThan)
+				return ">";
+			else if (n == ExpressionType.GreaterThanOrEqual)
+			{
+				return ">=";
+			}
+			else if (n == ExpressionType.LessThan)
+			{
+				return "<";
+			}
+			else if (n == ExpressionType.LessThanOrEqual)
+			{
+				return "<=";
+			}
+			else if (n == ExpressionType.And)
+			{
+				return "&";
+			}
+			else if (n == ExpressionType.AndAlso)
+			{
+				return "and";
+			}
+			else if (n == ExpressionType.Or)
+			{
+				return "|";
+			}
+			else if (n == ExpressionType.OrElse)
+			{
+				return "or";
+			}
+			else if (n == ExpressionType.Equal)
+			{
+				return "=";
+			}
+			else if (n == ExpressionType.NotEqual)
+			{
+				return "!=";
+			}
+			else
+			{
+				throw new NotSupportedException("Cannot get SQL for: " + n);
+			}
+		}
+
+		public int Count()
+		{
+			return GenerateCommand("count(*)").ExecuteScalar<int>();
+		}
+
+		public int Count(Expression<Func<T, bool>> predExpr)
+		{
+			return Where(predExpr).Count();
+		}
+
+		public IEnumerator<T> GetEnumerator()
+		{
+			if (!_deferred)
+				return GenerateCommand("*").ExecuteQuery<T>().GetEnumerator();
+
+			return GenerateCommand("*").ExecuteDeferredQuery<T>().GetEnumerator();
+		}
+
+		System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+		{
+			return GetEnumerator();
+		}
+
+		public T First()
+		{
+			var query = Take(1);
+			return query.ToList<T>().First();
+		}
+
+		public T FirstOrDefault()
+		{
+			var query = Take(1);
+			return query.ToList<T>().FirstOrDefault();
+		}
+	}
+
+	public static class SQLite3
+	{
+		public enum Result : int
+		{
+			OK = 0,
+			Error = 1,
+			Internal = 2,
+			Perm = 3,
+			Abort = 4,
+			Busy = 5,
+			Locked = 6,
+			NoMem = 7,
+			ReadOnly = 8,
+			Interrupt = 9,
+			IOError = 10,
+			Corrupt = 11,
+			NotFound = 12,
+			Full = 13,
+			CannotOpen = 14,
+			LockErr = 15,
+			Empty = 16,
+			SchemaChngd = 17,
+			TooBig = 18,
+			Constraint = 19,
+			Mismatch = 20,
+			Misuse = 21,
+			NotImplementedLFS = 22,
+			AccessDenied = 23,
+			Format = 24,
+			Range = 25,
+			NonDBFile = 26,
+			Notice = 27,
+			Warning = 28,
+			Row = 100,
+			Done = 101
+		}
+
+		public enum ExtendedResult : int
+		{
+			IOErrorRead = (Result.IOError | (1 << 8)),
+			IOErrorShortRead = (Result.IOError | (2 << 8)),
+			IOErrorWrite = (Result.IOError | (3 << 8)),
+			IOErrorFsync = (Result.IOError | (4 << 8)),
+			IOErrorDirFSync = (Result.IOError | (5 << 8)),
+			IOErrorTruncate = (Result.IOError | (6 << 8)),
+			IOErrorFStat = (Result.IOError | (7 << 8)),
+			IOErrorUnlock = (Result.IOError | (8 << 8)),
+			IOErrorRdlock = (Result.IOError | (9 << 8)),
+			IOErrorDelete = (Result.IOError | (10 << 8)),
+			IOErrorBlocked = (Result.IOError | (11 << 8)),
+			IOErrorNoMem = (Result.IOError | (12 << 8)),
+			IOErrorAccess = (Result.IOError | (13 << 8)),
+			IOErrorCheckReservedLock = (Result.IOError | (14 << 8)),
+			IOErrorLock = (Result.IOError | (15 << 8)),
+			IOErrorClose = (Result.IOError | (16 << 8)),
+			IOErrorDirClose = (Result.IOError | (17 << 8)),
+			IOErrorSHMOpen = (Result.IOError | (18 << 8)),
+			IOErrorSHMSize = (Result.IOError | (19 << 8)),
+			IOErrorSHMLock = (Result.IOError | (20 << 8)),
+			IOErrorSHMMap = (Result.IOError | (21 << 8)),
+			IOErrorSeek = (Result.IOError | (22 << 8)),
+			IOErrorDeleteNoEnt = (Result.IOError | (23 << 8)),
+			IOErrorMMap = (Result.IOError | (24 << 8)),
+			LockedSharedcache = (Result.Locked | (1 << 8)),
+			BusyRecovery = (Result.Busy | (1 << 8)),
+			CannottOpenNoTempDir = (Result.CannotOpen | (1 << 8)),
+			CannotOpenIsDir = (Result.CannotOpen | (2 << 8)),
+			CannotOpenFullPath = (Result.CannotOpen | (3 << 8)),
+			CorruptVTab = (Result.Corrupt | (1 << 8)),
+			ReadonlyRecovery = (Result.ReadOnly | (1 << 8)),
+			ReadonlyCannotLock = (Result.ReadOnly | (2 << 8)),
+			ReadonlyRollback = (Result.ReadOnly | (3 << 8)),
+			AbortRollback = (Result.Abort | (2 << 8)),
+			ConstraintCheck = (Result.Constraint | (1 << 8)),
+			ConstraintCommitHook = (Result.Constraint | (2 << 8)),
+			ConstraintForeignKey = (Result.Constraint | (3 << 8)),
+			ConstraintFunction = (Result.Constraint | (4 << 8)),
+			ConstraintNotNull = (Result.Constraint | (5 << 8)),
+			ConstraintPrimaryKey = (Result.Constraint | (6 << 8)),
+			ConstraintTrigger = (Result.Constraint | (7 << 8)),
+			ConstraintUnique = (Result.Constraint | (8 << 8)),
+			ConstraintVTab = (Result.Constraint | (9 << 8)),
+			NoticeRecoverWAL = (Result.Notice | (1 << 8)),
+			NoticeRecoverRollback = (Result.Notice | (2 << 8))
+		}
+
+
+		public enum ConfigOption : int
+		{
+			SingleThread = 1,
+			MultiThread = 2,
+			Serialized = 3
+		}
+
+#if !USE_CSHARP_SQLITE && !USE_WP8_NATIVE_SQLITE
+		[DllImport("sqlite3", EntryPoint = "sqlite3_open", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Open([MarshalAs(UnmanagedType.LPStr)] string filename, out IntPtr db);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_open_v2", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Open([MarshalAs(UnmanagedType.LPStr)] string filename, out IntPtr db, int flags, IntPtr zvfs);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_open_v2", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Open(byte[] filename, out IntPtr db, int flags, IntPtr zvfs);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_open16", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Open16([MarshalAs(UnmanagedType.LPWStr)] string filename, out IntPtr db);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_enable_load_extension", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result EnableLoadExtension(IntPtr db, int onoff);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_close", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Close(IntPtr db);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_initialize", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Initialize();
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_shutdown", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Shutdown();
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_config", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Config(ConfigOption option);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_win32_set_directory", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
+		public static extern int SetDirectory(uint directoryType, string directoryPath);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_busy_timeout", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result BusyTimeout(IntPtr db, int milliseconds);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_changes", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int Changes(IntPtr db);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_prepare_v2", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Prepare2(IntPtr db, [MarshalAs(UnmanagedType.LPStr)] string sql, int numBytes, out IntPtr stmt, IntPtr pzTail);
+
+#if NETFX_CORE
+		[DllImport ("sqlite3", EntryPoint = "sqlite3_prepare_v2", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Prepare2 (IntPtr db, byte[] queryBytes, int numBytes, out IntPtr stmt, IntPtr pzTail);
+#endif
+
+		public static IntPtr Prepare2(IntPtr db, string query)
+		{
+			IntPtr stmt;
+#if NETFX_CORE
+            byte[] queryBytes = System.Text.UTF8Encoding.UTF8.GetBytes (query);
+            var r = Prepare2 (db, queryBytes, queryBytes.Length, out stmt, IntPtr.Zero);
+#else
+			var r = Prepare2(db, query, System.Text.UTF8Encoding.UTF8.GetByteCount(query), out stmt, IntPtr.Zero);
+#endif
+			if (r != Result.OK)
+			{
+				throw SQLiteException.New(r, GetErrmsg(db));
+			}
+			return stmt;
+		}
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_step", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Step(IntPtr stmt);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_reset", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Reset(IntPtr stmt);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_finalize", CallingConvention = CallingConvention.Cdecl)]
+		public static extern Result Finalize(IntPtr stmt);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_last_insert_rowid", CallingConvention = CallingConvention.Cdecl)]
+		public static extern long LastInsertRowid(IntPtr db);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_errmsg16", CallingConvention = CallingConvention.Cdecl)]
+		public static extern IntPtr Errmsg(IntPtr db);
+
+		public static string GetErrmsg(IntPtr db)
+		{
+			return Marshal.PtrToStringUni(Errmsg(db));
+		}
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_bind_parameter_index", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int BindParameterIndex(IntPtr stmt, [MarshalAs(UnmanagedType.LPStr)] string name);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_bind_null", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int BindNull(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_bind_int", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int BindInt(IntPtr stmt, int index, int val);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_bind_int64", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int BindInt64(IntPtr stmt, int index, long val);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_bind_double", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int BindDouble(IntPtr stmt, int index, double val);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_bind_text16", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
+		public static extern int BindText(IntPtr stmt, int index, [MarshalAs(UnmanagedType.LPWStr)] string val, int n, IntPtr free);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_bind_blob", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int BindBlob(IntPtr stmt, int index, byte[] val, int n, IntPtr free);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_count", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int ColumnCount(IntPtr stmt);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_name", CallingConvention = CallingConvention.Cdecl)]
+		public static extern IntPtr ColumnName(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_name16", CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr ColumnName16Internal(IntPtr stmt, int index);
+		public static string ColumnName16(IntPtr stmt, int index)
+		{
+			return Marshal.PtrToStringUni(ColumnName16Internal(stmt, index));
+		}
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_type", CallingConvention = CallingConvention.Cdecl)]
+		public static extern ColType ColumnType(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_int", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int ColumnInt(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_int64", CallingConvention = CallingConvention.Cdecl)]
+		public static extern long ColumnInt64(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_double", CallingConvention = CallingConvention.Cdecl)]
+		public static extern double ColumnDouble(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_text", CallingConvention = CallingConvention.Cdecl)]
+		public static extern IntPtr ColumnText(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_text16", CallingConvention = CallingConvention.Cdecl)]
+		public static extern IntPtr ColumnText16(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_blob", CallingConvention = CallingConvention.Cdecl)]
+		public static extern IntPtr ColumnBlob(IntPtr stmt, int index);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_column_bytes", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int ColumnBytes(IntPtr stmt, int index);
+
+		public static string ColumnString(IntPtr stmt, int index)
+		{
+			return Marshal.PtrToStringUni(SQLite3.ColumnText16(stmt, index));
+		}
+
+		public static byte[] ColumnByteArray(IntPtr stmt, int index)
+		{
+			int length = ColumnBytes(stmt, index);
+			var result = new byte[length];
+			if (length > 0)
+				Marshal.Copy(ColumnBlob(stmt, index), result, 0, length);
+			return result;
+		}
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_extended_errcode", CallingConvention = CallingConvention.Cdecl)]
+		public static extern ExtendedResult ExtendedErrCode(IntPtr db);
+
+		[DllImport("sqlite3", EntryPoint = "sqlite3_libversion_number", CallingConvention = CallingConvention.Cdecl)]
+		public static extern int LibVersionNumber();
+#else
+		public static Result Open(string filename, out Sqlite3DatabaseHandle db)
+		{
+			return (Result) Sqlite3.sqlite3_open(filename, out db);
+		}
+
+		public static Result Open(string filename, out Sqlite3DatabaseHandle db, int flags, IntPtr zVfs)
+		{
+#if USE_WP8_NATIVE_SQLITE
+			return (Result)Sqlite3.sqlite3_open_v2(filename, out db, flags, "");
+#else
+			return (Result)Sqlite3.sqlite3_open_v2(filename, out db, flags, null);
+#endif
+		}
+
+		public static Result Close(Sqlite3DatabaseHandle db)
+		{
+			return (Result)Sqlite3.sqlite3_close(db);
+		}
+
+		public static Result BusyTimeout(Sqlite3DatabaseHandle db, int milliseconds)
+		{
+			return (Result)Sqlite3.sqlite3_busy_timeout(db, milliseconds);
+		}
+
+		public static int Changes(Sqlite3DatabaseHandle db)
+		{
+			return Sqlite3.sqlite3_changes(db);
+		}
+
+		public static Sqlite3Statement Prepare2(Sqlite3DatabaseHandle db, string query)
+		{
+			Sqlite3Statement stmt = default(Sqlite3Statement);
+#if USE_WP8_NATIVE_SQLITE
+			var r = Sqlite3.sqlite3_prepare_v2(db, query, out stmt);
+#else
+			stmt = new Sqlite3Statement();
+			var r = Sqlite3.sqlite3_prepare_v2(db, query, -1, ref stmt, 0);
+#endif
+			if (r != 0)
+			{
+				throw SQLiteException.New((Result)r, GetErrmsg(db));
+			}
+			return stmt;
+		}
+
+		public static Result Step(Sqlite3Statement stmt)
+		{
+			return (Result)Sqlite3.sqlite3_step(stmt);
+		}
+
+		public static Result Reset(Sqlite3Statement stmt)
+		{
+			return (Result)Sqlite3.sqlite3_reset(stmt);
+		}
+
+		public static Result Finalize(Sqlite3Statement stmt)
+		{
+			return (Result)Sqlite3.sqlite3_finalize(stmt);
+		}
+
+		public static long LastInsertRowid(Sqlite3DatabaseHandle db)
+		{
+			return Sqlite3.sqlite3_last_insert_rowid(db);
+		}
+
+		public static string GetErrmsg(Sqlite3DatabaseHandle db)
+		{
+			return Sqlite3.sqlite3_errmsg(db);
+		}
+
+		public static int BindParameterIndex(Sqlite3Statement stmt, string name)
+		{
+			return Sqlite3.sqlite3_bind_parameter_index(stmt, name);
+		}
+
+		public static int BindNull(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_bind_null(stmt, index);
+		}
+
+		public static int BindInt(Sqlite3Statement stmt, int index, int val)
+		{
+			return Sqlite3.sqlite3_bind_int(stmt, index, val);
+		}
+
+		public static int BindInt64(Sqlite3Statement stmt, int index, long val)
+		{
+			return Sqlite3.sqlite3_bind_int64(stmt, index, val);
+		}
+
+		public static int BindDouble(Sqlite3Statement stmt, int index, double val)
+		{
+			return Sqlite3.sqlite3_bind_double(stmt, index, val);
+		}
+
+		public static int BindText(Sqlite3Statement stmt, int index, string val, int n, IntPtr free)
+		{
+#if USE_WP8_NATIVE_SQLITE
+			return Sqlite3.sqlite3_bind_text(stmt, index, val, n);
+#else
+			return Sqlite3.sqlite3_bind_text(stmt, index, val, n, null);
+#endif
+		}
+
+		public static int BindBlob(Sqlite3Statement stmt, int index, byte[] val, int n, IntPtr free)
+		{
+#if USE_WP8_NATIVE_SQLITE
+			return Sqlite3.sqlite3_bind_blob(stmt, index, val, n);
+#else
+			return Sqlite3.sqlite3_bind_blob(stmt, index, val, n, null);
+#endif
+		}
+
+		public static int ColumnCount(Sqlite3Statement stmt)
+		{
+			return Sqlite3.sqlite3_column_count(stmt);
+		}
+
+		public static string ColumnName(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_name(stmt, index);
+		}
+
+		public static string ColumnName16(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_name(stmt, index);
+		}
+
+		public static ColType ColumnType(Sqlite3Statement stmt, int index)
+		{
+			return (ColType)Sqlite3.sqlite3_column_type(stmt, index);
+		}
+
+		public static int ColumnInt(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_int(stmt, index);
+		}
+
+		public static long ColumnInt64(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_int64(stmt, index);
+		}
+
+		public static double ColumnDouble(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_double(stmt, index);
+		}
+
+		public static string ColumnText(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_text(stmt, index);
+		}
+
+		public static string ColumnText16(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_text(stmt, index);
+		}
+
+		public static byte[] ColumnBlob(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_blob(stmt, index);
+		}
+
+		public static int ColumnBytes(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_bytes(stmt, index);
+		}
+
+		public static string ColumnString(Sqlite3Statement stmt, int index)
+		{
+			return Sqlite3.sqlite3_column_text(stmt, index);
+		}
+
+		public static byte[] ColumnByteArray(Sqlite3Statement stmt, int index)
+		{
+			return ColumnBlob(stmt, index);
+		}
+
+		public static Result EnableLoadExtension(Sqlite3DatabaseHandle db, int onoff)
+		{
+			return (Result)Sqlite3.sqlite3_enable_load_extension(db, onoff);
+		}
+
+		public static ExtendedResult ExtendedErrCode(Sqlite3DatabaseHandle db)
+		{
+			return (ExtendedResult)Sqlite3.sqlite3_extended_errcode(db);
+		}
+#endif
+
+		public enum ColType : int
+		{
+			Integer = 1,
+			Float = 2,
+			Text = 3,
+			Blob = 4,
+			Null = 5
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite/SQLite.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite/SQLite.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..040ab20357997eedbc1449c952e0b473442c307b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/SQLite/SQLite.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: aee17b4969829456097c55d1bc42f57b
+timeCreated: 1497883479
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4bb77704ae436e59799ddb623a110c35c1a73e1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b68f3c7ef59bf3246a91043a1d382926
+folderAsset: yes
+timeCreated: 1515589539
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSON.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSON.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0491354e4183b80f899dd669e707e3db38080f69
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSON.cs
@@ -0,0 +1,54 @@
+using Mapbox.Json;
+using Mapbox.Utils;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Mapbox.Platform.TilesetTileJSON
+{
+	public class TileJSON
+	{
+
+		private IFileSource _fileSource;
+		private int _timeout;
+
+
+		public IFileSource FileSource { get { return _fileSource; } }
+
+
+		public TileJSON(IFileSource fileSource, int timeout)
+		{
+			_fileSource = fileSource;
+			_timeout = timeout;
+		}
+
+
+		public IAsyncRequest Get(string tilesetName, Action<TileJSONResponse> callback)
+		{
+			string url = string.Format(
+				"{0}v4/{1}.json?secure"
+				, Constants.BaseAPI
+				, tilesetName
+			);
+
+			return _fileSource.Request(
+				url
+				, (Response response) =>
+				{
+					string json = Encoding.UTF8.GetString(response.Data);
+					TileJSONResponse tileJSONResponse = JsonConvert.DeserializeObject<TileJSONResponse>(json);
+					if (tileJSONResponse != null)
+					{
+						tileJSONResponse.Source = tilesetName;
+					}
+					callback(tileJSONResponse);
+				}
+				, _timeout
+			);
+		}
+
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSON.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSON.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2e38eb662cf027fdec394a5ee88be09d8c03a7d2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSON.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ab78da4f6b501ed4b8ea92121d3392b8
+timeCreated: 1515589539
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONObjectVectorLayer.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONObjectVectorLayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a9b81f0da4ff77381ddf291550d765802ddda002
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONObjectVectorLayer.cs
@@ -0,0 +1,32 @@
+namespace Mapbox.Platform.TilesetTileJSON
+{
+	using Mapbox.Json;
+	using System.Collections.Generic;
+
+
+
+	public class TileJSONObjectVectorLayer
+	{
+
+		[JsonProperty("description")]
+		public string Description { get; set; }
+
+
+		[JsonProperty("fields")]
+		public Dictionary<string, string> Fields { get; set; }
+
+
+		[JsonProperty("id")]
+		public string Id { get; set; }
+
+
+		[JsonProperty("source")]
+		public string Source { get; set; }
+
+
+		[JsonProperty("source_name")]
+		public string SourceName { get; set; }
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONObjectVectorLayer.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONObjectVectorLayer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c08215949301a9ed50b5b0f5b25ab7281651b608
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONObjectVectorLayer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4d926842f7750b041be895c39e959799
+timeCreated: 1515590225
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONReponse.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONReponse.cs
new file mode 100644
index 0000000000000000000000000000000000000000..273084a4585f5d5201e960370eec15af84e8ac58
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONReponse.cs
@@ -0,0 +1,165 @@
+namespace Mapbox.Platform.TilesetTileJSON
+{
+
+	using Mapbox.Json;
+	using Mapbox.Utils;
+	using System;
+
+	public class TileJSONResponse
+	{
+
+
+		[JsonProperty("attribution")]
+		public string Attribution { get; set; }
+
+
+		[JsonProperty("autoscale")]
+		public bool AutoScale { get; set; }
+
+
+		private double[] _bounds;
+		[JsonProperty("bounds")]
+		public double[] Bounds
+		{
+			get { return _bounds; }
+			set
+			{
+				_bounds = value;
+				BoundsParsed = new Vector2dBounds(
+					new Vector2d(Bounds[1], Bounds[0])
+					, new Vector2d(Bounds[3], Bounds[2])
+				);
+			}
+		}
+
+
+		[JsonIgnore]
+		public Vector2dBounds BoundsParsed { get; private set; }
+
+
+		private double[] _center;
+		[JsonProperty("center")]
+		public double[] Center
+		{
+			get { return _center; }
+			set
+			{
+				_center = value;
+				CenterParsed = new Vector2d(_center[1], _center[0]);
+			}
+		}
+
+		[JsonIgnore]
+		public Vector2d CenterParsed { get; private set; }
+
+
+		private long? _created;
+		/// <summary>Concatenated tilesets don't have a created property </summary>
+		[JsonProperty("created")]
+		public long? Created
+		{
+			get { return _created; }
+			set
+			{
+				_created = value;
+				if (_created.HasValue)
+				{
+					CreatedUtc = UnixTimestampUtils.From(_created.Value);
+				}
+				else
+				{
+					CreatedUtc = null;
+				}
+			}
+		}
+
+
+		/// <summary>Concatenated tilesets don't have a created property </summary>
+		[JsonIgnore]
+		public DateTime? CreatedUtc { get; private set; }
+
+
+		[JsonProperty("description")]
+		public string Description { get; set; }
+
+
+		/// <summary>Can be empty</summary>
+		[JsonProperty("format")]
+		public string Format { get; set; }
+
+
+		/// <summary>Can be empty (for concatenated tilesets)</summary>
+		[JsonProperty("id")]
+		public string Id { get; set; }
+
+
+		[JsonProperty("maxzoom")]
+		public int MaxZoom { get; set; }
+
+
+		[JsonProperty("minzoom")]
+		public int MinZoom { get; set; }
+
+
+		private long? _modified;
+		/// <summary>Unmodified tilesets don't have a modfied property </summary>
+		[JsonProperty("modified")]
+		public long? Modified
+		{
+			get { return _modified; }
+			set
+			{
+				_modified = value;
+				if (_modified.HasValue)
+				{
+					ModifiedUtc = UnixTimestampUtils.From(_modified.Value);
+				}
+				else
+				{
+					ModifiedUtc = null;
+				}
+			}
+		}
+
+
+		/// <summary>Unmodified tilesets don't have a modfied property </summary>
+		[JsonIgnore]
+		public DateTime? ModifiedUtc { get; private set; }
+
+
+		[JsonProperty("name")]
+		public string Name { get; set; }
+
+
+		[JsonProperty("private")]
+		public bool Private { get; set; }
+
+
+		[JsonProperty("scheme")]
+		public string Scheme { get; set; }
+
+
+		/// <summary>Can be empty</summary>
+		[JsonProperty("source")]
+		public string Source { get; set; }
+
+
+		[JsonProperty("tilejson")]
+		public string TileJSONVersion { get; set; }
+
+
+		[JsonProperty("tiles")]
+		public string[] Tiles { get; set; }
+
+
+		[JsonProperty("vector_layers")]
+		public TileJSONObjectVectorLayer[] VectorLayers { get; set; }
+
+
+		/// <summary>Can be empty (for concatenated tilesets)</summary>
+		[JsonProperty("webpage")]
+		public string WebPage { get; set; }
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONReponse.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONReponse.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0ae26f1aad1b92895ab7e06a81b502fb7f5baa1f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Platform/TileJSON/TileJSONReponse.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8f58425aa7b211946a73691da0414edb
+timeCreated: 1515589539
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e78310ec10adf04463562073195d0729721e7e90
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c35672386d7ec45c8acb13ed4bc5190c
+folderAsset: yes
+timeCreated: 1498231546
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4d48483e49f3104a372974e7420725c455bb4ce5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b1c1dc87a227c49bb8efebbb9ad9a41c
+folderAsset: yes
+timeCreated: 1498231546
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor.meta
new file mode 100644
index 0000000000000000000000000000000000000000..545e77b613882d4412d52f327b7023f0a84b4be9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ef29d58528f4f4fd0bfdb0b20e86b3e7
+folderAsset: yes
+timeCreated: 1498231546
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_AngleSmoothing.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_AngleSmoothing.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c04b870d09d405f40e0bb65efffea0c160daeb58
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_AngleSmoothing.cs
@@ -0,0 +1,132 @@
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+
+	using NUnit.Framework;
+	using Mapbox.Unity.Location;
+
+
+	[TestFixture]
+	internal class AngleSmoothingTest
+	{
+
+
+		[Test]
+		public void NoOp()
+		{
+			//NoOp does nothing. should always return latest value
+			AngleSmoothingNoOp noop = new AngleSmoothingNoOp();
+			string opName = noop.GetType().Name + " ";
+			noop.Add(23);
+			Assert.AreEqual(23d, noop.Calculate(), opName + "did modify data");
+			noop.Add(29);
+			Assert.AreEqual(29d, noop.Calculate(), opName + "did modify data");
+			noop.Add(178.5);
+			Assert.AreEqual(178.5d, noop.Calculate(), opName + "did modify data");
+			noop.Add(359.99);
+			Assert.AreEqual(359.99d, noop.Calculate(), opName + "did modify data");
+		}
+
+
+		[Test]
+		public void Average()
+		{
+			// simple average
+			AngleSmoothingAverage avg = new AngleSmoothingAverage();
+			string opName = avg.GetType().Name + " ";
+			avg.Add(355);
+			avg.Add(15);
+			Assert.AreEqual(5d, avg.Calculate(), opName + "did not properly calculate across 0");
+
+			avg.Add(335);
+			Assert.AreEqual(355d, avg.Calculate(), opName + "did not properly calculate back across 0");
+
+			// add more angles to check if internal buffer rolls over correctly
+			avg.Add(180);
+			avg.Add(160);
+			avg.Add(140);
+			avg.Add(120);
+			avg.Add(100);
+			Assert.AreEqual(140d, avg.Calculate(), opName + "internal default buffer of 5 did not roll over correctly");
+		}
+
+
+		[Test]
+		public void LowPass()
+		{
+			//simple low pass filter
+			// parameter 1.0 => no smoothing: despite calucations going on last value should be returned
+			AngleSmoothingLowPass lp = new AngleSmoothingLowPass(1.0d);
+			string opName = lp.GetType().Name + " ";
+			lp.Add(45);
+			lp.Add(90);
+			lp.Add(135);
+			lp.Add(180);
+			lp.Add(225);
+			Assert.AreEqual(225d, lp.Calculate(), opName + "smoothed but shouldn't have");
+
+			lp = new AngleSmoothingLowPass(0.5d);
+			lp.Add(45);
+			lp.Add(90);
+			lp.Add(135);
+			lp.Add(180);
+			lp.Add(225);
+			Assert.AreEqual(193.75d, lp.Calculate(), opName + "did not smooth as expected");
+
+			// parameter 1.0 => no smoothing: despite calucations going on last value should be returned
+			lp = new AngleSmoothingLowPass(1d);
+			lp.Add(355);
+			lp.Add(355);
+			lp.Add(5);
+			lp.Add(5);
+			lp.Add(5);
+			Assert.AreEqual(5d, lp.Calculate(), opName + "did not *not* smooth across '0' as expected");
+
+			lp = new AngleSmoothingLowPass(0.5d);
+			lp.Add(355);
+			lp.Add(355);
+			lp.Add(10);
+			lp.Add(10);
+			lp.Add(10);
+			Assert.AreEqual(8.14d, lp.Calculate(), opName + "did not smooth across '0' as expected");
+			lp.Add(320);
+			Assert.AreEqual(344.02d, lp.Calculate(), opName + "did not smooth back across '0' as expected");
+		}
+
+
+		[Test]
+		public void Weighted()
+		{
+			// exponential moving average
+			// parameter 1.0 => no smoothing
+			AngleSmoothingEMA ema = new AngleSmoothingEMA();
+			string opName = ema.GetType().Name + " ";
+			ema.Add(45);
+			ema.Add(90);
+			ema.Add(135);
+			ema.Add(180);
+			ema.Add(225);
+			Assert.AreEqual(165.74d, ema.Calculate(), opName + "didn't smooth as expected");
+
+			ema = new AngleSmoothingEMA();
+			ema.Add(350);
+			ema.Add(355);
+			ema.Add(5);
+			ema.Add(10);
+			ema.Add(10);
+			Assert.AreEqual(3.85d, ema.Calculate(), opName + "didn't smooth as expected across 0");
+
+			ema = new AngleSmoothingEMA();
+			ema.Add(20);
+			ema.Add(15);
+			ema.Add(350);
+			ema.Add(345);
+			ema.Add(330);
+			Assert.AreEqual(350.43d, ema.Calculate(), opName + "didn't smooth as expected back across 0");
+		}
+
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_AngleSmoothing.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_AngleSmoothing.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..243684e6c77efbbd9637f6f6a4747bc5c1d1ea06
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_AngleSmoothing.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4c71959e4a4a64446a39de632554cf41
+timeCreated: 1529510706
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BboxToGeoCoordinateBoundsConverter.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BboxToGeoCoordinateBoundsConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..18f67f1901ccfb61ff16a680e97dc52d5854704e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BboxToGeoCoordinateBoundsConverter.cs
@@ -0,0 +1,37 @@
+//-----------------------------------------------------------------------
+// <copyright file="BboxToVector2dBoundsConverterTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+	using Mapbox.Json;
+	using Mapbox.Utils;
+	using Mapbox.Utils.JsonConverters;
+	using NUnit.Framework;
+
+	[TestFixture]
+	internal class BboxToVector2dBoundsConverterTest
+	{
+		private string geoCoordinateBoundsStr = "[38.9165,-77.0295,30.2211,-80.5521]";
+
+		private Vector2dBounds geoCoordinateBoundsObj = new Vector2dBounds(
+			sw: new Vector2d(y: -77.0295, x: 38.9165),
+			ne: new Vector2d(y: -80.5521, x: 30.2211));
+
+		[Test]
+		public void Deserialize()
+		{
+			Vector2dBounds deserializedVector2dBounds = JsonConvert.DeserializeObject<Vector2dBounds>(geoCoordinateBoundsStr, JsonConverters.Converters);
+			Assert.AreEqual(geoCoordinateBoundsObj.ToString(), deserializedVector2dBounds.ToString());
+		}
+
+		[Test]
+		public void Serialize()
+		{
+			string serializedVector2dBounds = JsonConvert.SerializeObject(geoCoordinateBoundsObj, JsonConverters.Converters);
+			Assert.AreEqual(geoCoordinateBoundsStr, serializedVector2dBounds);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BboxToGeoCoordinateBoundsConverter.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BboxToGeoCoordinateBoundsConverter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..599fea400971da2f34edcd3a58c2bc0dc9f14cca
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BboxToGeoCoordinateBoundsConverter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 58a06458684f24a7d8758d87456c38ee
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BearingFilter.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BearingFilter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7d85dd564c70fab041eebb082d6fe14e8ab373f6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BearingFilter.cs
@@ -0,0 +1,63 @@
+//-----------------------------------------------------------------------
+// <copyright file="BearingFilterTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+	using System;
+	using Mapbox;
+	using NUnit.Framework;
+	using Mapbox.Utils;
+
+	[TestFixture]
+	internal class BearingFilterTest
+	{
+		private BearingFilter _bearingFilter;
+
+		[SetUp]
+		public void SetUp()
+		{
+			_bearingFilter = new BearingFilter(10, 10);
+		}
+
+		public void BearingTooLarge()
+		{
+			_bearingFilter = new BearingFilter(361, 10);
+		}
+
+		public void BearingTooSmall()
+		{
+			_bearingFilter = new BearingFilter(-1, 10);
+		}
+
+		public void RangeTooLarge()
+		{
+			_bearingFilter = new BearingFilter(10, 181);
+		}
+
+		public void RangeTooSmall()
+		{
+			_bearingFilter = new BearingFilter(10, -1);
+		}
+
+		[Test]
+		public void InvalidValues()
+		{
+			Assert.Throws<Exception>(BearingTooLarge);
+			Assert.Throws<Exception>(BearingTooSmall);
+			Assert.Throws<Exception>(RangeTooSmall);
+			Assert.Throws<Exception>(RangeTooLarge);
+		}
+
+		[Test]
+		public void ToStringTest()
+		{
+			Assert.AreEqual(_bearingFilter.ToString(), "10,10");
+
+			_bearingFilter = new BearingFilter(null, null);
+			Assert.AreEqual(_bearingFilter.ToString(), string.Empty);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BearingFilter.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BearingFilter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..48fef8edb814f2f80fe6e1470c1738f3085c3b17
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_BearingFilter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 92c453cc66e7c404aa6b98cd2488dd54
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_CanonicalTileId.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_CanonicalTileId.cs
new file mode 100644
index 0000000000000000000000000000000000000000..80e4ff6609b1bc4b079de9b43abc902b61021512
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_CanonicalTileId.cs
@@ -0,0 +1,31 @@
+//-----------------------------------------------------------------------
+// <copyright file="CanonicalTileIdTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+	using Mapbox.Map;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+	[TestFixture]
+	internal class CanonicalTileIdTest
+	{
+		[Test]
+		public void ToVector2d()
+		{
+			var set = TileCover.Get(Vector2dBounds.World(), 5);
+
+			foreach (var tile in set)
+			{
+				var reverse = TileCover.CoordinateToTileId(tile.ToVector2d(), 5);
+
+				Assert.AreEqual(tile.Z, reverse.Z);
+				Assert.AreEqual(tile.X, reverse.X);
+				Assert.AreEqual(tile.Y, reverse.Y);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_CanonicalTileId.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_CanonicalTileId.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..319ea71fb0e3793a1ae2893cef995f00a9e9ef80
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_CanonicalTileId.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f7d7e9f06ea614f1897bff8ed17eeba9
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Compression.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Compression.cs
new file mode 100644
index 0000000000000000000000000000000000000000..99eed6319e530dddbd101376c33fbd13d26bc2d0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Compression.cs
@@ -0,0 +1,159 @@
+//-----------------------------------------------------------------------
+// <copyright file="CompressionTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+#if UNITY_5_6_OR_NEWER
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+	using System.Text;
+	using Mapbox.Platform;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+#if UNITY_5_6_OR_NEWER
+	using UnityEngine.TestTools;
+	using System.Collections;
+	using UnityEngine;
+#endif
+
+	[TestFixture]
+	internal class CompressionTest
+	{
+
+
+		private FileSource _fs;
+		private int _timeout = 10;
+
+
+		[SetUp]
+		public void SetUp()
+		{
+#if UNITY_5_6_OR_NEWER
+			_fs = new FileSource(Unity.MapboxAccess.Instance.Configuration.GetMapsSkuToken, Unity.MapboxAccess.Instance.Configuration.AccessToken);
+			_timeout = Unity.MapboxAccess.Instance.Configuration.DefaultTimeout;
+#else
+			// when run outside of Unity FileSource gets the access token from environment variable 'MAPBOX_ACCESS_TOKEN'
+			_fs = new FileSource();
+#endif
+		}
+
+
+		[Test]
+		public void Empty()
+		{
+			var buffer = new byte[] { };
+			Assert.AreEqual(buffer, Compression.Decompress(buffer));
+		}
+
+		[Test]
+		public void NotCompressed()
+		{
+			var buffer = Encoding.ASCII.GetBytes("foobar");
+			Assert.AreEqual(buffer, Compression.Decompress(buffer));
+		}
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator Corrupt()
+		{
+#else
+		[Test]
+		public void Corrupt() {
+#endif
+			var buffer = new byte[] { };
+
+			// Vector tiles are compressed.
+			_fs.Request(
+				"https://api.mapbox.com/v4/mapbox.mapbox-streets-v7/0/0/0.vector.pbf",
+				(Response res) =>
+				{
+					if (res.HasError)
+					{
+#if UNITY_5_6_OR_NEWER
+						Debug.LogError(res.ExceptionsAsString);
+#else
+						System.Diagnostics.Debug.WriteLine(res.ExceptionsAsString);
+#endif
+					}
+					buffer = res.Data;
+				},
+				_timeout
+			);
+
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.Greater(buffer.Length, 30);
+
+			buffer[10] = 0;
+			buffer[20] = 0;
+			buffer[30] = 0;
+
+			Assert.AreEqual(buffer, Compression.Decompress(buffer));
+		}
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator Decompress()
+		{
+#else
+		[Test]
+		public void Decompress() {
+#endif
+			var buffer = new byte[] { };
+
+			// Vector tiles are compressed.
+			_fs.Request(
+				"https://api.mapbox.com/v4/mapbox.mapbox-streets-v7/0/0/0.vector.pbf",
+				(Response res) =>
+				{
+					if (res.HasError)
+					{
+#if UNITY_5_6_OR_NEWER
+						Debug.LogError(res.ExceptionsAsString);
+#else
+						System.Diagnostics.Debug.WriteLine(res.ExceptionsAsString);
+#endif
+					}
+					buffer = res.Data;
+				},
+				_timeout
+			);
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+            // tiles are automatically decompressed during HttpRequest on full .Net framework
+            // not on .NET Core / UWP / Unity
+#if UNITY_EDITOR_OSX && UNITY_IOS
+            Assert.AreEqual(buffer.Length, Compression.Decompress(buffer).Length); // EditMode on OSX
+#elif UNITY_EDITOR && (UNITY_IOS || UNITY_ANDROID) // PlayMode tests in Editor
+            Debug.Log("EditMode tests in Editor");
+			Assert.Less(buffer.Length, Compression.Decompress(buffer).Length);
+#elif !UNITY_EDITOR && (UNITY_EDITOR_OSX || UNITY_IOS || UNITY_ANDROID) // PlayMode tests on device
+			Debug.Log("PlayMode tests on device");
+			Assert.AreEqual(buffer.Length, Compression.Decompress(buffer).Length);
+#elif NETFX_CORE
+			Assert.Less(buffer.Length, Compression.Decompress(buffer).Length);
+#else
+			Assert.AreEqual(buffer.Length, Compression.Decompress(buffer).Length);
+#endif
+		}
+	}
+}
+
+
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Compression.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Compression.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..49eb06007abb47a280ee8b836f3664ec63093dd9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Compression.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d77460974e8834b2a8f3b1a72c49325b
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_DirectionResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_DirectionResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0d59635c9c87e84bbd54f4b6aed25fa2f0d23185
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_DirectionResource.cs
@@ -0,0 +1,104 @@
+//-----------------------------------------------------------------------
+// <copyright file="DirectionResourceTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+	using System;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+	[TestFixture]
+	internal class DirectionResourceTest
+	{
+		private Vector2d[] _coordinates = { new Vector2d(10, 10), new Vector2d(20, 20) };
+		private Directions.RoutingProfile _profile = Directions.RoutingProfile.Driving;
+		private Directions.DirectionResource _directionResource;
+
+		[SetUp]
+		public void SetUp()
+		{
+			_directionResource = new Directions.DirectionResource(_coordinates, _profile);
+		}
+
+		public void MismatchedBearings()
+		{
+			_directionResource.Bearings = new BearingFilter[] { new BearingFilter(10, 10) };
+		}
+
+		public void MismatchedRadiuses()
+		{
+			_directionResource.Radiuses = new double[] { 10 };
+		}
+
+		public void TooSmallRadius()
+		{
+			_directionResource.Radiuses = new double[] { 10, -1 };
+		}
+
+		[Test]
+		public void SetInvalidBearings()
+		{
+			Assert.Throws<Exception>(MismatchedBearings);
+		}
+
+		[Test]
+		public void SetInvalidRadiuses_Mismatched()
+		{
+			Assert.Throws<Exception>(MismatchedRadiuses);
+		}
+
+		[Test]
+		public void SetInvalidRadiuses_TooSmall()
+		{
+			Assert.Throws<Exception>(TooSmallRadius);
+		}
+
+		[Test]
+		public void GetUrl()
+		{
+			// With only constructor
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json", _directionResource.GetUrl());
+
+			// With alternatives
+			_directionResource.Alternatives = false;
+			// ToLower is needed to make test pass on OSX
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json?alternatives=false".ToLower(), _directionResource.GetUrl());
+
+			// With bearings
+			_directionResource.Bearings = new BearingFilter[] { new BearingFilter(90, 45), new BearingFilter(90, 30) };
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json?alternatives=false&bearings=90%2C45%3B90%2C30".ToLower(), _directionResource.GetUrl().ToLower());
+
+			// Bearings are nullable
+			_directionResource.Bearings = new BearingFilter[] { new BearingFilter(90, 45), new BearingFilter(null, null) };
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json?alternatives=false&bearings=90%2C45%3B".ToLower(), _directionResource.GetUrl().ToLower());
+
+			// With continue straight
+			_directionResource.ContinueStraight = false;
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json?alternatives=false&bearings=90%2C45%3B&continue_straight=false".ToLower(), _directionResource.GetUrl().ToLower());
+
+			// With overview
+			_directionResource.Overview = Directions.Overview.Full;
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json?alternatives=false&bearings=90%2C45%3B&continue_straight=false&overview=full".ToLower(), _directionResource.GetUrl().ToLower());
+
+			// With steps
+			_directionResource.Radiuses = new double[] { 30, 30 };
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json?alternatives=false&bearings=90%2C45%3B&continue_straight=false&overview=full&radiuses=30%2C30".ToLower(), _directionResource.GetUrl().ToLower());
+
+			// With steps
+			_directionResource.Steps = false;
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json?alternatives=false&bearings=90%2C45%3B&continue_straight=false&overview=full&radiuses=30%2C30&steps=false".ToLower(), _directionResource.GetUrl().ToLower());
+
+			// Set all to null
+			_directionResource.Alternatives = null;
+			_directionResource.Bearings = null;
+			_directionResource.ContinueStraight = null;
+			_directionResource.Overview = null;
+			_directionResource.Radiuses = null;
+			_directionResource.Steps = null;
+			Assert.AreEqual("https://api.mapbox.com/directions/v5/mapbox/driving/10.00000,10.00000;20.00000,20.00000.json", _directionResource.GetUrl());
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_DirectionResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_DirectionResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a766af722a4e52d0aefaf78c28751030693dd5cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_DirectionResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 345f6d8ee2d3743779572d1c3701f2fd
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Directions.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Directions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..865786885ffd0fd1b4ca19dc1807e80b79ac4fd7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Directions.cs
@@ -0,0 +1,63 @@
+//-----------------------------------------------------------------------
+// <copyright file="DirectionsTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using Mapbox.Directions;
+	using Mapbox.Json;
+	using Mapbox.Platform;
+	using NUnit;
+	using NUnit.Framework;
+	using UnityEngine;
+
+
+	/// <summary>
+	/// Test that Directions serializes and deserializes responses correctly.
+	/// </summary>
+	[TestFixture]
+	internal class DirectionsTest
+	{
+
+		private string _basicResponse = "{\"routes\":[{\"legs\":[{\"steps\":[],\"summary\":\"\",\"duration\":214.4,\"distance\":1318.2,\"annotation\":null}],\"geometry\":\"_urwFt}qbMuLp_@jWzPoHhRMK\",\"duration\":214.4,\"distance\":1318.2,\"weight\":0.0,\"weight_name\":null}],\"waypoints\":[{\"name\":\"East 13th Street\",\"location\":[-73.988909,40.733122]},{\"name\":\"6th Avenue\",\"location\":[-74.00001,40.733004]}],\"code\":\"Ok\"}";
+		private string _responseWithSteps = "{\"routes\":[{\"legs\":[{\"steps\":[{\"intersections\":[{\"out\":0,\"entry\":[true],\"bearings\":[299],\"location\":[-73.988909,40.733122]},{\"out\":3,\"entry\":[true,false,false,true],\"bearings\":[15,120,195,300],\"location\":[-73.989868,40.733528],\"in\":1},{\"out\":3,\"entry\":[false,false,true,true],\"bearings\":[15,120,195,300],\"location\":[-73.990945,40.733978],\"in\":1},{\"out\":3,\"entry\":[true,false,false,true],\"bearings\":[30,120,210,300],\"location\":[-73.992266,40.734532],\"in\":1}],\"geometry\":\"_urwFt}qbMqA~DyAvEmBfG{CpJ\",\"maneuver\":{\"bearing_after\":299,\"type\":\"depart\",\"modifier\":\"left\",\"bearing_before\":0,\"Location\":[40.733122,-73.988909],\"instruction\":\"Head northwest on East 13th Street\"},\"duration\":90.5,\"distance\":502.1,\"name\":\"East 13th Street\",\"mode\":\"driving\"},{\"intersections\":[{\"out\":2,\"entry\":[false,false,true,true],\"bearings\":[30,120,210,300],\"location\":[-73.994118,40.735313],\"in\":1},{\"out\":2,\"entry\":[false,true,true,false],\"bearings\":[30,120,210,300],\"location\":[-73.994585,40.734672],\"in\":0},{\"out\":2,\"entry\":[false,false,true,true],\"bearings\":[30,120,210,300],\"location\":[-73.99505,40.734034],\"in\":0},{\"out\":2,\"entry\":[false,true,true,false],\"bearings\":[30,120,210,300],\"location\":[-73.995489,40.733437],\"in\":0},{\"out\":2,\"entry\":[false,false,true,true],\"bearings\":[30,120,210,300],\"location\":[-73.995914,40.732847],\"in\":0},{\"out\":2,\"entry\":[false,true,true,false],\"bearings\":[30,120,210,300],\"location\":[-73.996351,40.732255],\"in\":0}],\"geometry\":\"ubswFf~rbM~B|A~BzAtBvAtBrAtBvAh@Vd@`@lAx@JH\",\"maneuver\":{\"bearing_after\":209,\"type\":\"turn\",\"modifier\":\"left\",\"bearing_before\":299,\"Location\":[40.735313,-73.994118],\"instruction\":\"Turn left onto 5th Avenue\"},\"duration\":67.8,\"distance\":496.3,\"name\":\"5th Avenue\",\"mode\":\"driving\"},{\"intersections\":[{\"out\":2,\"entry\":[false,true,true],\"bearings\":[30,120,300],\"location\":[-73.996976,40.731414],\"in\":0}],\"geometry\":\"ijrwFbpsbMKPoChHEH\",\"maneuver\":{\"bearing_after\":305,\"type\":\"end of road\",\"modifier\":\"right\",\"bearing_before\":212,\"Location\":[40.731414,-73.996976],\"instruction\":\"Turn right onto Washington Square North\"},\"duration\":21.0,\"distance\":164.2,\"name\":\"Washington Square North\",\"mode\":\"driving\"},{\"intersections\":[{\"out\":3,\"entry\":[false,false,true,true],\"bearings\":[30,120,210,300],\"location\":[-73.998612,40.732215],\"in\":1}],\"geometry\":\"korwFhzsbMmCbH\",\"maneuver\":{\"bearing_after\":303,\"type\":\"new name\",\"modifier\":\"straight\",\"bearing_before\":303,\"Location\":[40.732215,-73.998612],\"instruction\":\"Continue straight onto Waverly Place\"},\"duration\":34.5,\"distance\":146.0,\"name\":\"Waverly Place\",\"mode\":\"driving\"},{\"intersections\":[{\"out\":0,\"entry\":[true,false,false,true],\"bearings\":[30,120,210,300],\"location\":[-74.000066,40.732929],\"in\":1}],\"geometry\":\"ysrwFlctbMMK\",\"maneuver\":{\"bearing_after\":30,\"type\":\"turn\",\"modifier\":\"right\",\"bearing_before\":303,\"Location\":[40.732929,-74.000066],\"instruction\":\"Turn right onto 6th Avenue\"},\"duration\":0.6,\"distance\":9.6,\"name\":\"6th Avenue\",\"mode\":\"driving\"},{\"intersections\":[{\"out\":0,\"entry\":[true],\"bearings\":[210],\"location\":[-74.00001,40.733004],\"in\":0}],\"geometry\":\"gtrwF`ctbM\",\"maneuver\":{\"bearing_after\":0,\"type\":\"arrive\",\"modifier\":null,\"bearing_before\":30,\"Location\":[40.732929,-74.000066],\"instruction\":\"You have arrived at your destination\"},\"duration\":0.0,\"distance\":0.0,\"name\":\"6th Avenue\",\"mode\":\"driving\"}],\"summary\":\"East 13th Street, 5th Avenue\",\"duration\":214.4,\"distance\":1318.2,\"annotation\":null}],\"geometry\":\"_urwFt}qbMuLp_@jWzPoHhRMK\",\"duration\":214.4,\"distance\":1318.2,\"weight\":0.0,\"weight_name\":null}],\"waypoints\":[{\"name\":\"East 13th Street\",\"location\":[-73.988909,40.733122]},{\"name\":\"6th Avenue\",\"location\":[-74.00001,40.733004]}],\"code\":\"Ok\"}";
+		private Directions _directions = new Directions(new FileSource(Unity.MapboxAccess.Instance.Configuration.GetMapsSkuToken, Unity.MapboxAccess.Instance.Configuration.AccessToken));
+
+
+
+		[Test]
+		public void SerializesAndDeserializesBasic()
+		{
+			// First, deserialize the example response
+			DirectionsResponse basicResp = _directions.Deserialize(_basicResponse);
+
+			// Then deserialize it back to a string.
+			string basicReserialized = _directions.Serialize(basicResp);
+
+			// Ensure the two match
+			Assert.AreEqual(_basicResponse, basicReserialized);
+		}
+
+
+		//TODO: implement a proper Json object comaparer
+		/// <summary> This test will fail, see https://github.com/mapbox/mapbox-sdk-unity/issues/51. </summary>
+		[Test]
+		public void SerializesAndDeserializesWithSteps()
+		{
+			// First, deserialize the example response.
+			DirectionsResponse withStepsResp = _directions.Deserialize(_responseWithSteps);
+
+			// Then deserialize it back to a string.
+			string withStepsReserialized = _directions.Serialize(withStepsResp);
+
+			// Ensure the two match.
+			Assert.AreEqual(_responseWithSteps, withStepsReserialized);
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Directions.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Directions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4700be7155842bcabb48c31bc2c492dd83f729e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Directions.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 255dbd247672f4f0abf600a702d2def7
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_FileSource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_FileSource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..269379a835ad9af7adc7771039a860e97c337adc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_FileSource.cs
@@ -0,0 +1,250 @@
+//-----------------------------------------------------------------------
+// <copyright file="FileSourceTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+#if UNITY_5_6_OR_NEWER
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+
+	using Mapbox.Platform;
+	using NUnit.Framework;
+#if UNITY_5_6_OR_NEWER
+	using UnityEngine.TestTools;
+	using System.Collections;
+#endif
+
+
+
+	[TestFixture]
+	internal class FileSourceTest
+	{
+
+		private const string _url = "https://api.mapbox.com/geocoding/v5/mapbox.places/helsinki.json";
+		private FileSource _fs;
+		private int _timeout = 10;
+
+
+		[SetUp]
+		public void SetUp()
+		{
+#if UNITY_5_6_OR_NEWER
+			_fs = new FileSource(Unity.MapboxAccess.Instance.Configuration.GetMapsSkuToken, Unity.MapboxAccess.Instance.Configuration.AccessToken);
+			_timeout = Unity.MapboxAccess.Instance.Configuration.DefaultTimeout;
+#else
+			// when run outside of Unity FileSource gets the access token from environment variable 'MAPBOX_ACCESS_TOKEN'
+			_fs = new FileSource();
+#endif
+		}
+
+
+
+#if !UNITY_5_6_OR_NEWER
+		[Test]
+		public void AccessTokenSet()
+		{
+			Assert.IsNotNull(
+				Environment.GetEnvironmentVariable("MAPBOX_ACCESS_TOKEN"),
+				"MAPBOX_ACCESS_TOKEN not set in the environment."
+			);
+		}
+#endif
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator Request()
+#else
+		[Test]
+		public void Request()
+#endif
+		{
+			byte[] data = null;
+			_fs.Request(
+				_url,
+				(Response res) =>
+				{
+					data = res.Data;
+				}
+				, _timeout
+			);
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+			Assert.IsNotNull(data, "No data received from the servers.");
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator MultipleRequests()
+#else
+		[Test]
+		public void Request() 
+#endif
+		{
+			int count = 0;
+
+			_fs.Request(_url, (Response res) => ++count, _timeout);
+			_fs.Request(_url, (Response res) => ++count, _timeout);
+			_fs.Request(_url, (Response res) => ++count, _timeout);
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.AreEqual(count, 3, "Should have received 3 replies.");
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+#if UNITY_ANDROID || UNITY_IOS
+		[Ignore("test ignored: Request.Cancel() does not work on some devices")]
+#endif
+		public IEnumerator RequestCancel()
+#else
+		[Test]
+		public void RequestCancel() 
+#endif
+		{
+			var request = _fs.Request(
+				//use "heavy" tile with 182KB that request doesn't finish before it is cancelled
+				"https://a.tiles.mapbox.com/v4/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7/10/545/361.vector.pbf",
+				(Response res) =>
+				{
+					// HACK!! THIS IS BAAAD, investigate more!
+					// on *some* Android devices (eg Samsung S8 not on Pixel 2) and *some* iPhones
+					// HasError is false as the request finishes successfully before 'Cancel()' kicks in
+					// couldn't find the reason or a proper fix.
+					// maybe some OS internal caching?
+#if UNITY_ANDROID || UNITY_IOS
+					UnityEngine.Debug.LogWarning("test 'RequestCancel' not run");
+					return;
+#endif
+
+					Assert.IsTrue(res.HasError);
+
+#if UNITY_5_6_OR_NEWER
+					Assert.IsNotNull(res.Exceptions[0]);
+					Assert.AreEqual("Request aborted", res.Exceptions[0].Message);
+#else
+					WebException wex = res.Exceptions[0] as WebException;
+					Assert.IsNotNull(wex);
+					Assert.AreEqual(wex.Status, WebExceptionStatus.RequestCanceled);
+#endif
+				},
+				_timeout
+			);
+
+			request.Cancel();
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator RequestDnsError()
+#else
+		[Test]
+		public void RequestDnsError() 
+#endif
+		{
+			_fs.Request(
+				"https://dnserror.shouldnotwork",
+				(Response res) =>
+				{
+					Assert.IsTrue(res.HasError);
+					// Attention: when using Fiddler to throttle requests message is "Failed to receive data"
+					Assert.IsTrue(
+						res.Exceptions[0].Message.Contains("destination host")
+						, string.Format("Exception message [{0}] does not contain 'destination host'", res.Exceptions[0].Message)
+					);
+				},
+				_timeout
+			);
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator RequestForbidden()
+#else
+		[Test]
+		public void RequestForbidden() 
+#endif
+		{
+			// Mapbox servers will return a forbidden when attempting
+			// to access a page outside the API space with a token
+			// on the query. Let's hope the behaviour stay like this.
+			_fs.Request(
+				"https://mapbox.com/forbidden",
+				(Response res) =>
+				{
+					Assert.IsTrue(res.HasError);
+					Assert.AreEqual(403, res.StatusCode);
+				},
+				_timeout
+			);
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator WaitWithNoRequests()
+#else
+		[Test]
+		public void WaitWithNoRequests() 
+#endif
+		{
+			// This should simply not block.
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+		}
+
+
+	}
+}
+
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_FileSource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_FileSource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b5dfbe6f86b6299b74b3904b824982958ed8db69
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_FileSource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ec486731809ff42cf82d08418a7c179a
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ForwardGeocodeResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ForwardGeocodeResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9b2141990df1143d7a7a398c380efc4714e5e4a2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ForwardGeocodeResource.cs
@@ -0,0 +1,150 @@
+//-----------------------------------------------------------------------
+// <copyright file="ForwardGeocodeResourceTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using System;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+
+	[TestFixture]
+	internal class ForwardGeocodeResourceTest
+	{
+		private const string _query = "Minneapolis, MN";
+		private Geocoding.ForwardGeocodeResource _forwardGeocodeResource;
+
+		[SetUp]
+		public void SetUp()
+		{
+			_forwardGeocodeResource = new Geocoding.ForwardGeocodeResource(_query);
+		}
+
+		public void BadType()
+		{
+			_forwardGeocodeResource.Types = new string[] { "fake" };
+		}
+
+		public void BadTypeWithGoodType()
+		{
+			_forwardGeocodeResource.Types = new string[] { "place", "fake" };
+		}
+
+		public void BadCountry()
+		{
+			_forwardGeocodeResource.Types = new string[] { "zz" };
+		}
+
+		public void BadCountryWithGoodType()
+		{
+			_forwardGeocodeResource.Types = new string[] { "zz", "ar" };
+		}
+
+		[Test]
+		public void SetInvalidTypes()
+		{
+			Assert.Throws<Exception>(BadType);
+			Assert.Throws<Exception>(BadTypeWithGoodType);
+		}
+
+		[Test]
+		public void SetInvalidCountries()
+		{
+			Assert.Throws<Exception>(BadCountry);
+			Assert.Throws<Exception>(BadCountryWithGoodType);
+		}
+
+		[Test]
+		public void GetUrl()
+		{
+			// With only constructor
+			// TODO: find proper fix for encoded url parameters crashing on some iPhones
+#if UNITY_IOS
+			UnityEngine.Debug.LogWarning("ForwardGeocodeResourceTest.GetUrl() TODO: find proper fix for encoded url parameters crashing on some iPhones");
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json", _forwardGeocodeResource.GetUrl());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis%2C%20MN.json", _forwardGeocodeResource.GetUrl());
+#endif
+
+
+			// With autocomplete
+			_forwardGeocodeResource.Autocomplete = false;
+#if UNITY_IOS
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json?autocomplete=false", _forwardGeocodeResource.GetUrl());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis%2C%20MN.json?autocomplete=false", _forwardGeocodeResource.GetUrl());
+#endif
+
+
+			// With bbox
+			_forwardGeocodeResource.Bbox = new Vector2dBounds(new Vector2d(15, 10), new Vector2d(25, 20));
+#if UNITY_IOS
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000".ToLower(), _forwardGeocodeResource.GetUrl().ToLower());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000", _forwardGeocodeResource.GetUrl());
+#endif
+
+
+			// With one country
+			_forwardGeocodeResource.Country = new string[] { "ar" };
+#if UNITY_IOS
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar".ToLower(), _forwardGeocodeResource.GetUrl().ToLower());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis%2C%20MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar", _forwardGeocodeResource.GetUrl());
+#endif
+
+
+			// With multiple countries
+			_forwardGeocodeResource.Country = new string[] { "ar", "fi" };
+#if UNITY_IOS
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar%2Cfi".ToLower(), _forwardGeocodeResource.GetUrl().ToLower());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis%2C%20MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar%2Cfi", _forwardGeocodeResource.GetUrl());
+#endif
+
+
+			// With proximity
+			_forwardGeocodeResource.Proximity = new Vector2d(10, 5);
+#if UNITY_IOS
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar%2Cfi&proximity=5.00000%2C10.00000".ToLower(), _forwardGeocodeResource.GetUrl().ToLower());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis%2C%20MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar%2Cfi&proximity=5.00000%2C10.00000", _forwardGeocodeResource.GetUrl());
+#endif
+
+
+			// With one types
+			_forwardGeocodeResource.Types = new string[] { "country" };
+#if UNITY_IOS
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar%2Cfi&proximity=5.00000%2C10.00000&types=country".ToLower(), _forwardGeocodeResource.GetUrl().ToLower());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis%2C%20MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar%2Cfi&proximity=5.00000%2C10.00000&types=country", _forwardGeocodeResource.GetUrl());
+#endif
+
+
+			// With multiple types
+			_forwardGeocodeResource.Types = new string[] { "country", "region" };
+#if UNITY_IOS
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar%2Cfi&proximity=5.00000%2C10.00000&types=country%2Cregion".ToLower(), _forwardGeocodeResource.GetUrl().ToLower());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis%2C%20MN.json?autocomplete=false&bbox=10.00000%2C15.00000%2C20.00000%2C25.00000&country=ar%2Cfi&proximity=5.00000%2C10.00000&types=country%2Cregion", _forwardGeocodeResource.GetUrl());
+#endif
+
+			// Set all to null
+			_forwardGeocodeResource.Autocomplete = null;
+			_forwardGeocodeResource.Bbox = null;
+			_forwardGeocodeResource.Country = null;
+			_forwardGeocodeResource.Proximity = null;
+			_forwardGeocodeResource.Types = null;
+
+#if UNITY_IOS
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis++MN.json", _forwardGeocodeResource.GetUrl());
+#else
+			Assert.AreEqual("https://api.mapbox.com/geocoding/v5/mapbox.places/Minneapolis%2C%20MN.json", _forwardGeocodeResource.GetUrl());
+#endif
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ForwardGeocodeResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ForwardGeocodeResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2a746a243c61ed4a17d901b4e33b518de090ae98
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ForwardGeocodeResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 91c78df7257b9401c83b93a8c8382016
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinate.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinate.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f1db2f387c1de3e4b18b27cb93fbae55768e26be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinate.cs
@@ -0,0 +1,41 @@
+//-----------------------------------------------------------------------
+// <copyright file="Vector2dTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+
+	[TestFixture]
+	internal class Vector2dTest
+	{
+
+		[SetUp]
+		public void SetUp()
+		{
+		}
+
+
+		[Test]
+		public void NullIsland()
+		{
+			var lngLat = new Vector2d(0, 0);
+			Assert.AreEqual("0.00000,0.00000", lngLat.ToString());
+		}
+
+
+		[Test]
+		public void DC()
+		{
+			var lngLat = new Vector2d(38.9165, -77.0295);
+			Assert.AreEqual("-77.02950,38.91650", lngLat.ToString());
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinate.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinate.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8207698e11b16a3f3bd6587f9247b71fe73850ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinate.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9ce0cc51863054b17aed4f4fdfb8a2d3
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinateBounds.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinateBounds.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8cee40ed342b1740bb5ace7420ee6a029363cf80
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinateBounds.cs
@@ -0,0 +1,127 @@
+//-----------------------------------------------------------------------
+// <copyright file="Vector2dBoundsTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+
+	[TestFixture]
+	internal class Vector2dBoundsTest
+	{
+		[SetUp]
+		public void SetUp()
+		{
+		}
+
+
+		[Test]
+		public void SmallBounds()
+		{
+			var a = new Vector2d(0, 0);
+			var b = new Vector2d(10, 10);
+			var bounds = new Vector2dBounds(a, b);
+			Assert.AreEqual("0.00000,0.00000,10.00000,10.00000", bounds.ToString());
+		}
+
+
+		[Test]
+		public void Extend()
+		{
+			var bounds1 = new Vector2dBounds(new Vector2d(-10, -10), new Vector2d(10, 10));
+			var bounds2 = new Vector2dBounds(new Vector2d(-20, -20), new Vector2d(20, 20));
+
+			bounds1.Extend(bounds2);
+
+			Assert.AreEqual(bounds1.South, bounds2.South);
+			Assert.AreEqual(bounds1.West, bounds2.West);
+			Assert.AreEqual(bounds1.North, bounds2.North);
+			Assert.AreEqual(bounds1.East, bounds2.East);
+		}
+
+
+		[Test]
+		public void Hull()
+		{
+			var bounds1 = new Vector2dBounds(new Vector2d(-10, -10), new Vector2d(10, 10));
+			var bounds2 = Vector2dBounds.FromCoordinates(new Vector2d(10, 10), new Vector2d(-10, -10));
+
+			Assert.AreEqual(bounds1.South, bounds2.South);
+			Assert.AreEqual(bounds1.West, bounds2.West);
+			Assert.AreEqual(bounds1.North, bounds2.North);
+			Assert.AreEqual(bounds1.East, bounds2.East);
+		}
+
+
+		[Test]
+		public void World()
+		{
+			var bounds = Vector2dBounds.World();
+
+			Assert.AreEqual(bounds.South, -90);
+			Assert.AreEqual(bounds.West, -180);
+			Assert.AreEqual(bounds.North, 90);
+			Assert.AreEqual(bounds.East, 180);
+		}
+
+
+		[Test]
+		public void CardinalLimits()
+		{
+			var bounds = new Vector2dBounds(new Vector2d(10, 20), new Vector2d(30, 40));
+
+			// SouthWest, first parameter.
+			Assert.AreEqual(bounds.South, 10);
+			Assert.AreEqual(bounds.West, 20);
+
+			// NorthEast, second parameter.
+			Assert.AreEqual(bounds.North, 30);
+			Assert.AreEqual(bounds.East, 40);
+		}
+
+
+		[Test]
+		public void IsEmpty()
+		{
+			var bounds1 = new Vector2dBounds(new Vector2d(10, 10), new Vector2d(0, 0));
+			Assert.IsTrue(bounds1.IsEmpty());
+
+			var bounds2 = new Vector2dBounds(new Vector2d(0, 0), new Vector2d(0, 0));
+			Assert.IsFalse(bounds2.IsEmpty());
+
+			var bounds3 = new Vector2dBounds(new Vector2d(0, 0), new Vector2d(10, 10));
+			Assert.IsFalse(bounds3.IsEmpty());
+		}
+
+
+		[Test]
+		public void Center()
+		{
+			var bounds1 = new Vector2dBounds(new Vector2d(0, 0), new Vector2d(0, 0));
+			Assert.AreEqual(bounds1.Center, new Vector2d(0, 0));
+
+			bounds1.Center = new Vector2d(10, 10);
+			Assert.AreEqual(new Vector2dBounds(new Vector2d(10, 10), new Vector2d(10, 10)), bounds1);
+
+			var bounds2 = new Vector2dBounds(new Vector2d(-10, -10), new Vector2d(10, 10));
+			Assert.AreEqual(bounds2.Center, new Vector2d(0, 0));
+
+			bounds2.Center = new Vector2d(10, 10);
+			Assert.AreEqual(new Vector2dBounds(new Vector2d(0, 0), new Vector2d(20, 20)), bounds2);
+
+			var bounds3 = new Vector2dBounds(new Vector2d(0, 0), new Vector2d(20, 40));
+			Assert.AreEqual(bounds3.Center, new Vector2d(10, 20));
+
+			bounds3.Center = new Vector2d(10, 10);
+			Assert.AreEqual(new Vector2dBounds(new Vector2d(0, -10), new Vector2d(20, 30)), bounds3);
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinateBounds.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinateBounds.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f5238ebb4db592a3d865221df9fefee04b15ec0c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_GeoCoordinateBounds.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b162f01b49ed74739bf159c9e2f36097
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Geocoder.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Geocoder.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b86741074c8bcfcac5bcb978e4329a0c908d8065
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Geocoder.cs
@@ -0,0 +1,54 @@
+//-----------------------------------------------------------------------
+// <copyright file="GeocoderTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using Geocoding;
+	using Mapbox.Json;
+	using Mapbox.Platform;
+	using Mapbox.Unity;
+	using Mapbox.Utils.JsonConverters;
+	using NUnit.Framework;
+
+	/// <summary>
+	/// Test that Geocoder serializes and deserializes responses correctly.
+	/// </summary>
+	[TestFixture]
+	internal class GeocoderTest
+	{
+		private readonly Geocoder _geocoder = new Geocoder(new FileSource(Unity.MapboxAccess.Instance.Configuration.GetMapsSkuToken, Unity.MapboxAccess.Instance.Configuration.AccessToken)); //MapboxAccess.Instance.Geocoder;
+		private string _forwardResponse = "{\"type\":\"FeatureCollection\",\"query\":[\"minneapolis\"],\"features\":[{\"id\":\"place.12871500125885940\",\"type\":\"Feature\",\"text\":\"Minneapolis\",\"place_name\":\"Minneapolis, Minnesota, United States\",\"relevance\":0.99,\"properties\":{\"wikidata\":\"Q36091\"},\"bbox\":[-93.5226520099878,44.7853029900244,-93.1424209928836,45.2129100099882],\"center\":[-93.2655,44.9773],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-93.2655,44.9773]},\"context\":[{\"id\":\"postcode.11389548391063390\",\"text\":\"55415\"},{\"id\":\"region.12225983719702200\",\"text\":\"Minnesota\",\"short_code\":\"US-MN\",\"wikidata\":\"Q1527\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"short_code\":\"us\",\"wikidata\":\"Q30\"}]},{\"id\":\"poi.15555644443768740\",\"type\":\"Feature\",\"text\":\"Minneapolis City Hall\",\"place_name\":\"Minneapolis City Hall, Minneapolis, Minnesota 55415, United States\",\"relevance\":0.99,\"properties\":{\"wikidata\":\"Q1384874\",\"landmark\":true,\"tel\":null,\"address\":null,\"category\":\"other\"},\"center\":[-93.265277777778,44.977222222222],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-93.265277777778,44.977222222222]},\"context\":[{\"id\":\"neighborhood.13081559486410050\",\"text\":\"Greater Central\"},{\"id\":\"place.12871500125885940\",\"text\":\"Minneapolis\",\"wikidata\":\"Q36091\"},{\"id\":\"postcode.11389548391063390\",\"text\":\"55415\"},{\"id\":\"region.12225983719702200\",\"text\":\"Minnesota\",\"short_code\":\"US-MN\",\"wikidata\":\"Q1527\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"short_code\":\"us\",\"wikidata\":\"Q30\"}]},{\"id\":\"poi.6527299549845510\",\"type\":\"Feature\",\"text\":\"Minneapolis Grain Exchange\",\"place_name\":\"Minneapolis Grain Exchange, Minneapolis, Minnesota 55415, United States\",\"relevance\":0.99,\"properties\":{\"wikidata\":\"Q1540984\",\"landmark\":true,\"tel\":null,\"address\":null,\"category\":\"other\"},\"center\":[-93.2636,44.9775],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-93.2636,44.9775]},\"context\":[{\"id\":\"neighborhood.13081559486410050\",\"text\":\"Greater Central\"},{\"id\":\"place.12871500125885940\",\"text\":\"Minneapolis\",\"wikidata\":\"Q36091\"},{\"id\":\"postcode.11389548391063390\",\"text\":\"55415\"},{\"id\":\"region.12225983719702200\",\"text\":\"Minnesota\",\"short_code\":\"US-MN\",\"wikidata\":\"Q1527\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"short_code\":\"us\",\"wikidata\":\"Q30\"}]},{\"id\":\"poi.12655750184890630\",\"type\":\"Feature\",\"text\":\"Minneapolis Armory\",\"place_name\":\"Minneapolis Armory, Minneapolis, Minnesota 55415, United States\",\"relevance\":0.99,\"properties\":{\"wikidata\":\"Q745327\",\"landmark\":true,\"tel\":null,\"address\":null,\"category\":\"other\"},\"center\":[-93.263278,44.975092],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-93.263278,44.975092]},\"context\":[{\"id\":\"neighborhood.13081559486410050\",\"text\":\"Greater Central\"},{\"id\":\"place.12871500125885940\",\"text\":\"Minneapolis\",\"wikidata\":\"Q36091\"},{\"id\":\"postcode.11389548391063390\",\"text\":\"55415\"},{\"id\":\"region.12225983719702200\",\"text\":\"Minnesota\",\"short_code\":\"US-MN\",\"wikidata\":\"Q1527\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"short_code\":\"us\",\"wikidata\":\"Q30\"}]},{\"id\":\"poi.4855757554573390\",\"type\":\"Feature\",\"text\":\"Minneapolis Chain of Lakes Park\",\"place_name\":\"Minneapolis Chain of Lakes Park, Minneapolis, Minnesota 55405, United States\",\"relevance\":0.99,\"properties\":{\"wikidata\":null,\"landmark\":true,\"tel\":null,\"address\":null,\"category\":\"park\",\"maki\":\"picnic-site\"},\"bbox\":[-93.330260720104,44.9504758437682,-93.3013567328453,44.969400319872],\"center\":[-93.310259,44.959942],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-93.310259,44.959942]},\"context\":[{\"id\":\"neighborhood.12530456224376080\",\"text\":\"Kenwood\"},{\"id\":\"place.12871500125885940\",\"text\":\"Minneapolis\",\"wikidata\":\"Q36091\"},{\"id\":\"postcode.10829535691218220\",\"text\":\"55405\"},{\"id\":\"region.12225983719702200\",\"text\":\"Minnesota\",\"short_code\":\"US-MN\",\"wikidata\":\"Q1527\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"short_code\":\"us\",\"wikidata\":\"Q30\"}]}],\"attribution\":\"NOTICE: \u00A9 2016 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.\"}";
+		private string _reverseResponse = "{\"type\":\"FeatureCollection\",\"query\":[-77.0268808,38.925326999999996],\"features\":[{\"id\":\"address.5375777428110760\",\"type\":\"Feature\",\"text\":\"11th St NW\",\"place_name\":\"2717 11th St NW, Washington, District of Columbia 20001, United States\",\"relevance\":1.0,\"properties\":{},\"center\":[-77.026824,38.925306],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.026824,38.925306]},\"address\":\"2717\",\"context\":[{\"id\":\"neighborhood.11736072639395000\",\"text\":\"Pleasant Plains\"},{\"id\":\"place.12334081418246050\",\"text\":\"Washington\",\"wikidata\":\"Q61\"},{\"id\":\"postcode.3526019892841050\",\"text\":\"20001\"},{\"id\":\"region.6884744206035790\",\"text\":\"District of Columbia\",\"short_code\":\"US-DC\",\"wikidata\":\"Q61\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"wikidata\":\"Q30\",\"short_code\":\"us\"}]},{\"id\":\"neighborhood.11736072639395000\",\"type\":\"Feature\",\"text\":\"Pleasant Plains\",\"place_name\":\"Pleasant Plains, Washington, 20001, District of Columbia, United States\",\"relevance\":1.0,\"properties\":{},\"bbox\":[-77.0367101373528,38.9177500315001,-77.0251464843832,38.9273657639],\"center\":[-77.0303,38.9239],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.0303,38.9239]},\"context\":[{\"id\":\"place.12334081418246050\",\"text\":\"Washington\",\"wikidata\":\"Q61\"},{\"id\":\"postcode.3526019892841050\",\"text\":\"20001\"},{\"id\":\"region.6884744206035790\",\"text\":\"District of Columbia\",\"short_code\":\"US-DC\",\"wikidata\":\"Q61\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"wikidata\":\"Q30\",\"short_code\":\"us\"}]},{\"id\":\"place.12334081418246050\",\"type\":\"Feature\",\"text\":\"Washington\",\"place_name\":\"Washington, District of Columbia, United States\",\"relevance\":1.0,\"properties\":{\"wikidata\":\"Q61\"},\"bbox\":[-77.1197590084041,38.8031129900659,-76.90939299,38.9955480080759],\"center\":[-77.0366,38.895],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.0366,38.895]},\"context\":[{\"id\":\"postcode.3526019892841050\",\"text\":\"20001\"},{\"id\":\"region.6884744206035790\",\"text\":\"District of Columbia\",\"short_code\":\"US-DC\",\"wikidata\":\"Q61\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"wikidata\":\"Q30\",\"short_code\":\"us\"}]},{\"id\":\"postcode.3526019892841050\",\"type\":\"Feature\",\"text\":\"20001\",\"place_name\":\"20001, District of Columbia, United States\",\"relevance\":1.0,\"properties\":{},\"bbox\":[-77.028082,38.890834,-77.007177,38.929058],\"center\":[-77.018017,38.909197],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.018017,38.909197]},\"context\":[{\"id\":\"region.6884744206035790\",\"text\":\"District of Columbia\",\"short_code\":\"US-DC\",\"wikidata\":\"Q61\"},{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"wikidata\":\"Q30\",\"short_code\":\"us\"}]},{\"id\":\"region.6884744206035790\",\"type\":\"Feature\",\"text\":\"District of Columbia\",\"place_name\":\"District of Columbia, United States\",\"relevance\":1.0,\"properties\":{\"short_code\":\"US-DC\",\"wikidata\":\"Q61\"},\"bbox\":[-77.2081379659453,38.7177026348658,-76.909393,38.995548],\"center\":[-76.990661,38.89657],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-76.990661,38.89657]},\"context\":[{\"id\":\"country.12862386939497690\",\"text\":\"United States\",\"wikidata\":\"Q30\",\"short_code\":\"us\"}]},{\"id\":\"country.12862386939497690\",\"type\":\"Feature\",\"text\":\"United States\",\"place_name\":\"United States\",\"relevance\":1.0,\"properties\":{\"wikidata\":\"Q30\",\"short_code\":\"us\"},\"bbox\":[-179.330950579,18.765563302,179.959578044,71.540723637],\"center\":[-97.922211,39.381266],\"geometry\":{\"type\":\"Point\",\"coordinates\":[-97.922211,39.381266]}}],\"attribution\":\"NOTICE: © 2016 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.\"}";
+
+		[Test]
+		public void SerializesAndDeserializesReverse()
+		{
+			// First, deserialize the example response
+			ReverseGeocodeResponse reverseResp = _geocoder.Deserialize<ReverseGeocodeResponse>(_reverseResponse);
+
+			// Then deserialize it back to a string.
+			string reverseReserialized = JsonConvert.SerializeObject(reverseResp, JsonConverters.Converters);
+
+			// Ensure the two match
+			Assert.AreEqual(_reverseResponse, reverseReserialized);
+		}
+
+
+		[Test]
+		public void SerializesAndDeserializesForward()
+		{
+			// First, deserialize the example response
+			ForwardGeocodeResponse forwardResp = _geocoder.Deserialize<ForwardGeocodeResponse>(_forwardResponse);
+
+			// Then deserialize it back to a string.
+			string forwardReserialized = JsonConvert.SerializeObject(forwardResp, JsonConverters.Converters);
+
+			// Ensure the two match
+			Assert.AreEqual(_forwardResponse, forwardReserialized);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Geocoder.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Geocoder.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..577d558f709e3542be530dca318997355dcc668f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Geocoder.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e32c94248ffc8435ea3385aa22e5b67e
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_LonLatToGeoCoordinateConverter.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_LonLatToGeoCoordinateConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ee7b884eb902a8e3037fcd3941b7fa562c3ffd80
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_LonLatToGeoCoordinateConverter.cs
@@ -0,0 +1,44 @@
+//-----------------------------------------------------------------------
+// <copyright file="LonLatToVector2dConverterTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using Mapbox.Json;
+	using Mapbox.Utils;
+	using Mapbox.Utils.JsonConverters;
+	using NUnit.Framework;
+
+
+	[TestFixture]
+	internal class LonLatToVector2dConverterTest
+	{
+
+		// Mapbox API returns longitude,latitude
+		private string _lonLatStr = "[-77.0295,38.9165]";
+
+		// In Unity, x = latitude, y = longitude
+		private Vector2d _latLonObject = new Vector2d(y: -77.0295, x: 38.9165);
+
+
+		[Test]
+		public void Deserialize()
+		{
+			Vector2d deserializedLonLat = JsonConvert.DeserializeObject<Vector2d>(_lonLatStr, JsonConverters.Converters);
+			Assert.AreEqual(_latLonObject.ToString(), deserializedLonLat.ToString());
+		}
+
+
+		[Test]
+		public void Serialize()
+		{
+			string serializedLonLat = JsonConvert.SerializeObject(_latLonObject, JsonConverters.Converters);
+			Assert.AreEqual(_lonLatStr, serializedLonLat);
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_LonLatToGeoCoordinateConverter.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_LonLatToGeoCoordinateConverter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..06946b1c272d06382cab8338ab2299f930dc1581
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_LonLatToGeoCoordinateConverter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 40c0342b3b48a4e0c86d1dab20a71c57
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Map.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Map.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bac11ef81f91785076cd55a15cb00cb72c128a15
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Map.cs
@@ -0,0 +1,212 @@
+//-----------------------------------------------------------------------
+// <copyright file="MapTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+#if UNITY_5_6_OR_NEWER
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using Mapbox.Map;
+	using Mapbox.Platform;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+#if UNITY_5_6_OR_NEWER
+	using System.Collections;
+	using UnityEngine.TestTools;
+#endif
+
+
+	[TestFixture]
+	internal class MapTest
+	{
+
+		private FileSource _fs;
+
+
+		[SetUp]
+		public void SetUp()
+		{
+#if UNITY_5_6_OR_NEWER
+			_fs = new FileSource(Unity.MapboxAccess.Instance.Configuration.GetMapsSkuToken, Unity.MapboxAccess.Instance.Configuration.AccessToken);
+#else
+			// when run outside of Unity FileSource gets the access token from environment variable 'MAPBOX_ACCESS_TOKEN'
+			_fs = new FileSource();
+#endif
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator World()
+#else
+		[Test]
+		public void World()
+#endif
+		{
+			var map = new Map<VectorTile>(_fs);
+
+			map.Vector2dBounds = Vector2dBounds.World();
+			map.Zoom = 3;
+
+			var mapObserver = new Utils.VectorMapObserver();
+			map.Subscribe(mapObserver);
+			map.Update();
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.AreEqual(64, mapObserver.Tiles.Count);
+
+			map.Unsubscribe(mapObserver);
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator RasterHelsinki()
+#else
+		[Test]
+		public void RasterHelsinki()
+#endif
+		{
+			var map = new Map<RasterTile>(_fs);
+
+			map.Center = new Vector2d(60.163200, 24.937700);
+			map.Zoom = 13;
+
+			var mapObserver = new Utils.RasterMapObserver();
+			map.Subscribe(mapObserver);
+			map.Update();
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.AreEqual(1, mapObserver.Tiles.Count);
+			Assert.IsNotNull(mapObserver.Tiles[0]);
+
+			map.Unsubscribe(mapObserver);
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator ChangeTilesetId()
+#else
+		[Test]
+		public void ChangeTilesetId()
+#endif
+		{
+			var map = new Map<ClassicRasterTile>(_fs);
+
+			var mapObserver = new Utils.ClassicRasterMapObserver();
+			map.Subscribe(mapObserver);
+
+			map.Center = new Vector2d(60.163200, 24.937700);
+			map.Zoom = 13;
+			map.TilesetId = "invalid";
+			map.Update();
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.AreEqual(0, mapObserver.Tiles.Count);
+
+			map.TilesetId = "mapbox.terrain-rgb";
+			map.Update();
+
+#if UNITY_5_6_OR_NEWER
+			enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.AreEqual(1, mapObserver.Tiles.Count);
+
+			map.TilesetId = null; // Use default tileset ID.
+			map.Update();
+
+#if UNITY_5_6_OR_NEWER
+			enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.AreEqual(2, mapObserver.Tiles.Count);
+
+			// Should have fetched tiles from different tileset IDs.
+			Assert.AreNotEqual(mapObserver.Tiles[0], mapObserver.Tiles[1]);
+
+			map.Unsubscribe(mapObserver);
+		}
+
+
+
+		[Test]
+		public void SetVector2dBoundsZoom()
+		{
+			var map1 = new Map<RasterTile>(_fs);
+			var map2 = new Map<RasterTile>(_fs);
+
+			map1.Zoom = 3;
+			map1.Vector2dBounds = Vector2dBounds.World();
+
+			map2.SetVector2dBoundsZoom(Vector2dBounds.World(), 3);
+
+			Assert.AreEqual(map1.Tiles.Count, map2.Tiles.Count);
+		}
+
+
+
+		[Test]
+		public void TileMax()
+		{
+			var map = new Map<RasterTile>(_fs);
+
+			map.SetVector2dBoundsZoom(Vector2dBounds.World(), 2);
+			map.Update();
+			Assert.Less(map.Tiles.Count, Map<RasterTile>.TileMax);
+
+			// Should stay the same, ignore requests.
+			map.SetVector2dBoundsZoom(Vector2dBounds.World(), 5);
+			map.Update();
+			Assert.AreEqual(16, map.Tiles.Count);
+		}
+
+
+
+		[Test]
+		public void Zoom()
+		{
+			var map = new Map<RasterTile>(_fs);
+
+			map.Zoom = 50;
+			Assert.AreEqual(20, map.Zoom);
+
+			map.Zoom = -50;
+			Assert.AreEqual(0, map.Zoom);
+		}
+	}
+}
+
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Map.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Map.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a1d0d54f93589acf1304cb234a5cc228ddc91771
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Map.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 02c5791defbcf4d1ebf04166ef29344b
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_MapMatcher.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_MapMatcher.cs
new file mode 100644
index 0000000000000000000000000000000000000000..def9f2392696738625a99fbaf844d45241a277c2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_MapMatcher.cs
@@ -0,0 +1,693 @@
+//-----------------------------------------------------------------------
+// <copyright file="MapMatcherTest.cs" company="Mapbox">
+//     Copyright (c) 2017 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+#if UNITY_5_6_OR_NEWER
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+
+	using Mapbox.Platform;
+	using NUnit.Framework;
+	using UnityEngine.TestTools;
+	using System.Collections;
+	using System.Collections.Generic;
+	using Mapbox.MapMatching;
+	using Mapbox.Utils;
+
+
+
+	[TestFixture]
+	internal class MapMatcherTest
+	{
+
+		private const string _url = "https://api.mapbox.com/matching/v5/mapbox/driving/-117.1728265285492,32.71204416018209;-117.17288821935652,32.712258556224;-117.17293113470076,32.712443613445814;-117.17292040586472,32.71256999376694;-117.17298477888109,32.712603845608285;-117.17314302921294,32.71259933203019;-117.17334151268004,32.71254065549407";
+		private FileSource _fs;
+		private int _timeout = 10;
+
+
+		[SetUp]
+		public void SetUp()
+		{
+			_fs = new FileSource(Unity.MapboxAccess.Instance.Configuration.GetMapsSkuToken, Unity.MapboxAccess.Instance.Configuration.AccessToken);
+			_timeout = Unity.MapboxAccess.Instance.Configuration.DefaultTimeout;
+		}
+
+
+
+
+		[UnityTest]
+		public IEnumerator AsSimpleAsPossible()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(32.71204416018209,-117.1728265285492),
+				new Vector2d(32.712258556224,-117.17288821935652),
+				new Vector2d(32.712443613445814,-117.17293113470076),
+				new Vector2d(32.71256999376694,-117.17292040586472),
+				new Vector2d(32.712603845608285,-117.17298477888109),
+				new Vector2d(32.71259933203019,-117.17314302921294),
+				new Vector2d(32.71254065549407,-117.17334151268004),
+			};
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Assert.AreEqual(7, matchingResponse.Tracepoints.Length, "Wrong number of tracepoints");
+			Assert.AreEqual(3, matchingResponse.Tracepoints[3].WaypointIndex, "Wrong WaypointIndex");
+
+			Assert.AreEqual(1, matchingResponse.Matchings.Length, "Wrong number of matchings");
+			Assert.That(matchingResponse.Matchings[0].Weight > 0 && matchingResponse.Matchings[0].Weight < 100, "Wrong Weight: {0}", matchingResponse.Matchings[0].Weight);
+			Assert.AreEqual("routability", matchingResponse.Matchings[0].WeightName, "Wrong WeightName");
+			Assert.AreEqual(6, matchingResponse.Matchings[0].Legs.Count, "Wrong number of legs");
+			Assert.AreEqual(8, matchingResponse.Matchings[0].Geometry.Count, "Wrong number of vertices in geometry");
+		}
+
+
+		[UnityTest]
+		public IEnumerator Profiles()
+		{
+			//walking
+			IEnumerator<MapMatchingResponse> enumerator = profile(Profile.MapboxWalking);
+			MapMatchingResponse matchingResponse = null;
+			while (enumerator.MoveNext())
+			{
+				matchingResponse = enumerator.Current;
+				yield return null;
+			}
+
+			Assert.GreaterOrEqual(matchingResponse.Matchings[0].Duration, 300, "'mapbox/walking' duration [{0}] less than expected", matchingResponse.Matchings[0].Duration);
+
+			//cycling
+			enumerator = profile(Profile.MapboxCycling);
+			matchingResponse = null;
+			while (enumerator.MoveNext())
+			{
+				matchingResponse = enumerator.Current;
+				yield return null;
+			}
+			Assert.GreaterOrEqual(matchingResponse.Matchings[0].Duration, 100, "'mapbox/cycling' duration less than expected");
+
+			//driving traffic
+			enumerator = profile(Profile.MapboxDrivingTraffic);
+			matchingResponse = null;
+			while (enumerator.MoveNext())
+			{
+				matchingResponse = enumerator.Current;
+				yield return null;
+			}
+			Assert.GreaterOrEqual(matchingResponse.Matchings[0].Duration, 100, "'driving-traffic' duration less than expected");
+
+			//driving
+			enumerator = profile(Profile.MapboxDriving);
+			matchingResponse = null;
+			while (enumerator.MoveNext())
+			{
+				matchingResponse = enumerator.Current;
+				yield return null;
+			}
+			Assert.GreaterOrEqual(matchingResponse.Matchings[0].Duration, 100, "'driving' duration less than expected");
+		}
+
+
+		private IEnumerator<MapMatchingResponse> profile(Profile profile)
+		{
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.27275388447381,16.34687304496765),
+				new Vector2d(48.271925526874405,16.344040632247925),
+				new Vector2d(48.27190410365491,16.343783140182495),
+				new Vector2d(48.27198265541583,16.343053579330444),
+				new Vector2d(48.27217546377159,16.342334747314453),
+				new Vector2d(48.27251823238551,16.341615915298462),
+				new Vector2d(48.27223259203358,16.3416588306427),
+				new Vector2d(48.27138280254541,16.34069323539734),
+				new Vector2d(48.27114714413402,16.34015679359436 )
+			};
+			resource.Profile = profile;
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			yield return matchingResponse;
+		}
+
+
+		[UnityTest]
+		public IEnumerator NoSegment()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.28585,16.55267),
+				new Vector2d(48.28933,16.55211)
+			};
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			Assert.IsNotNull(matchingResponse, "Matching response is NULL");
+			Assert.IsFalse(matchingResponse.HasRequestError, "Error during web request");
+			Assert.AreEqual("NoSegment", matchingResponse.Code, "Matching code != 'NoSegment'");
+			Assert.AreEqual("Could not find a matching segment for input coordinates", matchingResponse.Message, "Message not as expected");
+
+			Assert.IsNull(matchingResponse.Tracepoints, "Tracepoints are not NULL");
+
+			Assert.IsNotNull(matchingResponse.Matchings, "Matchings are NULL");
+			Assert.AreEqual(0, matchingResponse.Matchings.Length, "Wrong number of matchings");
+		}
+
+
+
+
+		[UnityTest]
+		public IEnumerator Radiuses()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.28585,16.55267),
+				new Vector2d(48.28933,16.55211)
+			};
+			resource.Radiuses = new uint[] { 50, 50 };
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Assert.AreEqual(2, matchingResponse.Tracepoints.Length, "Wrong number of tracepoints");
+			Assert.AreEqual(1, matchingResponse.Tracepoints[1].WaypointIndex, "Wrong WaypointIndex");
+
+			Assert.AreEqual(1, matchingResponse.Matchings.Length, "Wrong number of matchings");
+			Assert.GreaterOrEqual(matchingResponse.Matchings[0].Weight, 22.5, "Wrong Weight");
+			Assert.AreEqual("routability", matchingResponse.Matchings[0].WeightName, "Wrong WeightName");
+			Assert.AreEqual(1, matchingResponse.Matchings[0].Legs.Count, "Wrong number of legs");
+			Assert.AreEqual(2, matchingResponse.Matchings[0].Geometry.Count, "Wrong number of vertices in geometry");
+		}
+
+
+
+		[UnityTest]
+		public IEnumerator AlternativesWithSteps()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.31331,16.49062),
+				new Vector2d(48.31638,16.49243)
+			};
+			resource.Radiuses = new uint[] { 10, 30 };
+			resource.Steps = true;
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Assert.AreEqual(2, matchingResponse.Tracepoints.Length, "Wrong number of tracepoints");
+			Assert.GreaterOrEqual(2, matchingResponse.Tracepoints[0].AlternativesCount, "Wrong 'AlternativesCount' for Tracepoint[0]");
+			Assert.GreaterOrEqual(19, matchingResponse.Tracepoints[1].AlternativesCount, "Wrong 'AlternativesCount' for Tracepoint[1]");
+
+			Assert.IsNotNull(matchingResponse.Matchings[0].Legs[0].Steps, "Steps are NULL");
+			Assert.AreEqual(2, matchingResponse.Matchings[0].Legs[0].Steps.Count, "Wrong number of steps");
+			Assert.IsNotNull(matchingResponse.Matchings[0].Legs[0].Steps[0].Intersections, "Intersections are NULL");
+			Assert.AreEqual(3, matchingResponse.Matchings[0].Legs[0].Steps[0].Intersections.Count, "Wrong number of intersections");
+		}
+
+
+		[UnityTest]
+		public IEnumerator OverviewSimplified()
+		{
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.28514194095631,16.32358074188232),
+				new Vector2d(48.28528472524657,16.324278116226196),
+				new Vector2d(48.28502771323672,16.325350999832153),
+				new Vector2d(48.284999156266906,16.326016187667847),
+				new Vector2d(48.284870649705155,16.326134204864502),
+				new Vector2d(48.28467074996644,16.32594108581543),
+				new Vector2d(48.28467074996644,16.325050592422485),
+				new Vector2d(48.28459935701301,16.324610710144043)
+
+			};
+			resource.Overview = Overview.Simplified;
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Assert.GreaterOrEqual(matchingResponse.Matchings[0].Geometry.Count, 14, "Wrong number of vertices in match geometry");
+		}
+
+
+		[UnityTest]
+		public IEnumerator OverviewFull()
+		{
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.28514194095631,16.32358074188232),
+				new Vector2d(48.28528472524657,16.324278116226196),
+				new Vector2d(48.28502771323672,16.325350999832153),
+				new Vector2d(48.284999156266906,16.326016187667847),
+				new Vector2d(48.284870649705155,16.326134204864502),
+				new Vector2d(48.28467074996644,16.32594108581543),
+				new Vector2d(48.28467074996644,16.325050592422485),
+				new Vector2d(48.28459935701301,16.324610710144043)
+
+			};
+			resource.Overview = Overview.Full;
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Assert.GreaterOrEqual(matchingResponse.Matchings[0].Geometry.Count, 20, "Wrong number of vertices in match geometry");
+		}
+
+
+		[UnityTest]
+		public IEnumerator Timestamps()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.1974721043879,16.36202484369278),
+				new Vector2d(48.197922645046546,16.36285901069641)
+			};
+			resource.Timestamps = new long[]
+			{
+				946684800,
+				946684980
+			};
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+		}
+
+
+		[UnityTest]
+		public IEnumerator Annotation()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.1974721043879,16.36202484369278),
+				new Vector2d(48.197922645046546,16.36285901069641)
+			};
+			//need to pass 'Overview.Full' to get 'Congestion'
+			resource.Overview = Overview.Full;
+			resource.Annotations = Annotations.Distance | Annotations.Duration | Annotations.Speed | Annotations.Congestion;
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Directions.Leg leg = matchingResponse.Matchings[0].Legs[0];
+			Assert.IsNotNull(leg.Annotation, "Annotation is NULL");
+			Assert.IsNotNull(leg.Annotation.Distance, "Distance is NULL");
+			Assert.IsNotNull(leg.Annotation.Duration, "Duration is NULL");
+			Assert.IsNotNull(leg.Annotation.Speed, "Speed is NULL");
+			Assert.IsNotNull(leg.Annotation.Congestion, "Congestion is NULL");
+
+			Assert.GreaterOrEqual(leg.Annotation.Distance[1], 42, "Annotation has wrong distnce");
+		}
+
+
+		[UnityTest]
+		public IEnumerator Tidy()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.187092481625704,16.312205493450165),
+				new Vector2d(48.187083540475875,16.312505900859833),
+				new Vector2d(48.18709426985548,16.312503218650818),
+				new Vector2d(48.18707281109407,16.312503218650818),
+				new Vector2d(48.18709605808517,16.312524676322937),
+				new Vector2d(48.18707817578527,16.312530040740967),
+				new Vector2d(48.1870656581716,16.312524676322937),
+				new Vector2d(48.187079964015524,16.312484443187714),
+				new Vector2d(48.18704598762968,16.312776803970337)
+			};
+			resource.Tidy = true;
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Tracepoint[] tps = matchingResponse.Tracepoints;
+			//tracepoints removed by 'Tidy' are set to 'null'
+			Assert.IsNotNull(tps, "Tracepoints is NULL");
+			Assert.IsNull(tps[6], "Tracepoints is NULL");
+			Assert.IsNull(tps[7], "Tracepoints is NULL");
+		}
+
+
+
+		[UnityTest]
+		public IEnumerator LanguageEnglish()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.1974721043879,16.36202484369278),
+				new Vector2d(48.197922645046546,16.36285901069641)
+			};
+			//set Steps to true to get turn-by-turn-instructions
+			resource.Steps = true;
+			//no language parameter needed: English is default
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Directions.Step step0 = matchingResponse.Matchings[0].Legs[0].Steps[0];
+			Directions.Step step1 = matchingResponse.Matchings[0].Legs[0].Steps[1];
+			Assert.AreEqual("Head northeast on Rechte Wienzeile (B1)", step0.Maneuver.Instruction, "Step[0]:Instruction not as expected");
+			Assert.AreEqual("You have arrived at your destination", step1.Maneuver.Instruction, "Step[1]:Instruction not as expected");
+		}
+
+
+		[UnityTest]
+		public IEnumerator LanguageGerman()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.1974721043879,16.36202484369278),
+				new Vector2d(48.197922645046546,16.36285901069641)
+			};
+			//set Steps to true to get turn-by-turn-instructions
+			resource.Steps = true;
+			resource.Language = InstructionLanguages.German;
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Directions.Step step0 = matchingResponse.Matchings[0].Legs[0].Steps[0];
+			Directions.Step step1 = matchingResponse.Matchings[0].Legs[0].Steps[1];
+			Assert.AreEqual("Fahren Sie Richtung Nordosten auf Rechte Wienzeile (B1)", step0.Maneuver.Instruction, "Step[0]:Instruction not as expected");
+			Assert.AreEqual("Sie haben Ihr Ziel erreicht", step1.Maneuver.Instruction, "Step[1]:Instruction not as expected");
+		}
+
+
+
+		[UnityTest]
+		public IEnumerator AllParameters()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Profile = Profile.MapboxWalking;
+			resource.Geometries = Geometries.Polyline6;
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(48.28585,16.55267),
+				new Vector2d(48.28933,16.55211)
+			};
+			resource.Timestamps = new long[]
+			{
+				946684800,
+				946684980
+			};
+			resource.Radiuses = new uint[] { 50, 50 };
+			//set Steps to true to get turn-by-turn-instructions
+			resource.Steps = true;
+			//need to pass 'Overview.Full' to get 'Congestion'
+			resource.Overview = Overview.Full;
+			resource.Annotations = Annotations.Distance | Annotations.Duration | Annotations.Speed | Annotations.Congestion;
+			resource.Tidy = true;
+			resource.Language = InstructionLanguages.German;
+
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			commonBasicResponseAsserts(matchingResponse);
+
+			Directions.Leg leg = matchingResponse.Matchings[0].Legs[0];
+			Assert.IsNotNull(leg.Annotation, "Annotation is NULL");
+			Assert.IsNotNull(leg.Annotation.Distance, "Distance is NULL");
+			Assert.IsNotNull(leg.Annotation.Duration, "Duration is NULL");
+			Assert.IsNotNull(leg.Annotation.Speed, "Speed is NULL");
+			Assert.IsNotNull(leg.Annotation.Congestion, "Congestion is NULL");
+
+			Directions.Step step1 = matchingResponse.Matchings[0].Legs[0].Steps[1];
+			Assert.IsTrue(step1.Maneuver.Instruction.Contains("Sie haben Ihr Ziel erreicht"), "Step[1]:Instruction not as expected");
+
+		}
+
+
+		[UnityTest]
+		public IEnumerator CoordinatesNull()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			Assert.Throws(
+				typeof(System.Exception)
+				, () => resource.Coordinates = null
+				, "MapMatchingResource did not throw when setting null coordinates"
+			);
+
+			yield return null;
+
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+
+			Assert.Throws(
+				typeof(System.Exception)
+				, () =>
+				{
+					mapMatcher.Match(
+						resource,
+						(MapMatchingResponse response) =>
+						{
+							matchingResponse = response;
+						}
+					);
+				}
+				, "MapMatcher.Match did not throw with null coordinates"
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			Assert.IsNull(matchingResponse, "Matching response was expected to be null");
+		}
+
+
+
+		[UnityTest]
+		public IEnumerator InvalidCoordinate()
+		{
+
+			MapMatchingResource resource = new MapMatchingResource();
+			resource.Coordinates = new Vector2d[]
+			{
+				new Vector2d(-117.1728265285492, 32.71204416018209),
+				new Vector2d(-117.17288821935652,32.712258556224),
+			};
+
+			MapMatcher mapMatcher = new MapMatcher(_fs, _timeout);
+			MapMatchingResponse matchingResponse = null;
+			mapMatcher.Match(
+				resource,
+				(MapMatchingResponse response) =>
+				{
+					matchingResponse = response;
+				}
+			);
+
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+			Assert.IsNotNull(matchingResponse, "Matching response is NULL");
+			Assert.IsTrue(matchingResponse.HasRequestError, "No web request error");
+			Assert.IsTrue(matchingResponse.HasMatchingError, "No matching error");
+			Assert.AreEqual("InvalidInput", matchingResponse.Code, "Matching code != 'InvalidInput'");
+			Assert.IsNotNull(matchingResponse.Message, "Matching message is NULL");
+			Assert.IsNotEmpty(matchingResponse.Message, "Matching message is empty");
+			Assert.AreEqual("Coordinate is invalid: 32.71204,-117.17283", matchingResponse.Message, "Matching message not as expected");
+		}
+
+
+		private void commonBasicResponseAsserts(MapMatchingResponse matchingResponse)
+		{
+			Assert.IsNotNull(matchingResponse, "Matching response is NULL");
+			Assert.IsFalse(matchingResponse.HasRequestError, "Error during web request");
+			Assert.AreEqual("Ok", matchingResponse.Code, "Matching code != 'Ok'");
+			Assert.IsFalse(matchingResponse.HasMatchingError, "Macthing error");
+
+			Assert.IsNotNull(matchingResponse.Tracepoints, "Tracepoints are NULL");
+			Assert.GreaterOrEqual(matchingResponse.Tracepoints.Length, 2, "Less than 2 tracepoints");
+
+			Assert.IsNotNull(matchingResponse.Matchings, "Matchings are NULL");
+			Assert.GreaterOrEqual(1, matchingResponse.Matchings.Length, "Less than 1 matchings");
+			Assert.IsNotNull(matchingResponse.Matchings[0].Legs, "Legs are NULL");
+			Assert.GreaterOrEqual(matchingResponse.Matchings[0].Legs.Count, 1, "1st match has no legs");
+		}
+	}
+}
+
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_MapMatcher.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_MapMatcher.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f6600a5c800b0fe61004b06b435e47bd40e0fe52
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_MapMatcher.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 59de4f0f699183d4ab19690a6b94c1a0
+timeCreated: 1508247612
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineToGeoCoordinateListConverter.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineToGeoCoordinateListConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e1eb3066733dca7a3b96c0acd3a4aec96217997c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineToGeoCoordinateListConverter.cs
@@ -0,0 +1,49 @@
+//-----------------------------------------------------------------------
+// <copyright file="PolylineToVector2dListConverterTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using System.Collections.Generic;
+	using Mapbox.Json;
+	using Mapbox.Utils;
+	using Mapbox.Utils.JsonConverters;
+	using NUnit.Framework;
+
+
+	[TestFixture]
+	internal class PolylineToVector2dListConverterTest
+	{
+		
+		// (38.5, -120.2), (40.7, -120.95), (43.252, -126.453)
+		private readonly List<Vector2d> _polyLineObj = new List<Vector2d>()
+		{
+			new Vector2d(38.5, -120.2),
+			new Vector2d(40.7, -120.95),
+			new Vector2d(43.252, -126.453)
+		};
+
+		private string _polyLineString = "\"_p~iF~ps|U_ulLnnqC_mqNvxq`@\"";
+
+
+		[Test]
+		public void Deserialize()
+		{
+			List<Vector2d> deserializedLine = JsonConvert.DeserializeObject<List<Vector2d>>(_polyLineString, JsonConverters.Converters);
+			Assert.AreEqual(_polyLineObj, deserializedLine);
+		}
+
+
+		[Test]
+		public void Serialize()
+		{
+			string serializedLine = JsonConvert.SerializeObject(_polyLineObj, JsonConverters.Converters);
+			Assert.AreEqual(_polyLineString, serializedLine);
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineToGeoCoordinateListConverter.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineToGeoCoordinateListConverter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..964b7186c4d9e8547e7a61c270bff4c928335b66
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineToGeoCoordinateListConverter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e1b862f6c5e734a409c075ec1bce13e1
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineUtils.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineUtils.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6a4533842cdbcce95dfd1b03d40bf9ecaf78b1cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineUtils.cs
@@ -0,0 +1,60 @@
+//-----------------------------------------------------------------------
+// <copyright file="PolylineUtilsTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using System.Collections.Generic;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+
+	/// <summary>Polyline utils test.</summary>
+	[TestFixture]
+	public class PolylineUtilsTest
+	{
+
+
+		/// <summary>
+		/// Tests the decode.
+		/// </summary>
+		/// <remarks>
+		/// Sample values from https://developers.google.com/maps/documentation/utilities/polylinealgorithm.
+		/// </remarks>    
+		[Test]
+		public void TestDecode()
+		{
+			// _p~iF~ps|U_ulLnnqC_mqNvxq`@
+			List<Vector2d> path = PolylineUtils.Decode(
+			  "_p~iF~ps|U_ulLnnqC_mqNvxq`@");
+
+			// (38.5, -120.2), (40.7, -120.95), (43.252, -126.453)
+			Assert.AreEqual(-120.2, path[0].y);
+			Assert.AreEqual(38.5, path[0].x);
+			Assert.AreEqual(-120.95, path[1].y);
+			Assert.AreEqual(40.7, path[1].x);
+			Assert.AreEqual(-126.453, path[2].y);
+			Assert.AreEqual(43.252, path[2].x);
+		}
+
+
+		/// <summary>Tests the encode.</summary>
+		[Test]
+		public void TestEncode()
+		{
+			// (38.5, -120.2), (40.7, -120.95), (43.252, -126.453)
+			var path = new List<Vector2d>();
+			path.Add(new Vector2d(38.5, -120.2));
+			path.Add(new Vector2d(40.7, -120.95));
+			path.Add(new Vector2d(43.252, -126.453));
+
+			// _p~iF~ps|U_ulLnnqC_mqNvxq`@
+			Assert.AreEqual("_p~iF~ps|U_ulLnnqC_mqNvxq`@", PolylineUtils.Encode(path));
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineUtils.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineUtils.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..10d47e47229af6092bcde1c632a46893661bb27f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_PolylineUtils.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: fa0f5d050d73344bf85556235addd1b9
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ReverseGeocodeResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ReverseGeocodeResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bc7f3f779d9178b80d2ebf11110396fe6162bba4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ReverseGeocodeResource.cs
@@ -0,0 +1,70 @@
+//-----------------------------------------------------------------------
+// <copyright file="ReverseGeocodeResourceTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using System;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+
+	[TestFixture]
+	internal class ReverseGeocodeResourceTest
+	{
+
+		private const string _baseUrl = "https://api.mapbox.com/geocoding/v5/mapbox.places/";
+		private Vector2d _queryLocation = new Vector2d(10, 10);
+		private string _expectedQueryString = "10.00000,10.00000";
+		private Geocoding.ReverseGeocodeResource _reverseGeocodeResource;
+
+
+		[SetUp]
+		public void SetUp()
+		{
+			_reverseGeocodeResource = new Geocoding.ReverseGeocodeResource(_queryLocation);
+		}
+
+		public void BadType()
+		{
+			_reverseGeocodeResource.Types = new string[] { "fake" };
+		}
+
+		public void BadTypeWithGoodType()
+		{
+			_reverseGeocodeResource.Types = new string[] { "place", "fake" };
+		}
+
+		[Test]
+		public void SetInvalidTypes()
+		{
+			Assert.Throws<Exception>(BadType);
+			Assert.Throws<Exception>(BadTypeWithGoodType);
+		}
+
+		[Test]
+		public void GetUrl()
+		{
+			// With only constructor
+			Assert.AreEqual(_baseUrl + _expectedQueryString + ".json", _reverseGeocodeResource.GetUrl());
+
+			// With one types
+			_reverseGeocodeResource.Types = new string[] { "country" };
+			Assert.AreEqual(_baseUrl + _expectedQueryString + ".json?types=country", _reverseGeocodeResource.GetUrl());
+
+			// With multiple types
+			_reverseGeocodeResource.Types = new string[] { "country", "region" };
+			// ToLower is need to make test pass on OSX
+			Assert.AreEqual((_baseUrl + _expectedQueryString + ".json?types=country%2Cregion").ToLower(), _reverseGeocodeResource.GetUrl().ToLower());
+
+			// Set all to null
+			_reverseGeocodeResource.Types = null;
+			Assert.AreEqual(_baseUrl + _expectedQueryString + ".json", _reverseGeocodeResource.GetUrl());
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ReverseGeocodeResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ReverseGeocodeResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d3a44e514fcd667966c287cccca41661ad235b26
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_ReverseGeocodeResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7f39fa05cece94053b2bf5b0c31eb1da
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_SQLiteCache.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_SQLiteCache.cs
new file mode 100644
index 0000000000000000000000000000000000000000..60e7f5e8cf80fc6ced0bf11cbf50edd7bf343b57
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_SQLiteCache.cs
@@ -0,0 +1,300 @@
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+	using Mapbox.Map;
+	using Mapbox.Platform.Cache;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Diagnostics;
+	using System.Globalization;
+	using System.IO;
+	using System.Linq;
+	using ued = UnityEngine.Debug;
+	using UnityEngine.TestTools;
+
+
+	[TestFixture]
+	internal class SQLiteCacheTest
+	{
+
+
+		private const string _dbName = "UNITTEST.db";
+		// tileset names
+		private const string TS_NO_OVERWRITE = "NoOverwrite";
+		private const string TS_FORCE_OVERWRITE = "ForceOverwrite";
+		private const string TS_CONCURRENT1 = "concurrent1";
+		private const string TS_CONCURRENT2 = "concurrent2";
+		private const string TS_CONCURRENT3 = "concurrent3";
+		private const string TS_CONCURRENT4 = "concurrent4";
+		private const string TS_PRUNE = "concurrent4";
+		private const string TS_REINIT = "reinit";
+		private string[] _allTilesetNames;
+		private SQLiteCache _cache;
+		private string _className;
+		private HashSet<CanonicalTileId> _tileIds;
+		// be careful when setting the 'maxTileCount' parameter. when setting too low unwanted pruning might happen.
+		private uint _maxCacheTileCount = 6000;
+
+
+		[OneTimeSetUp]
+		public void Init()
+		{
+			_className = this.GetType().Name;
+
+			Runnable.EnableRunnableInEditor();
+
+			_allTilesetNames = new string[] {
+				TS_NO_OVERWRITE
+				, TS_FORCE_OVERWRITE
+				, TS_CONCURRENT1
+				, TS_CONCURRENT2
+				, TS_CONCURRENT3
+				, TS_CONCURRENT4
+				, TS_PRUNE
+				, TS_REINIT
+			};
+
+			Vector2d southWest = new Vector2d(48.2174, 16.3662);
+			Vector2d northEast = new Vector2d(48.2310, 16.3877);
+			Vector2dBounds bounds = new Vector2dBounds(southWest, northEast);
+			_tileIds = TileCover.Get(bounds, 19);
+
+
+			// delete cache from previous runs
+			string dbFullPath = SQLiteCache.GetFullDbPath(_dbName);
+			if (File.Exists(dbFullPath)) { File.Delete(dbFullPath); }
+
+			_cache = new SQLiteCache(_maxCacheTileCount, _dbName);
+		}
+
+
+		[OneTimeTearDown]
+		public void Cleanup()
+		{
+			if (null != _cache)
+			{
+				_cache.Dispose();
+				_cache = null;
+			}
+		}
+
+
+		[Test, Order(1)]
+		public void InsertSameTileNoOverwrite()
+		{
+			string methodName = _className + "." + new StackFrame().GetMethod().Name;
+			List<long> elapsed = simpleInsert(TS_NO_OVERWRITE, false);
+			logTime(methodName, elapsed);
+			cacheItemAsserts(TS_NO_OVERWRITE, new CanonicalTileId(0, 0, 0));
+			Assert.AreEqual(1, _cache.TileCount(TS_NO_OVERWRITE), "tileset {0}: unexpected number of tiles", TS_NO_OVERWRITE);
+		}
+
+
+		[Test, Order(2)]
+		public void InsertSameTileForceOverwrite()
+		{
+			string methodName = _className + "." + new StackFrame().GetMethod().Name;
+			List<long> elapsed = simpleInsert(TS_FORCE_OVERWRITE, true);
+			logTime(methodName, elapsed);
+			cacheItemAsserts(TS_FORCE_OVERWRITE, new CanonicalTileId(0, 0, 0));
+			Assert.AreEqual(1, _cache.TileCount(TS_FORCE_OVERWRITE), "tileset {0}: unexpected number of tiles", TS_FORCE_OVERWRITE);
+		}
+
+
+		[UnityTest, Order(3)]
+		public IEnumerator ConcurrentTilesetInsert()
+		{
+
+			ued.LogFormat("about to insert {0} tiles for each tileset", _tileIds.Count);
+
+			int rIdCr1 = Runnable.Run(InsertCoroutine(TS_CONCURRENT1, false, _tileIds));
+			int rIdCr2 = Runnable.Run(InsertCoroutine(TS_CONCURRENT2, false, _tileIds));
+			int rIdCr3 = Runnable.Run(InsertCoroutine(TS_CONCURRENT3, false, _tileIds));
+			int rIdCr4 = Runnable.Run(InsertCoroutine(TS_CONCURRENT4, false, _tileIds));
+
+			while (Runnable.IsRunning(rIdCr1) || Runnable.IsRunning(rIdCr2) || Runnable.IsRunning(rIdCr3) || Runnable.IsRunning(rIdCr4))
+			{
+				yield return null;
+			}
+
+		}
+
+
+		[Test, Order(4)]
+		public void VerifyTilesFromConcurrentInsert()
+		{
+			ued.Log("verifying concurrently inserted tiles ...");
+
+			string[] tilesetNames = new string[] { TS_CONCURRENT1, TS_CONCURRENT2, TS_CONCURRENT3, TS_CONCURRENT4 };
+
+			foreach (string tilesetName in tilesetNames)
+			{
+				Assert.AreEqual(_tileIds.Count, _cache.TileCount(tilesetName), "tileset '{0}' does not contain expected number of tiles", tilesetName);
+			}
+
+			foreach (string tilesetName in tilesetNames)
+			{
+				foreach (CanonicalTileId tileId in _tileIds)
+				{
+					cacheItemAsserts(tilesetName, tileId);
+				}
+			}
+
+			ued.Log("all tiles in cache!");
+		}
+
+
+		[Test, Order(5)]
+		public void Prune()
+		{
+			string methodName = _className + "." + new StackFrame().GetMethod().Name;
+			HashSet<CanonicalTileId> tileIds = new HashSet<CanonicalTileId>();
+
+			int tiles2Insert = (int)_maxCacheTileCount + (int)_cache.PruneCacheDelta + 1;
+			ued.Log(string.Format("about to insert {0} tiles", tiles2Insert));
+			for (int x = 0; x < tiles2Insert; x++)
+			{
+				tileIds.Add(new CanonicalTileId(x, 131205, 18));
+			}
+
+			List<long> elapsed = simpleInsert(TS_PRUNE, false, tileIds);
+			logTime(methodName, elapsed);
+			Assert.AreEqual(_maxCacheTileCount, _cache.TileCount(TS_PRUNE), _cache.PruneCacheDelta, "tileset [{0}]: pruning did not work as expected", TS_PRUNE);
+		}
+
+
+		[Test, Order(6)]
+		public void Clear()
+		{
+			// We still should have tiles in the cache
+			long tileCnt = getAllTilesCount();
+
+			// beware 'Assert.Greater' has parameters flipped compared to 'Assert.AreEqual'
+			Assert.GreaterOrEqual(tileCnt, _cache.MaxCacheSize, "number of tiles lower than expected");
+
+			_cache.Clear();
+			// have to Reinit after Clear()
+			_cache.ReInit();
+
+			tileCnt = getAllTilesCount();
+
+			Assert.AreEqual(0, tileCnt, "'Clear()' did not work as expected");
+		}
+
+
+		[Test, Order(7)]
+		public void ReInit()
+		{
+			// after previous 'Clear' there shouldn't be any tiles in cache
+			long tileCnt = getAllTilesCount();
+			Assert.AreEqual(0, tileCnt, "'Clear()' did not work as expected");
+			// insert one tile
+			simpleInsert(TS_REINIT, false, itemCount: 1);
+			tileCnt = getAllTilesCount();
+			Assert.AreEqual(1, tileCnt, "one tile was not inserted");
+
+			_cache.ReInit();
+
+			Assert.AreEqual(1, tileCnt, "tile was lost during 'ReInit()'");
+		}
+
+
+		#region helper methods
+
+
+		private long getAllTilesCount()
+		{
+			long tileCnt = 0;
+			foreach (string tilesetName in _allTilesetNames)
+			{
+				tileCnt += _cache.TileCount(tilesetName);
+			}
+			return tileCnt;
+		}
+
+
+		private void cacheItemAsserts(string tilesetName, CanonicalTileId tileId)
+		{
+			CacheItem ci = _cache.Get(tilesetName, tileId);
+			Assert.NotNull(ci, "tileset '{0}': {1} not found in cache", tilesetName, tileId);
+			Assert.NotNull(ci.Data, "tileset '{0}': {1} tile data is null", tilesetName, tileId);
+			Assert.NotZero(ci.Data.Length, "tileset '{0}': {1} data length is 0", tilesetName, tileId);
+		}
+
+
+		private IEnumerator InsertCoroutine(string tileSetName, bool forceInsert, HashSet<CanonicalTileId> tileIds = null)
+		{
+			ued.Log(string.Format("coroutine [{0}] started", tileSetName));
+			yield return null;
+
+			List<long> elapsed = simpleInsert(tileSetName, forceInsert, tileIds);
+
+			ued.Log(string.Format("coroutine [{0}] finished", tileSetName));
+			logTime(tileSetName, elapsed);
+		}
+
+
+		private List<long> simpleInsert(string tileSetName, bool forceInsert, HashSet<CanonicalTileId> tileIds = null, int itemCount = 1000)
+		{
+			if (null != tileIds) { itemCount = tileIds.Count; }
+
+			List<long> elapsed = new List<long>();
+			Stopwatch sw = new Stopwatch();
+
+			for (int i = 0; i < itemCount; i++)
+			{
+				CanonicalTileId tileId = null != tileIds ? tileIds.ElementAt(i) : new CanonicalTileId(0, 0, 0);
+				DateTime now = DateTime.UtcNow;
+				CacheItem cacheItem = new CacheItem()
+				{
+					AddedToCacheTicksUtc = now.Ticks,
+					// simulate 100KB data
+					Data = Enumerable.Repeat((byte)0x58, 100 * 1024).ToArray(),
+					ETag = "etag",
+					LastModified = now
+				};
+
+				sw.Start();
+				_cache.Add(tileSetName, tileId, cacheItem, forceInsert);
+				sw.Stop();
+				elapsed.Add(sw.ElapsedMilliseconds);
+				sw.Reset();
+			}
+
+			return elapsed;
+		}
+
+
+
+		private void logTime(string label, List<long> elapsed)
+		{
+			double overall = elapsed.Sum() / 1000.0;
+			double min = elapsed.Min() / 1000.0;
+			double max = elapsed.Max() / 1000.0;
+			double avg = elapsed.Average() / 1000.0;
+
+			double sum = elapsed.Sum(d => Math.Pow(d - avg, 2));
+			double stdDev = (Math.Sqrt((sum) / (elapsed.Count - 1))) / 1000.0;
+
+			ued.Log(string.Format(
+				CultureInfo.InvariantCulture
+				, "[{0}] {1} items, overall time:{2,6:0.000}s avg:{3,6:0.000}s min:{4,6:0.000}s max:{5,6:0.000}s stdDev:{6,6:0.000}s"
+				, label
+				, elapsed.Count
+				, overall
+				, avg
+				, min
+				, max
+				, stdDev
+			));
+		}
+
+
+		#endregion
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_SQLiteCache.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_SQLiteCache.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b40a774f1f621a8a5412b008b1fc4a7632e7902c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_SQLiteCache.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e9829dc6854b57c4daa504cf64758026
+timeCreated: 1528105352
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Tile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Tile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5c16410e2528610c3a435e5c92b3ce8aded835b1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Tile.cs
@@ -0,0 +1,108 @@
+//-----------------------------------------------------------------------
+// <copyright file="TileTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+#if UNITY_5_6_OR_NEWER
+
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+
+	using Mapbox.Map;
+	using Mapbox.Platform;
+	using NUnit.Framework;
+#if UNITY_5_6_OR_NEWER
+	using System.Collections;
+	using UnityEngine.TestTools;
+#endif
+
+
+	[TestFixture]
+	internal class TileTest
+	{
+
+
+		private FileSource _fs;
+
+
+		[SetUp]
+		public void SetUp()
+		{
+#if UNITY_5_6_OR_NEWER
+			_fs = new FileSource(Unity.MapboxAccess.Instance.Configuration.GetMapsSkuToken, Unity.MapboxAccess.Instance.Configuration.AccessToken);
+#else
+			// when run outside of Unity FileSource gets the access token from environment variable 'MAPBOX_ACCESS_TOKEN'
+			_fs = new FileSource();
+#endif
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator TileLoading()
+#else
+		[Test]
+		public void TileLoading() 
+#endif
+		{
+			byte[] data;
+
+			var parameters = new Tile.Parameters();
+			parameters.Fs = _fs;
+			parameters.Id = new CanonicalTileId(1, 1, 1);
+
+			var tile = new RawPngRasterTile();
+			tile.Initialize(parameters, () => { data = tile.Data; });
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.Greater(tile.Data.Length, 1000);
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator States()
+#else
+		[Test]
+		public void States() 
+#endif
+		{
+			var parameters = new Tile.Parameters();
+			parameters.Fs = _fs;
+			parameters.Id = new CanonicalTileId(1, 1, 1);
+
+			var tile = new RawPngRasterTile();
+			Assert.AreEqual(Tile.State.New, tile.CurrentState);
+
+			tile.Initialize(parameters, () => { });
+			Assert.AreEqual(Tile.State.Loading, tile.CurrentState);
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.AreEqual(Tile.State.Loaded, tile.CurrentState);
+
+			tile.Cancel();
+			Assert.AreEqual(Tile.State.Canceled, tile.CurrentState);
+		}
+	}
+}
+
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Tile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Tile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..04a31807f38f4141442573189070033464c7e09b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Tile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 458f515b81c004c5982c33a6fb6f99ed
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileCover.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileCover.cs
new file mode 100644
index 0000000000000000000000000000000000000000..84de2ccbdf365eff9e4286154b2bf5554e34a536
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileCover.cs
@@ -0,0 +1,63 @@
+//-----------------------------------------------------------------------
+// <copyright file="TileCoverTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Map;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+
+	[TestFixture]
+	internal class TileCoverTest
+	{
+
+
+		[Test]
+		public void World()
+		{
+			// Zoom > 8 will generate so many tiles that we
+			// might run out of memory.
+			for (int zoom = 0; zoom < 8; ++zoom)
+			{
+				var tiles = TileCover.Get(Vector2dBounds.World(), zoom);
+				Assert.AreEqual(Math.Pow(4, zoom), tiles.Count);
+			}
+		}
+
+
+		[Test]
+		public void Helsinki()
+		{
+			// Assertion results verified on Mapbox GL Native.
+			var sw = new Vector2d(60.163200, 24.937700);
+			var ne = new Vector2d(60.163300, 24.937800);
+
+			var set1 = TileCover.Get(new Vector2dBounds(sw, ne), 13);
+			Assert.AreEqual(1, set1.Count);
+
+			var list1 = new List<CanonicalTileId>(set1);
+			Assert.AreEqual("13/4663/2371", list1[0].ToString());
+
+			var set2 = TileCover.Get(new Vector2dBounds(sw, ne), 6);
+			Assert.AreEqual(1, set2.Count);
+
+			var list2 = new List<CanonicalTileId>(set2);
+			Assert.AreEqual("6/36/18", list2[0].ToString());
+
+			var set3 = TileCover.Get(new Vector2dBounds(sw, ne), 0);
+			Assert.AreEqual(1, set3.Count);
+
+			var list3 = new List<CanonicalTileId>(set3);
+			Assert.AreEqual("0/0/0", list3[0].ToString());
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileCover.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileCover.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8dff9a5ec2ead0c2fc4dd0d0df6a0c2a98c950cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileCover.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 5990cb1e4cf9440e1ab76a610a3364fc
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileJSON.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileJSON.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1eac85cd23352f6946134393e4a5073e252b71a5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileJSON.cs
@@ -0,0 +1,225 @@
+//-----------------------------------------------------------------------
+// <copyright file="FileSourceTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+#if UNITY_5_6_OR_NEWER
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+
+	using Mapbox.Platform;
+	using NUnit.Framework;
+	using UnityEngine.TestTools;
+	using System.Collections;
+	using Mapbox.Platform.TilesetTileJSON;
+
+
+	[TestFixture]
+	internal class TileJSONTest
+	{
+
+
+
+		[UnityTest]
+		public IEnumerator MapboxStreets()
+		{
+			string id = "mapbox.mapbox-streets-v7";
+			int minZoom = 0;
+			int maxZoom = 16;
+
+			TileJSONResponse response = null;
+
+			Unity.MapboxAccess.Instance.TileJSON.Get(
+				id
+				, (TileJSONResponse tjr) =>
+				{
+					response = tjr;
+				}
+			);
+
+
+			IEnumerator enumerator = ((FileSource)Unity.MapboxAccess.Instance.TileJSON.FileSource).WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			testsCommonToVectorAndRasterTilesets(response, id, minZoom, maxZoom);
+			testsForVectorTilesets(response);
+		}
+
+
+		[UnityTest]
+		public IEnumerator ConcatenatedVectorTilesets()
+		{
+			string id = "mapbox.mapbox-traffic-v1,mapbox.mapbox-streets-v7";
+			int minZoom = 0;
+			int maxZoom = 16;
+
+			TileJSONResponse response = null;
+
+			Unity.MapboxAccess.Instance.TileJSON.Get(
+				id
+				, (TileJSONResponse tjr) =>
+				{
+					response = tjr;
+				}
+			);
+
+
+			IEnumerator enumerator = ((FileSource)Unity.MapboxAccess.Instance.TileJSON.FileSource).WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			testsCommonToVectorAndRasterTilesets(
+				response
+				, id
+				, minZoom
+				, maxZoom
+				, boundsSouth: -90
+				, boundsNorth: 90
+			);
+			testsForVectorTilesets(response);
+		}
+
+
+		[UnityTest]
+		public IEnumerator MapboxSatellite()
+		{
+			string id = "mapbox.satellite";
+			int minZoom = 0;
+			int maxZoom = 22;
+
+			TileJSONResponse response = null;
+
+			Unity.MapboxAccess.Instance.TileJSON.Get(
+				id
+				, (TileJSONResponse tjr) =>
+				{
+					response = tjr;
+				}
+			);
+
+
+			IEnumerator enumerator = ((FileSource)Unity.MapboxAccess.Instance.TileJSON.FileSource).WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			testsCommonToVectorAndRasterTilesets(response, id, minZoom, maxZoom, boundsSouth: -85, boundsNorth: 85);
+		}
+
+
+		[UnityTest]
+		public IEnumerator MapboxEmerald()
+		{
+			string id = "mapbox.emerald";
+			int minZoom = 0;
+			int maxZoom = 22;
+
+			TileJSONResponse response = null;
+
+			Unity.MapboxAccess.Instance.TileJSON.Get(
+				id
+				, (TileJSONResponse tjr) =>
+				{
+					response = tjr;
+				}
+			);
+
+
+			IEnumerator enumerator = ((FileSource)Unity.MapboxAccess.Instance.TileJSON.FileSource).WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+
+			testsCommonToVectorAndRasterTilesets(response, id, minZoom, maxZoom);
+
+			Assert.IsNotEmpty(response.Source, "'Source' not set properly");
+		}
+
+
+
+		private void testsForVectorTilesets(TileJSONResponse response)
+		{
+			Assert.IsNotNull(response.VectorLayers, "'VectorLayers' not set properly");
+			Assert.GreaterOrEqual(response.VectorLayers.Length, 1, "Not enough 'VectorLayers'");
+
+			TileJSONObjectVectorLayer vl1 = response.VectorLayers[0];
+			Assert.IsNotNull(vl1.Fields, "VectorLayer fields not parsed properly");
+			Assert.GreaterOrEqual(vl1.Fields.Count, 1, "Not enough vector layer fields");
+			Assert.IsNotEmpty(vl1.Id, "'Id' of vector layer not parsed properly");
+			Assert.IsNotEmpty(vl1.Source, "'Source' of vector layer not parsed properly");
+			Assert.IsNotEmpty(vl1.SourceName, "'SourceName' of vector layer not parsed properly");
+		}
+
+
+		private void testsCommonToVectorAndRasterTilesets(
+			TileJSONResponse response
+			, string id
+			, int minZoom
+			, int maxZoom
+			, double boundsWest = -180
+			, double boundsSouth = -85.0511
+			, double boundsEast = 180
+			, double boundsNorth = 85.0511
+		)
+		{
+			Assert.IsNotNull(response, "Parsing error or no data received from the servers.");
+
+			Assert.IsNotEmpty(response.Attribution, "Attribution not set.");
+
+			Assert.AreEqual(boundsWest, response.BoundsParsed.West, "Bounds.West does not match");
+			Assert.AreEqual(boundsSouth, response.BoundsParsed.South, 0.003, "Bounds.South does not match");
+			Assert.AreEqual(boundsEast, response.BoundsParsed.East, "Bounds.East does not match");
+			Assert.AreEqual(boundsNorth, response.BoundsParsed.North, 0.003, "Bounds.North does not match");
+
+			// this does not work as some tilesets report whole world bounds despite covering a small area only
+			// revisit some time in the future
+			//Assert.AreEqual(response.BoundsParsed.Center.x, response.CenterParsed.x, 0.003, "Center.x does not match");
+			//Assert.AreEqual(response.BoundsParsed.Center.y, response.CenterParsed.y, "Center.y does not match");
+
+			//concatenated tilesets don't have created property
+			if (response.Created.HasValue)
+			{
+				Assert.Greater(response.Created.Value, 0, "'Created' not set");
+				Assert.IsNotNull(response.CreatedUtc, "'CreatedUtc' not set properly'");
+			}
+
+			// mapbox.satellite doesn't set 'format': bug??
+			// revisit in the future
+			//Assert.IsNotEmpty(response.Format, "'Format' is empty");
+
+			// concatenated tilesets don't report 'id'
+			if (!id.Contains(","))
+			{
+				Assert.IsNotEmpty(response.Id, "'Id' is empty");
+				Assert.AreEqual(id, response.Id, "'Id' not set properly");
+			}
+			Assert.AreEqual(minZoom, response.MinZoom, "'MinZoom' not set properly");
+			Assert.AreEqual(maxZoom, response.MaxZoom, "'MaxZoom' not set properly");
+
+			//Unmodified tilesets don't have a modified property
+			if (response.Modified.HasValue)
+			{
+				Assert.Greater(response.Modified.Value, 0, "'Modified not set'");
+				Assert.IsTrue(response.ModifiedUtc.HasValue, "'Modified not properly parsed'");
+			}
+
+			Assert.IsNotEmpty(response.Name, "'Name' not set properly");
+			Assert.IsFalse(response.Private, "'Private' not set properly");
+			Assert.AreEqual("xyz", response.Scheme, "'Scheme' not set properly");
+			Assert.IsNotEmpty(response.TileJSONVersion, "'TileJSONVersion not set properly");
+
+			Assert.IsNotNull(response.Tiles, "'Tiles' not set properly");
+			Assert.GreaterOrEqual(response.Tiles.Length, 1, "Not enough 'Tiles'");
+
+			// concatenated tilesets don't report 'webpage'
+			if (!id.Contains(","))
+			{
+				Assert.IsNotEmpty(response.WebPage, "'WebPage' not set properly");
+			}
+		}
+
+
+
+	}
+}
+
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileJSON.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileJSON.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f0f82cc0b5d51fee0d1d15fc9dcb7f896e1d2606
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileJSON.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 609e55c6e2c34624eb02d61d96cb34f0
+timeCreated: 1515592137
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileResource.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileResource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c386685d47f790af8e3cdb4f5a9995dbc1116dea
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileResource.cs
@@ -0,0 +1,78 @@
+//-----------------------------------------------------------------------
+// <copyright file="TileResourceTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+#if UNITY_5_6_OR_NEWER
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using Mapbox.Map;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+
+	[TestFixture]
+	public class TileResourceTest
+	{
+
+		private string _api;
+		private CanonicalTileId _tileId;
+
+
+		[SetUp]
+		public void SetUp()
+		{
+			_api = Constants.BaseAPI;
+			_tileId = new CanonicalTileId(0, 0, 0);
+		}
+
+
+		[Test]
+		public void GetUrlRaster()
+		{
+			var res1 = TileResource.MakeRaster(_tileId, null);
+			Assert.AreEqual(_api + "styles/v1/mapbox/satellite-v9/tiles/0/0/0", res1.GetUrl().Split("?".ToCharArray())[0]);
+
+			var res2 = TileResource.MakeRaster(_tileId, "mapbox://styles/mapbox/basic-v9");
+			Assert.AreEqual(_api + "styles/v1/mapbox/basic-v9/tiles/0/0/0", res2.GetUrl().Split("?".ToCharArray())[0]);
+
+			var res3 = TileResource.MakeRaster(_tileId, "https://api.mapbox.com/styles/v1/penny/penny-map/tiles");
+			Assert.AreEqual(_api + "styles/v1/penny/penny-map/tiles/0/0/0", res3.GetUrl().Split("?".ToCharArray())[0]);
+		}
+
+
+		[Test]
+		public void GetUrlClassicRaster()
+		{
+			var res1 = TileResource.MakeClassicRaster(_tileId, null);
+			Assert.AreEqual(_api + "v4/mapbox.satellite/0/0/0.png", res1.GetUrl().Split("?".ToCharArray())[0]);
+
+			var res2 = TileResource.MakeClassicRaster(_tileId, "foobar");
+			Assert.AreEqual(_api + "v4/foobar/0/0/0.png", res2.GetUrl().Split("?".ToCharArray())[0]);
+
+			var res3 = TileResource.MakeClassicRaster(_tileId, "test");
+			Assert.AreEqual(_api + "v4/test/0/0/0.png", res3.GetUrl().Split("?".ToCharArray())[0]);
+		}
+
+		[Test]
+		public void GetUrlVector()
+		{
+			var res1 = TileResource.MakeVector(_tileId, null);
+			Assert.AreEqual(_api + "v4/mapbox.mapbox-streets-v7/0/0/0.vector.pbf", res1.GetUrl().Split("?".ToCharArray())[0]);
+
+			var res2 = TileResource.MakeVector(_tileId, "foobar");
+			Assert.AreEqual(_api + "v4/foobar/0/0/0.vector.pbf", res2.GetUrl().Split("?".ToCharArray())[0]);
+
+			var res3 = TileResource.MakeVector(_tileId, "test");
+			Assert.AreEqual(_api + "v4/test/0/0/0.vector.pbf", res3.GetUrl().Split("?".ToCharArray())[0]);
+		}
+
+
+
+	}
+}
+
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileResource.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileResource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3041526ec0b332a817fff9c780f6c688d95b142d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_TileResource.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a7052b373a72748da8c09b8288e433fc
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Token.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Token.cs
new file mode 100644
index 0000000000000000000000000000000000000000..35887916c86180262df0f729545fccbba7906ca1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Token.cs
@@ -0,0 +1,109 @@
+//-----------------------------------------------------------------------
+// <copyright file="TokenTest.cs" company="Mapbox">
+//     Copyright (c) 2017 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+using System;
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+
+	using Mapbox.Tokens;
+	using Mapbox.Unity;
+	using NUnit.Framework;
+	using System.Collections;
+	using UnityEngine.TestTools;
+
+
+	[TestFixture]
+	internal class TokenTest
+	{
+
+
+		private MapboxTokenApi _tokenApi;
+		private string _configAccessToken;
+		private Func<string> _configSkuToken;
+
+		[SetUp]
+		public void SetUp()
+		{
+			_tokenApi = new MapboxTokenApi();
+			_configAccessToken = MapboxAccess.Instance.Configuration.AccessToken;
+			_configSkuToken = MapboxAccess.Instance.Configuration.GetMapsSkuToken;
+		}
+
+
+		[UnityTest]
+		public IEnumerator RetrieveConfigToken()
+		{
+
+			MapboxToken token = null;
+
+			_tokenApi.Retrieve(
+				_configSkuToken,
+				_configAccessToken,
+				(MapboxToken tok) =>
+				{
+					token = tok;
+				}
+			);
+
+			while (null == token) { yield return null; }
+
+			Assert.IsNull(token.ErrorMessage);
+			Assert.IsFalse(token.HasError);
+			Assert.AreEqual(MapboxTokenStatus.TokenValid, token.Status, "Config token is not valid");
+		}
+
+
+		[UnityTest]
+		public IEnumerator TokenMalformed()
+		{
+
+			MapboxToken token = null;
+
+			_tokenApi.Retrieve(
+				_configSkuToken,
+				"yada.yada",
+				(MapboxToken tok) =>
+				{
+					token = tok;
+				}
+			);
+
+			while (null == token) { yield return null; }
+
+			Assert.IsNull(token.ErrorMessage);
+			Assert.IsFalse(token.HasError);
+			Assert.AreEqual(MapboxTokenStatus.TokenMalformed, token.Status, "token is malformed");
+		}
+
+
+		[UnityTest]
+		public IEnumerator TokenInvalid()
+		{
+
+			MapboxToken token = null;
+
+			_tokenApi.Retrieve(
+				_configSkuToken,
+				"pk.12345678901234567890123456789012345.0123456789012345678901",
+				(MapboxToken tok) =>
+				{
+					token = tok;
+				}
+			);
+
+			while (null == token) { yield return null; }
+
+			Assert.IsNull(token.ErrorMessage);
+			Assert.IsFalse(token.HasError);
+			Assert.AreEqual(MapboxTokenStatus.TokenInvalid, token.Status, "token is invalid");
+
+		}
+
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Token.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Token.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8883b8cc035256c047abbb8bfd53f4ff9d8afae8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Token.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 067fbf2b171d0d24fb888953affd5740
+timeCreated: 1512087400
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Utils.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Utils.cs
new file mode 100644
index 0000000000000000000000000000000000000000..31daea86e6d3d3340b33b9441a1f96fd369f259f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Utils.cs
@@ -0,0 +1,82 @@
+//-----------------------------------------------------------------------
+// <copyright file="Utils.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using System.Collections.Generic;
+	using Mapbox.Map;
+
+
+	internal static class Utils
+	{
+		internal class VectorMapObserver : Mapbox.Utils.IObserver<VectorTile>
+		{
+			private List<VectorTile> tiles = new List<VectorTile>();
+
+			public List<VectorTile> Tiles
+			{
+				get
+				{
+					return tiles;
+				}
+			}
+
+			public void OnNext(VectorTile tile)
+			{
+				if (tile.CurrentState == Tile.State.Loaded)
+				{
+					tiles.Add(tile);
+				}
+			}
+		}
+
+		internal class RasterMapObserver : Mapbox.Utils.IObserver<RasterTile>
+		{
+			private List<byte[]> tiles = new List<byte[]>();
+
+			public List<byte[]> Tiles
+			{
+				get
+				{
+					return tiles;
+				}
+			}
+
+			public void OnNext(RasterTile tile)
+			{
+				if (tile.CurrentState == Tile.State.Loaded && !tile.HasError)
+				{
+					tiles.Add(tile.Data);
+				}
+			}
+		}
+
+		internal class ClassicRasterMapObserver : Mapbox.Utils.IObserver<ClassicRasterTile>
+		{
+			private List<byte[]> tiles = new List<byte[]>();
+
+			public List<byte[]> Tiles
+			{
+				get
+				{
+					return tiles;
+				}
+			}
+
+			public void OnNext(ClassicRasterTile tile)
+			{
+				if (tile.CurrentState == Tile.State.Loaded && !tile.HasError)
+				{
+					tiles.Add(tile.Data);
+				}
+			}
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Utils.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Utils.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f65b619f27434f68356f291a0b15c9dad9311dfc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_Utils.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e6a3a4a684cc64e609e83b2b547a9e82
+timeCreated: 1498231547
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_VectorTile.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_VectorTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9f541b97f25ae454c2219aef5af211e3d5315d92
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_VectorTile.cs
@@ -0,0 +1,138 @@
+//-----------------------------------------------------------------------
+// <copyright file="VectorTileTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+#if UNITY_5_6_OR_NEWER
+
+
+namespace Mapbox.MapboxSdkCs.UnitTest
+{
+
+	using System.Linq;
+	using Mapbox.Map;
+	using Mapbox.Platform;
+	using Mapbox.Utils;
+	using NUnit.Framework;
+#if UNITY_5_6_OR_NEWER
+	using UnityEngine.TestTools;
+	using System.Collections;
+#endif
+
+
+	[TestFixture]
+	internal class VectorTileTest
+	{
+
+
+		private FileSource _fs;
+
+
+		[SetUp]
+		public void SetUp()
+		{
+#if UNITY_5_6_OR_NEWER
+			_fs = new FileSource(Unity.MapboxAccess.Instance.Configuration.GetMapsSkuToken, Unity.MapboxAccess.Instance.Configuration.AccessToken);
+#else
+			// when run outside of Unity FileSource gets the access token from environment variable 'MAPBOX_ACCESS_TOKEN'
+			_fs = new FileSource();
+#endif
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator ParseSuccess()
+#else
+		[Test]
+		public void ParseSuccess()
+#endif
+		{
+			var map = new Map<VectorTile>(_fs);
+
+			var mapObserver = new Utils.VectorMapObserver();
+			map.Subscribe(mapObserver);
+
+			// Helsinki city center.
+			map.Center = new Vector2d(60.163200, 24.937700);
+
+			for (int zoom = 15; zoom > 0; zoom--)
+			{
+				map.Zoom = zoom;
+				map.Update();
+#if UNITY_5_6_OR_NEWER
+				IEnumerator enumerator = _fs.WaitForAllRequests();
+				while (enumerator.MoveNext()) { yield return null; }
+#else
+				_fs.WaitForAllRequests();
+#endif
+			}
+
+			// We must have all the tiles for Helsinki from 0-15.
+			Assert.AreEqual(15, mapObserver.Tiles.Count);
+
+			foreach (var tile in mapObserver.Tiles)
+			{
+				Assert.Greater(tile.LayerNames().Count, 0, "Tile contains at least one layer");
+				Mapbox.VectorTile.VectorTileLayer layer = tile.GetLayer("water");
+				Assert.NotNull(layer, "Tile contains 'water' layer. Layers: {0}", string.Join(",", tile.LayerNames().ToArray()));
+				Assert.Greater(layer.FeatureCount(), 0, "Water layer has features");
+				Mapbox.VectorTile.VectorTileFeature feature = layer.GetFeature(0);
+				Assert.Greater(feature.Geometry<long>().Count, 0, "Feature has geometry");
+				Assert.Greater(tile.GeoJson.Length, 1000);
+			}
+
+			map.Unsubscribe(mapObserver);
+		}
+
+
+
+#if UNITY_5_6_OR_NEWER
+		[UnityTest]
+		public IEnumerator SeveralTiles()
+#else
+		[Test]
+		public void ParseSuccess
+#endif
+		{
+			var map = new Map<VectorTile>(_fs);
+
+			var mapObserver = new Utils.VectorMapObserver();
+			map.Subscribe(mapObserver);
+
+			map.Vector2dBounds = Vector2dBounds.World();
+			map.Zoom = 3; // 64 tiles.
+			map.Update();
+
+#if UNITY_5_6_OR_NEWER
+			IEnumerator enumerator = _fs.WaitForAllRequests();
+			while (enumerator.MoveNext()) { yield return null; }
+#else
+			_fs.WaitForAllRequests();
+#endif
+
+			Assert.AreEqual(64, mapObserver.Tiles.Count);
+
+			foreach (var tile in mapObserver.Tiles)
+			{
+				if (!tile.HasError)
+				{
+					Assert.Greater(tile.GeoJson.Length, 41);
+				}
+				else
+				{
+					Assert.GreaterOrEqual(tile.Exceptions.Count, 1, "not set enough exceptions set on 'Tile'");
+				}
+			}
+
+			map.Unsubscribe(mapObserver);
+		}
+
+
+	}
+}
+
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_VectorTile.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_VectorTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..26de42043b595d16397d256f9891f72c0e444c13
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tests/UnitTests/Editor/MapboxUnitTests_VectorTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1b9319977dcf54a1d9f78833a2490004
+timeCreated: 1498231546
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d05a45626e64b6ccf978314f78d4fbd972716b6c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d8b4380d992e2d14e8b200746856fbf0
+folderAsset: yes
+timeCreated: 1512083717
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxToken.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxToken.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8c3475fa1fed93b68cb573b46c2d84d9c490b85c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxToken.cs
@@ -0,0 +1,142 @@
+
+namespace Mapbox.Tokens
+{
+
+	using Mapbox.Json;
+	using System;
+	using System.Text;
+
+
+	/// <summary>
+	/// Mapbox Token: https://www.mapbox.com/api-documentation/accounts/#retrieve-a-token
+	/// </summary>
+	public class MapboxToken
+	{
+
+		/// <summary>String representation of the token' status </summary>
+		[JsonProperty("code")]
+		public string Code;
+
+
+		/// <summary>Token metadata</summary>
+		[JsonProperty("token")]
+		public TokenMetadata TokenMetadata;
+
+
+		/// <summary>Parsed token status from 'code'</summary>
+		[JsonIgnore]
+		public MapboxTokenStatus Status = MapboxTokenStatus.StatusNotYetSet;
+
+
+		/// <summary>True if there was an error during requesting or parsing the token</summary>
+		[JsonIgnore]
+		public bool HasError;
+
+
+		/// <summary>Error message if the token could not be requested or parsed</summary>
+		[JsonIgnore]
+		public string ErrorMessage;
+
+
+		public static MapboxToken FromResponseData(byte[] data)
+		{
+
+			if (null == data || data.Length < 1)
+			{
+				return new MapboxToken()
+				{
+					HasError = true,
+					ErrorMessage = "No data received from token endpoint."
+				};
+			}
+
+
+			string jsonTxt = Encoding.UTF8.GetString(data);
+
+			MapboxToken token = new MapboxToken();
+			try
+			{
+				token = JsonConvert.DeserializeObject<MapboxToken>(jsonTxt);
+
+				MapboxTokenStatus status = (MapboxTokenStatus)Enum.Parse(typeof(MapboxTokenStatus), token.Code);
+				if (!Enum.IsDefined(typeof(MapboxTokenStatus), status))
+				{
+					throw new Exception(string.Format("could not convert token.code '{0}' to MapboxTokenStatus", token.Code));
+				}
+
+				token.Status = status;
+			}
+			catch (Exception ex)
+			{
+				token.HasError = true;
+				token.ErrorMessage = ex.Message;
+			}
+
+			return token;
+		}
+	}
+
+
+
+
+
+	/// <summary>
+	/// Every token has a metadata object that contains information about the capabilities of the token.
+	/// https://www.mapbox.com/api-documentation/accounts/#token-metadata-object
+	/// </summary>
+	public class TokenMetadata
+	{
+
+		/// <summary>the identifier for the token</summary>
+		[JsonProperty("id")]
+		public string ID;
+
+
+		/// <summary>the type of token</summary>
+		[JsonProperty("usage")]
+		public string Usage;
+
+
+		/// <summary>if the token is a default token</summary>
+		[JsonProperty("default")]
+		public bool Default;
+
+
+		/// <summary></summary>
+		[JsonProperty("user")]
+		public string User;
+
+
+		/// <summary></summary>
+		[JsonProperty("authorization")]
+		public string Authorization;
+
+
+		/// <summary>date and time the token was created</summary>
+		[JsonProperty("created")]
+		public string Created;
+
+
+		/// <summary>date and time the token was last modified</summary>
+		[JsonProperty("modified")]
+		public string Modified;
+
+
+		/// <summary>array of scopes granted to the token</summary>
+		[JsonProperty("scopes")]
+		public string[] Scopes;
+
+
+		/// <summary>the client for the token, always 'api'</summary>
+		[JsonProperty("client")]
+		public string Client;
+
+
+		/// <summary>the token itself</summary>
+		[JsonProperty("token")]
+		public string Token;
+	}
+
+
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxToken.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxToken.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9e3656065ad2b2854d1c7d7d58d76e81ed56aaf9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxToken.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6ac4a9ce5130afa49a675b6b40b746f3
+timeCreated: 1512084369
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxTokenApi.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxTokenApi.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c50a508562d7bbfe8d882f2424d73f75771c23f6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxTokenApi.cs
@@ -0,0 +1,80 @@
+
+
+using Mapbox.Unity;
+
+namespace Mapbox.Tokens
+{
+
+
+	using Mapbox.Platform;
+	using System;
+	using System.ComponentModel;
+	using Mapbox.VectorTile.Geometry;
+
+	public enum MapboxTokenStatus
+	{
+		/// <summary>The token is valid and active </summary>
+		[Description("The token is valid and active")]
+		TokenValid,
+		/// <summary>the token can not be parsed </summary>
+		[Description("the token can not be parsed")]
+		TokenMalformed,
+		/// <summary>the signature for the token does not validate </summary>
+		[Description("the signature for the token does not validate")]
+		TokenInvalid,
+		/// <summary> the token was temporary and expired</summary>
+		[Description("the token was temporary and expired")]
+		TokenExpired,
+		/// <summary>the token's authorization has been revoked </summary>
+		[Description("the token's authorization has been revoked")]
+		TokenRevoked,
+		/// <summary>inital value </summary>
+		StatusNotYetSet
+	}
+
+
+	/// <summary>
+	/// Wrapper class to retrieve details about a token
+	/// </summary>
+	public class MapboxTokenApi
+	{
+
+		public MapboxTokenApi() { }
+
+
+		// use internal FileSource without(!) passing access token from config into constructor
+		// otherwise access token would be appended to url twice
+		// https://www.mapbox.com/api-documentation/accounts/#retrieve-a-token
+		// if we should ever implement other API methods: creating, deleting, updating ... tokens
+		// we will need another FileSource with the token from the config
+		private FileSource _fs;
+
+
+		public void Retrieve(Func<string> skuToken, string accessToken, Action<MapboxToken> callback)
+		{
+			if (_fs == null)
+			{
+				_fs = new FileSource(skuToken);
+			}
+
+			_fs.Request(
+				Utils.Constants.BaseAPI + "tokens/v2?access_token=" + accessToken,
+				(Response response) =>
+				{
+					if (response.HasError)
+					{
+						callback(new MapboxToken()
+						{
+							HasError = true,
+							ErrorMessage = response.ExceptionsAsString
+						});
+						return;
+
+					}
+					callback(MapboxToken.FromResponseData(response.Data));
+				}
+			);
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxTokenApi.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxTokenApi.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8e925efc8ee9a530efd589c79e567c9feb1391cf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Tokens/MapboxTokenApi.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 048525bbaeb7aaa41b37e458c98090ee
+timeCreated: 1512083739
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1fe76227b0b0ae006039cf2f8d2d556575765863
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ec7827c37b22345e6ac27185e2f3aa06
+folderAsset: yes
+timeCreated: 1491243031
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/BearingFilter.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/BearingFilter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c96d026ea1311c9407874e31ebc658e0c8262d86
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/BearingFilter.cs
@@ -0,0 +1,59 @@
+//-----------------------------------------------------------------------
+// <copyright file="BearingFilter.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils
+{
+	using System;
+
+	/// <summary> 
+	///     Represents a bearing filter, composed of a bearing in decimal angular degrees, with a +/- range 
+	///     also in angular degrees. 
+	/// </summary>
+	public struct BearingFilter
+	{
+		/// <summary> A decimal degree between 0 and 360. </summary>
+		public double? Bearing;
+
+		/// <summary> 
+		///     A decimal degree between 0 and 180. Represents the range  
+		///     beyond bearing in both directions. 
+		/// </summary>
+		public double? Range;
+
+		/// <summary> Initializes a new instance of the <see cref="BearingFilter" /> struct. </summary>
+		/// <param name="bearing"> A decimal degree between 0 and 360, or null. </param>
+		/// <param name="range"> A decimal degree between 0 and 180, or null. </param>
+		public BearingFilter(double? bearing, double? range)
+		{
+			if (bearing != null && (bearing > 360 || bearing < 0))
+			{
+				throw new Exception("Bearing must be greater than 0 and less than 360.");
+			}
+
+			if (bearing != null && (range > 180 || range < 0))
+			{
+				throw new Exception("Range must be greater than 0 and less than 180.");
+			}
+
+			this.Bearing = bearing;
+			this.Range = range;
+		}
+
+		/// <summary> Converts bearing to a URL snippet. </summary>
+		/// <returns> Returns a string for use in a Mapbox query URL. </returns>
+		public override string ToString()
+		{
+			if (this.Bearing != null && this.Range != null)
+			{
+				return this.Bearing.ToString() + "," + this.Range.ToString();
+			}
+			else
+			{
+				return string.Empty;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/BearingFilter.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/BearingFilter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..db7fc3671b91a42dc67164e7e4cbe7a7107b1da3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/BearingFilter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 62331eb3e8b654367ab8e0339c5d8905
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/CircularBuffer.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/CircularBuffer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..90916b0c919d1b9c3458669b08ac4c749c06568b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/CircularBuffer.cs
@@ -0,0 +1,108 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Mapbox.Utils
+{
+
+
+	public interface ICircularBuffer<T>
+	{
+		int Count { get; }
+		void Add(T item);
+		T this[int index] { get; }
+	}
+
+
+
+	/// <summary>
+	/// http://geekswithblogs.net/blackrob/archive/2014/09/01/circular-buffer-in-c.aspx
+	/// https://social.msdn.microsoft.com/Forums/vstudio/en-US/416a2175-b05d-43b1-b99a-a01c56550dbe/circular-buffer-in-net?forum=netfxbcl
+	/// https://en.wikipedia.org/wiki/Circular_buffer
+	/// </summary>
+	/// <typeparam name="T"></typeparam>
+	public class CircularBuffer<T> : ICircularBuffer<T>, IEnumerable<T>
+
+	{
+		private T[] _buffer;
+		private int _head;
+		private int _tail;
+
+
+		public CircularBuffer(int capacity)
+		{
+			if (capacity < 0) { throw new ArgumentOutOfRangeException("capacity", "must be positive"); }
+			_buffer = new T[capacity];
+			_head = 0;
+		}
+
+
+		public int Count { get; private set; }
+
+
+		public void Add(T item)
+		{
+			_head = (_head + 1) % _buffer.Length;
+			_buffer[_head] = item;
+			if (Count == _buffer.Length)
+			{
+				_tail = (_tail + 1) % _buffer.Length;
+			}
+			else
+			{
+				++Count;
+			}
+		}
+
+
+		/// <summary>
+		/// <para>ATTENTION!!! order is flipped like in rolling window</para>
+		/// <para>[0] is newest value</para>
+		/// </summary>
+		/// <param name="index"></param>
+		/// <returns></returns>
+		public T this[int index]
+		{
+			get
+			{
+				if (index < 0 || index >= _buffer.Length) { throw new ArgumentOutOfRangeException("index: " + index.ToString()); }
+
+				return _buffer[mod((_head - index), _buffer.Length)];
+			}
+		}
+
+
+		private int mod(int x, int m) // x mod m works for both positive and negative x (unlike x % m).
+		{
+			return (x % m + m) % m;
+		}
+
+		public IEnumerator<T> GetEnumerator()
+		{
+			if (Count == 0 || _buffer.Length == 0)
+			{
+				yield break;
+			}
+
+			for (var i = 0; i < Count; ++i) { yield return this[i]; }
+		}
+
+		IEnumerator IEnumerable.GetEnumerator()
+		{
+			return GetEnumerator();
+		}
+
+
+		public IEnumerable<T> GetEnumerable()
+		{
+			IEnumerator<T> enumerator = GetEnumerator();
+			while (enumerator.MoveNext())
+			{
+				yield return enumerator.Current;
+			}
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/CircularBuffer.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/CircularBuffer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d3518bd01850446d75c8a6acbc77e3794701f9f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/CircularBuffer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: bfee2b258d221f741a76c90caaa027db
+timeCreated: 1524828267
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Compression.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Compression.cs
new file mode 100644
index 0000000000000000000000000000000000000000..71f52d18bc3def73b37cd4ee805c3597e02f40be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Compression.cs
@@ -0,0 +1,102 @@
+//-----------------------------------------------------------------------
+// <copyright file="Compression.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils
+{
+
+	using System.IO;
+	using Mapbox.IO.Compression;
+
+
+	/// <summary> Collection of constants used across the project. </summary>
+	public static class Compression
+	{
+		/// <summary>
+		///     Decompress the specified buffer previously compressed using GZip.
+		/// </summary>
+		/// <param name="buffer">
+		///     The GZip'ed buffer.
+		/// </param>
+		/// <returns>
+		///     Returns the uncompressed buffer or the buffer in case decompression
+		///     is not possible.
+		/// </returns>
+		public static byte[] Decompress(byte[] buffer)
+		{
+			// Test for magic bits.
+			if (buffer.Length < 2 || buffer[0] != 0x1f || buffer[1] != 0x8b)
+			{
+				return buffer;
+			}
+
+			using (GZipStream stream = new GZipStream(new MemoryStream(buffer), CompressionMode.Decompress))
+			{
+				const int Size = 4096; // Pagesize.
+				byte[] buf = new byte[Size];
+
+				using (MemoryStream memory = new MemoryStream())
+				{
+					int count = 0;
+
+					do
+					{
+						try
+						{
+							count = stream.Read(buf, 0, Size);
+						}
+						catch
+						{
+							// For now we return the uncompressed buffer
+							// on error. Assumes the magic check passed
+							// by luck.
+							return buffer;
+						}
+
+						if (count > 0)
+						{
+							memory.Write(buf, 0, count);
+						}
+					}
+					while (count > 0);
+
+					buffer = memory.ToArray();
+				}
+			}
+
+			return buffer;
+		}
+
+
+		public static byte[] Compress(byte[] raw, CompressionLevel compressionLevel)
+		{
+			using (MemoryStream memory = new MemoryStream())
+			{
+				using (GZipStream gzip = new GZipStream(memory, compressionLevel))
+				{
+					gzip.Write(raw, 0, raw.Length);
+				}
+				return memory.ToArray();
+			}
+		}
+
+		public static byte[] CompressModeCompress(byte[] raw)
+		{
+			using (MemoryStream memory = new MemoryStream())
+			{
+				using (GZipStream gzip = new GZipStream(memory, CompressionMode.Compress, true))
+				{
+					gzip.Write(raw, 0, raw.Length);
+				}
+				return memory.ToArray();
+			}
+		}
+
+
+
+
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Compression.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Compression.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..14d9513c8b70d350d49df993feb7b5e94c7a6e9a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Compression.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d9e429703576740d18a04c9209e91364
+timeCreated: 1491243035
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Constants.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Constants.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3d771d078768f3c487a132955ebd718439b50c86
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Constants.cs
@@ -0,0 +1,30 @@
+//-----------------------------------------------------------------------
+// <copyright file="Constants.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils
+{
+	/// <summary> Collection of constants used across the project. </summary>
+	public static class Constants
+	{
+		/// <summary> Base URL for all the Mapbox APIs. </summary>
+		public const string BaseAPI = "https://api.mapbox.com/";
+
+		public const string EventsAPI = "https://events.mapbox.com/";
+
+		/// <summary> Mercator projection max latitude limit. </summary>
+		public const double LatitudeMax = 85.0511;
+
+		/// <summary> Mercator projection max longitude limit. </summary>
+		public const double LongitudeMax = 180;
+
+		/// <summary> Mercator projection max meters</summary>
+		public const double WebMercMax = 20037508.342789244;
+
+		/// <summary> Epsilon to comapre floating point numbers</summary>
+		public const float EpsilonFloatingPoint = 1E-05f;
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Constants.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Constants.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..171e636b1c724ae3463917458f8c5556e000762a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Constants.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8ca3d2784c960430588fbe21ea681744
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/GeoCoordinateBounds.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/GeoCoordinateBounds.cs
new file mode 100644
index 0000000000000000000000000000000000000000..efcd7703fe2c16a7f5182ccf71658c4b5b9786ea
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/GeoCoordinateBounds.cs
@@ -0,0 +1,173 @@
+//-----------------------------------------------------------------------
+// <copyright file="Vector2dBounds.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils
+{
+	/// <summary> Represents a bounding box derived from a southwest corner and a northeast corner. </summary>
+	public struct Vector2dBounds
+	{
+		/// <summary> Southwest corner of bounding box. </summary>
+		public Vector2d SouthWest;
+
+		/// <summary> Northeast corner of bounding box. </summary>
+		public Vector2d NorthEast;
+
+		/// <summary> Initializes a new instance of the <see cref="Vector2dBounds" /> struct. </summary>
+		/// <param name="sw"> Geographic coordinate representing southwest corner of bounding box. </param>
+		/// <param name="ne"> Geographic coordinate representing northeast corner of bounding box. </param>
+		public Vector2dBounds(Vector2d sw, Vector2d ne)
+		{
+			this.SouthWest = sw;
+			this.NorthEast = ne;
+		}
+
+		/// <summary> Gets the south latitude. </summary>
+		/// <value> The south latitude. </value>
+		public double South {
+			get {
+				return this.SouthWest.x;
+			}
+		}
+
+		/// <summary> Gets the west longitude. </summary>
+		/// <value> The west longitude. </value>
+		public double West {
+			get {
+				return this.SouthWest.y;
+			}
+		}
+
+		/// <summary> Gets the north latitude. </summary>
+		/// <value> The north latitude. </value>
+		public double North {
+			get {
+				return this.NorthEast.x;
+			}
+		}
+
+		/// <summary> Gets the east longitude. </summary>
+		/// <value> The east longitude. </value>
+		public double East {
+			get {
+				return this.NorthEast.y;
+			}
+		}
+
+		/// <summary>
+		///     Gets or sets the central coordinate of the bounding box. When
+		///     setting a new center, the bounding box will retain its original size.
+		/// </summary>
+		/// <value> The central coordinate. </value>
+		public Vector2d Center {
+			get {
+				var lat = (this.SouthWest.x + this.NorthEast.x) / 2;
+				var lng = (this.SouthWest.y + this.NorthEast.y) / 2;
+
+				return new Vector2d(lat, lng);
+			}
+
+			set {
+				var lat = (this.NorthEast.x - this.SouthWest.x) / 2;
+				this.SouthWest.x = value.x - lat;
+				this.NorthEast.x = value.x + lat;
+
+				var lng = (this.NorthEast.y - this.SouthWest.y) / 2;
+				this.SouthWest.y = value.y - lng;
+				this.NorthEast.y = value.y + lng;
+			}
+		}
+
+		/// <summary>
+		///     Creates a bound from two arbitrary points. Contrary to the constructor,
+		///     this method always creates a non-empty box.
+		/// </summary>
+		/// <param name="a"> The first point. </param>
+		/// <param name="b"> The second point. </param>
+		/// <returns> The convex hull. </returns>
+		public static Vector2dBounds FromCoordinates(Vector2d a, Vector2d b)
+		{
+			var bounds = new Vector2dBounds(a, a);
+			bounds.Extend(b);
+
+			return bounds;
+		}
+
+		/// <summary> A bounding box containing the world. </summary>
+		/// <returns> The world bounding box. </returns>
+		public static Vector2dBounds World()
+		{
+			var sw = new Vector2d(-90, -180);
+			var ne = new Vector2d(90, 180);
+
+			return new Vector2dBounds(sw, ne);
+		}
+
+		/// <summary> Extend the bounding box to contain the point. </summary>
+		/// <param name="point"> A geographic coordinate. </param>
+		public void Extend(Vector2d point)
+		{
+			if (point.x < this.SouthWest.x)
+			{
+				this.SouthWest.x = point.x;
+			}
+
+			if (point.x > this.NorthEast.x)
+			{
+				this.NorthEast.x = point.x;
+			}
+
+			if (point.y < this.SouthWest.y)
+			{
+				this.SouthWest.y = point.y;
+			}
+
+			if (point.y > this.NorthEast.y)
+			{
+				this.NorthEast.y = point.y;
+			}
+		}
+
+		/// <summary> Extend the bounding box to contain the bounding box. </summary>
+		/// <param name="bounds"> A bounding box. </param>
+		public void Extend(Vector2dBounds bounds)
+		{
+			this.Extend(bounds.SouthWest);
+			this.Extend(bounds.NorthEast);
+		}
+
+		/// <summary> Whenever the geographic bounding box is empty. </summary>
+		/// <returns> <c>true</c>, if empty, <c>false</c> otherwise. </returns>
+		public bool IsEmpty()
+		{
+			return this.SouthWest.x > this.NorthEast.x ||
+					   this.SouthWest.y > this.NorthEast.y;
+		}
+
+		/// <summary>
+		/// Converts to an array of doubles.
+		/// </summary>
+		/// <returns>An array of coordinates.</returns>
+		public double[] ToArray()
+		{
+			double[] array =
+			{
+				this.SouthWest.x,
+				this.SouthWest.y,
+				this.NorthEast.x,
+				this.NorthEast.y
+			};
+
+			return array;
+		}
+
+		/// <summary> Converts the Bbox to a URL snippet. </summary>
+		/// <returns> Returns a string for use in a Mapbox query URL. </returns>
+		public override string ToString()
+		{
+			return string.Format("{0},{1}", this.SouthWest.ToString(), this.NorthEast.ToString());
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/GeoCoordinateBounds.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/GeoCoordinateBounds.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d7c837e2392cef342272839c550429eac583ab7f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/GeoCoordinateBounds.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8e1bb77e9b97c4e3e942735be5df9370
+timeCreated: 1493833265
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObservable.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObservable.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0725808c1d95a3e36ac80d2e0922e446fef1eba0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObservable.cs
@@ -0,0 +1,25 @@
+//-----------------------------------------------------------------------
+// <copyright file="IObservable.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils
+{
+	/// <summary>
+	///     An observable interface, similar to .NET 4.0 own IObservable.
+	/// </summary>
+	/// <typeparam name="T">
+	///     The data being observed.
+	/// </typeparam>
+	public interface IObservable<T>
+	{
+		/// <summary> Add an <see cref="T:IObserver" /> to the observer list. </summary>
+		/// <param name="observer"> The object subscribing to events. </param>
+		void Subscribe(Mapbox.Utils.IObserver<T> observer);
+
+		/// <summary> Remove an <see cref="T:IObserver" /> to the observer list. </summary>
+		/// <param name="observer"> The object unsubscribing to events. </param>
+        void Unsubscribe(Mapbox.Utils.IObserver<T> observer);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObservable.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObservable.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e4b20c8ec8a4a26810a65e7d0df928483d3ffccd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObservable.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9a29c46baf3924f1b9d848459974aedb
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObserver.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObserver.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ed6e3e3e64c0b18620ee502fe949073e035f0f9a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObserver.cs
@@ -0,0 +1,21 @@
+//-----------------------------------------------------------------------
+// <copyright file="IObserver.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils
+{
+	/// <summary>
+	///     An observer interface, similar to .NET 4.0 own IObserver.
+	/// </summary>
+	/// <typeparam name="T">
+	///     The data being observed.
+	/// </typeparam>
+	public interface IObserver<T>
+	{
+		/// <summary> The <see cref="T:Observable" /> has updated the data. </summary>
+		/// <param name="next"> The data that has changed. </param>
+		void OnNext(T next);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObserver.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObserver.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..72416c9cd62c49be6db085805097246a9cf03167
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/IObserver.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 3c13777d23b1144809002930214eed99
+timeCreated: 1491243034
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters.meta
new file mode 100644
index 0000000000000000000000000000000000000000..24828dd4475580ca6a965e09dbcbbe43535b8c24
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bbed14c6a96bc4fba8b89885ba5f1724
+folderAsset: yes
+timeCreated: 1491243031
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/BboxToGeoCoordinateBoundsConverter.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/BboxToGeoCoordinateBoundsConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ed0ad72020575be3fe486dc8530788ff0176fbbc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/BboxToGeoCoordinateBoundsConverter.cs
@@ -0,0 +1,80 @@
+//-----------------------------------------------------------------------
+// <copyright file="BboxToVector2dBoundsConverter.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils.JsonConverters
+{
+	using System;
+	using Mapbox.Json;
+	using Mapbox.Json.Converters;
+	using Mapbox.Json.Linq;
+
+	/// <summary>
+	/// Bbox to geo coordinate bounds converter.
+	/// </summary>
+	public class BboxToVector2dBoundsConverter : CustomCreationConverter<Vector2dBounds>
+	{
+		/// <summary>
+		/// Gets a value indicating whether this <see cref="T:Mapbox.BboxToVector2dBoundsConverter"/> can write.
+		/// </summary>
+		/// <value><c>true</c> if can write; otherwise, <c>false</c>.</value>
+		public override bool CanWrite {
+			get { return true; }
+		}
+
+		/// <summary>
+		/// Create the specified objectType.
+		/// </summary>
+		/// <param name="objectType">Object type.</param>
+		/// <returns>A <see cref="Vector2dBounds"/>.</returns>
+		public override Vector2dBounds Create(Type objectType)
+		{
+			throw new NotImplementedException();
+		}
+
+		/// <summary>
+		/// Create the specified objectType and jArray.
+		/// </summary>
+		/// <param name="objectType">Object type.</param>
+		/// <param name="val">J array.</param>
+		/// <returns>A <see cref="Vector2dBounds"/>.</returns>
+		public Vector2dBounds Create(Type objectType, JArray val)
+		{
+			return new Vector2dBounds(
+				new Vector2d((double)val[0], (double)val[1]),
+				new Vector2d((double)val[2], (double)val[3]));
+		}
+
+		/// <summary>
+		/// Reads the json.
+		/// </summary>
+		/// <returns>The serialized object.</returns>
+		/// <param name="reader">A reader.</param>
+		/// <param name="objectType">Object type.</param>
+		/// <param name="existingValue">Existing value.</param>
+		/// <param name="serializer">A <see cref="JsonSerializer"/>.</param>
+		public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
+		{
+			JArray bbox = JArray.Load(reader);
+
+			return Create(objectType, bbox);
+		}
+
+		/// <summary>
+		/// Writes the JSON as an array.
+		/// </summary>
+		/// <param name="writer">A <see cref="JsonWriter"/>.</param>
+		/// <param name="value">The value to serialize.</param>
+		/// <param name="serializer">A <see cref="JsonSerializer"/>.</param>
+		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
+		{
+			var val = (Vector2dBounds)value;
+
+			// TODO: This is not working correctly, and setting "bbox: [0,0,0,0]" to Vector2d properties for some reason. 
+			System.Diagnostics.Debug.WriteLine(val);
+			serializer.Serialize(writer, val.ToArray());
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/BboxToGeoCoordinateBoundsConverter.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/BboxToGeoCoordinateBoundsConverter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..44d817061dacdee264fb343d3a0982e5c3b96433
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/BboxToGeoCoordinateBoundsConverter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 382bc19f5f34f4f14985294dbd8d4f73
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/JsonConverters.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/JsonConverters.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3e8fe5538a68ecd284209bd85ad886a10744162c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/JsonConverters.cs
@@ -0,0 +1,36 @@
+//-----------------------------------------------------------------------
+// <copyright file="JsonConverters.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils.JsonConverters
+{
+	using Mapbox.Json;
+
+	/// <summary>
+	/// Custom json converters.
+	/// </summary>
+	public static class JsonConverters
+	{
+		/// <summary>
+		/// Array of converters.
+		/// </summary>
+		private static JsonConverter[] converters =
+		{
+			new LonLatToVector2dConverter(),
+			new BboxToVector2dBoundsConverter(),
+			new PolylineToVector2dListConverter()
+		};
+
+		/// <summary>
+		/// Gets the converters.
+		/// </summary>
+		/// <value>The converters.</value>
+		public static JsonConverter[] Converters {
+			get {
+				return converters;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/JsonConverters.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/JsonConverters.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bf37eb8f0549ec2a1a5a0154a42419457c0794a9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/JsonConverters.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f95c54018d5ac404bbe0b84d5dc3ab9a
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/LonLatToGeoCoordinateConverter.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/LonLatToGeoCoordinateConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..72fc61c796d301df9dcb5f29ae75461d24e35473
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/LonLatToGeoCoordinateConverter.cs
@@ -0,0 +1,83 @@
+//-----------------------------------------------------------------------
+// <copyright file="LonLatToVector2dConverter.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils.JsonConverters
+{
+	using System;
+	using Mapbox.Json;
+	using Mapbox.Json.Converters;
+	using Mapbox.Json.Linq;
+
+	/// <summary>
+	/// Bbox to geo coordinate bounds converter.
+	/// </summary>
+	public class LonLatToVector2dConverter : CustomCreationConverter<Vector2d>
+	{
+		/// <summary>
+		/// Gets a value indicating whether this <see cref="T:Mapbox.LonLatToVector2dConverter"/> can write.
+		/// </summary>
+		/// <value><c>true</c> if can write; otherwise, <c>false</c>.</value>
+		public override bool CanWrite {
+			get { return true; }
+		}
+
+		/// <summary>
+		/// Create the specified objectType.
+		/// </summary>
+		/// <param name="objectType">Object type.</param>
+		/// <returns>A <see cref="Vector2d"/>.</returns>
+		public override Vector2d Create(Type objectType)
+		{
+			throw new NotImplementedException();
+		}
+
+		/// <summary>
+		/// Create the specified objectType and jArray.
+		/// </summary>
+		/// <param name="objectType">Object type.</param>
+		/// <param name="val">Jarray representing a two length array of coordinates.</param>
+		/// <returns>A <see cref="Vector2d"/>.</returns>
+		public Vector2d Create(Type objectType, JArray val)
+		{
+			// Assumes long,lat order (like in geojson)
+			return new Vector2d(y: (double)val[0], x: (double)val[1]);
+		}
+
+		/// <summary>
+		/// Writes the json.
+		/// </summary>
+		/// <param name="writer">A <see cref="JsonWriter"/>.</param>
+		/// <param name="value">The value to serialize.</param>
+		/// <param name="serializer">A <see cref="JsonSerializer"/>.</param>
+		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
+		{
+			var val = (Vector2d)value;
+
+			Array valAsArray = val.ToArray();
+
+			// By default, Vector2d outputs an array with [lat, lon] order, but we want the reverse.
+			Array.Reverse(valAsArray);
+
+			serializer.Serialize(writer, valAsArray);
+		}
+
+		/// <summary>
+		/// Reads the json.
+		/// </summary>
+		/// <returns>The serialized object.</returns>
+		/// <param name="reader">A reader.</param>
+		/// <param name="objectType">Object type.</param>
+		/// <param name="existingValue">Existing value.</param>
+		/// <param name="serializer">A <see cref="JsonSerializer"/>.</param>
+		/// <returns>An object.</returns>
+		public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
+		{
+			JArray coordinates = JArray.Load(reader);
+
+			return Create(objectType, coordinates);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/LonLatToGeoCoordinateConverter.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/LonLatToGeoCoordinateConverter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9f08efef0ad8d17eb9c2be939a0f48d3f4d8ae80
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/LonLatToGeoCoordinateConverter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4974791f7db3740088cca9acd2104670
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/PolylineToGeoCoordinateListConverter.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/PolylineToGeoCoordinateListConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..48e3e2ab83cb460d3dc2da6298f4d27a222cd6ab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/PolylineToGeoCoordinateListConverter.cs
@@ -0,0 +1,78 @@
+//-----------------------------------------------------------------------
+// <copyright file="PolylineToVector2dListConverter.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils.JsonConverters
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Json;
+	using Mapbox.Json.Converters;
+	using Mapbox.Json.Linq;
+
+	/// <summary>
+	/// Bbox to geo coordinate bounds converter.
+	/// </summary>
+	public class PolylineToVector2dListConverter : CustomCreationConverter<List<Vector2d>>
+	{
+		/// <summary>
+		/// Gets a value indicating whether this <see cref="T:Mapbox.PolylineToVector2dListConverter"/> can write.
+		/// </summary>
+		/// <value><c>true</c> if can write; otherwise, <c>false</c>.</value>
+		public override bool CanWrite {
+			get { return true; }
+		}
+
+		/// <summary>
+		/// Create the specified objectType.
+		/// </summary>
+		/// <param name="objectType">Object type.</param>
+		/// <returns>A List of <see cref="Vector2d"/>.</returns>
+		public override List<Vector2d> Create(Type objectType)
+		{
+			throw new NotImplementedException();
+		}
+
+		/// <summary>
+		/// Create the specified objectType and jArray.
+		/// </summary>
+		/// <param name="objectType">Object type.</param>
+		/// <param name="polyLine">String representation of a polyLine.</param>
+		/// <returns>A List of <see cref="Vector2d"/>.</returns>
+		public List<Vector2d> Create(Type objectType, string polyLine)
+		{
+			return PolylineUtils.Decode(polyLine);
+		}
+
+		/// <summary>
+		/// Writes the JSON as an encoded polyline.
+		/// </summary>
+		/// <param name="writer">A <see cref="JsonWriter"/>.</param>
+		/// <param name="value">The original value.</param>
+		/// <param name="serializer">A <see cref="JsonSerializer"/>.</param>
+		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
+		{
+			var val = (List<Vector2d>)value;
+
+			serializer.Serialize(writer, PolylineUtils.Encode(val));
+		}
+
+		/// <summary>
+		/// Reads the json. Must be a linestring.
+		/// </summary>
+		/// <returns>The serialized object.</returns>
+		/// <param name="reader">A Reader.</param>
+		/// <param name="objectType">Object type.</param>
+		/// <param name="existingValue">Existing value.</param>
+		/// <param name="serializer">A <see cref="JsonSerializer"/>.</param>
+		/// <returns>An object.</returns>
+		public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
+		{
+			JToken polyLine = JToken.Load(reader);
+
+			return Create(objectType, (string)polyLine);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/PolylineToGeoCoordinateListConverter.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/PolylineToGeoCoordinateListConverter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8ccdd1a3178fe576ae4c395fc9d601aeaf3ea7c1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/JsonConverters/PolylineToGeoCoordinateListConverter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 37d418b3df007437d873ac93f792c69b
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/PolylineUtils.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/PolylineUtils.cs
new file mode 100644
index 0000000000000000000000000000000000000000..96ceff29e3a6c68a936bd948b888816903e6702f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/PolylineUtils.cs
@@ -0,0 +1,119 @@
+//-----------------------------------------------------------------------
+// <copyright file="PolylineUtils.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils
+{
+	using System;
+	using System.Collections.Generic;
+	using System.Text;
+
+	/// <summary>
+	/// A set of Polyline utils.
+	/// </summary>
+	public static class PolylineUtils
+	{
+		/// <summary>Decodes an encoded path string into a sequence of Positions.</summary>
+		/// <remarks>
+		/// Adapted from <see href="https://github.com/mapbox/mapbox-java/blob/9bda93a2f84e26ad67434de1a5c73c335ecac12c/libjava/lib/src/main/java/com/mapbox/services/commons/utils/PolylineUtils.java"/>
+		/// </remarks>
+		/// <param name="encodedPath">A string representing a path.</param>
+		/// <param name="precision">Level of precision. OSRMv4 uses 6, OSRMv5 and Google use 5.</param>
+		/// <returns>List of <see cref="Vector2d"/> making up the line.</returns>
+		public static List<Vector2d> Decode(string encodedPath, int precision = 5)
+		{
+			int len = encodedPath.Length;
+
+			double factor = Math.Pow(10, precision);
+
+			// For speed we preallocate to an upper bound on the final length, then
+			// truncate the array before returning.
+			var path = new List<Vector2d>();
+			int index = 0;
+			int lat = 0;
+			int lng = 0;
+
+			while (index < len)
+			{
+				int result = 1;
+				int shift = 0;
+				int b;
+				do
+				{
+					b = encodedPath[index++] - 63 - 1;
+					result += b << shift;
+					shift += 5;
+				}
+				while (b >= 0x1f);
+				lat += (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
+
+				result = 1;
+				shift = 0;
+				do
+				{
+					b = encodedPath[index++] - 63 - 1;
+					result += b << shift;
+					shift += 5;
+				}
+				while (b >= 0x1f);
+				lng += (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
+
+				path.Add(new Vector2d(y: lng / factor, x: lat / factor));
+			}
+
+			return path;
+		}
+
+		/// <summary>
+		/// Encodes a sequence of Positions into an encoded path string.
+		/// </summary>
+		/// <remarks>
+		/// Adapted from <see href="https://github.com/mapbox/mapbox-java/blob/9bda93a2f84e26ad67434de1a5c73c335ecac12c/libjava/lib/src/main/java/com/mapbox/services/commons/utils/PolylineUtils.java"/>
+		/// </remarks>
+		/// <param name="path">List of <see cref="Vector2d"/> making up the line.</param>
+		/// <param name="precision">Level of precision. OSRMv4 uses 6, OSRMv5 and Google use 5..</param>
+		/// <returns>A string representing a polyLine.</returns>
+		public static string Encode(List<Vector2d> path, int precision = 5)
+		{
+			long lastLat = 0;
+			long lastLng = 0;
+
+			var result = new StringBuilder();
+
+			double factor = Math.Pow(10, precision);
+
+			foreach (Vector2d point in path)
+			{
+				var lat = (long)Math.Round(point.x * factor);
+				var lng = (long)Math.Round(point.y * factor);
+
+				Encode(lat - lastLat, result);
+				Encode(lng - lastLng, result);
+
+				lastLat = lat;
+				lastLng = lng;
+			}
+
+			return result.ToString();
+		}
+
+		/// <summary>
+		/// Encode the latitude or longitude.
+		/// </summary>
+		/// <param name="variable">The value to encode.</param>
+		/// <param name="result">String representation of latitude or longitude.</param>
+		private static void Encode(long variable, StringBuilder result)
+		{
+			variable = variable < 0 ? ~(variable << 1) : variable << 1;
+			while (variable >= 0x20)
+			{
+				result.Append((char)((int)((0x20 | (variable & 0x1f)) + 63)));
+				variable >>= 5;
+			}
+
+			result.Append((char)((int)(variable + 63)));
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/PolylineUtils.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/PolylineUtils.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8428c8ab15c16ad7d1b8daafa8663d569edb8bff
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/PolylineUtils.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 3b86e6a08ea6e41c3bd214de1a0b1fa2
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/UnixTimestampUtils.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/UnixTimestampUtils.cs
new file mode 100644
index 0000000000000000000000000000000000000000..711641c5335228ebd9d61942480b8b2be2a8162d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/UnixTimestampUtils.cs
@@ -0,0 +1,65 @@
+//-----------------------------------------------------------------------
+// <copyright file="PolylineUtils.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Utils
+{
+	using System;
+	using System.Collections.Generic;
+	using System.Text;
+
+
+	/// <summary>
+	/// A set of Unix Timestamp utils.
+	/// </summary>
+	public static class UnixTimestampUtils
+	{
+
+		// http://gigi.nullneuron.net/gigilabs/converting-tofrom-unix-timestamp-in-c/
+
+		/// <summary>
+		/// Convert from DateTime to Unix timestamp
+		/// </summary>
+		/// <param name="date"></param>
+		/// <returns></returns>
+		public static double To(DateTime date)
+		{
+			return date.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
+		}
+
+
+		/// <summary>
+		/// Convert from Unitx timestamp to DateTime. Uses TimeSpan.FromSeconds to caluclate offset since epoch 0
+		/// </summary>
+		/// <param name="timestamp"></param>
+		/// <returns></returns>
+		public static DateTime From(double timestamp)
+		{
+			return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromSeconds(timestamp));
+		}
+
+		/// <summary>
+		/// Convert from Unitx timestamp to DateTime. Uses TimeSpan.FromSeconds to caluclate offset since epoch 0
+		/// </summary>
+		/// <param name="timestamp"></param>
+		/// <returns></returns>
+		public static DateTime FromMilliseconds(double timestamp)
+		{
+			return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromMilliseconds(timestamp));
+		}
+
+		/// <summary>
+		/// Convert from Unitx timestamp to DateTime. Uses TimeSpan.FromTicks to caluclate offset since epoch 0
+		/// </summary>
+		/// <param name="timestamp"></param>
+		/// <returns></returns>
+		public static DateTime From(long timestamp)
+		{
+			return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromTicks(timestamp));
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/UnixTimestampUtils.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/UnixTimestampUtils.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..96720f40788495e47e01aa8f5496fc12dca13ca7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/UnixTimestampUtils.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f2a29c583ae184002b8d46a92024562d
+timeCreated: 1494952071
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4414b6978d668db3daf026b097f9989caccb4c85
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f1d1e64226b2747fea7e72a83de288ba
+folderAsset: yes
+timeCreated: 1491243031
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Mathd.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Mathd.cs
new file mode 100644
index 0000000000000000000000000000000000000000..047fd54fd6bbd19674f406b9d8deb82e63969520
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Mathd.cs
@@ -0,0 +1,352 @@
+namespace Mapbox.Utils
+{
+    using System;
+    using System.Runtime.CompilerServices;
+
+    public struct Mathd {
+        public const double PI = 3.141593d;
+        public const double Infinity = double.PositiveInfinity;
+        public const double NegativeInfinity = double.NegativeInfinity;
+        public const double Deg2Rad = 0.01745329d;
+        public const double Rad2Deg = 57.29578d;
+        public const double Epsilon = 1.401298E-45d;
+
+        public static double Sin(double d) {
+            return Math.Sin(d);
+        }
+
+        public static double Cos(double d) {
+            return Math.Cos(d);
+        }
+
+        public static double Tan(double d) {
+            return Math.Tan(d);
+        }
+
+        public static double Asin(double d) {
+            return Math.Asin(d);
+        }
+
+        public static double Acos(double d) {
+            return Math.Acos(d);
+        }
+
+        public static double Atan(double d) {
+            return Math.Atan(d);
+        }
+
+        public static double Atan2(double y, double x) {
+            return Math.Atan2(y, x);
+        }
+
+        public static double Sqrt(double d) {
+            return Math.Sqrt(d);
+        }
+
+        public static double Abs(double d) {
+            return Math.Abs(d);
+        }
+
+        public static int Abs(int value) {
+            return Math.Abs(value);
+        }
+
+        public static double Min(double a, double b) {
+            if (a < b)
+                return a;
+            else
+                return b;
+        }
+
+        public static double Min(params double[] values) {
+            int length = values.Length;
+            if (length == 0)
+                return 0.0d;
+            double num = values[0];
+            for (int index = 1; index < length; ++index) {
+                if (values[index] < num)
+                    num = values[index];
+            }
+            return num;
+        }
+
+        public static int Min(int a, int b) {
+            if (a < b)
+                return a;
+            else
+                return b;
+        }
+
+        public static int Min(params int[] values) {
+            int length = values.Length;
+            if (length == 0)
+                return 0;
+            int num = values[0];
+            for (int index = 1; index < length; ++index) {
+                if (values[index] < num)
+                    num = values[index];
+            }
+            return num;
+        }
+
+        public static double Max(double a, double b) {
+            if (a > b)
+                return a;
+            else
+                return b;
+        }
+
+        public static double Max(params double[] values) {
+            int length = values.Length;
+            if (length == 0)
+                return 0d;
+            double num = values[0];
+            for (int index = 1; index < length; ++index) {
+                if ((double)values[index] > (double)num)
+                    num = values[index];
+            }
+            return num;
+        }
+
+        public static int Max(int a, int b) {
+            if (a > b)
+                return a;
+            else
+                return b;
+        }
+
+        public static int Max(params int[] values) {
+            int length = values.Length;
+            if (length == 0)
+                return 0;
+            int num = values[0];
+            for (int index = 1; index < length; ++index) {
+                if (values[index] > num)
+                    num = values[index];
+            }
+            return num;
+        }
+
+        public static double Pow(double d, double p) {
+            return Math.Pow(d, p);
+        }
+
+        public static double Exp(double power) {
+            return Math.Exp(power);
+        }
+
+        public static double Log(double d, double p) {
+            return Math.Log(d, p);
+        }
+
+        public static double Log(double d) {
+            return Math.Log(d);
+        }
+
+        public static double Log10(double d) {
+            return Math.Log10(d);
+        }
+
+        public static double Ceil(double d) {
+            return Math.Ceiling(d);
+        }
+
+        public static double Floor(double d) {
+            return Math.Floor(d);
+        }
+
+        public static double Round(double d) {
+            return Math.Round(d);
+        }
+
+        public static int CeilToInt(double d) {
+            return (int)Math.Ceiling(d);
+        }
+
+        public static int FloorToInt(double d) {
+            return (int)Math.Floor(d);
+        }
+
+        public static int RoundToInt(double d) {
+            return (int)Math.Round(d);
+        }
+
+        public static double Sign(double d) {
+            return d >= 0.0 ? 1d : -1d;
+        }
+
+        public static double Clamp(double value, double min, double max) {
+            if (value < min)
+                value = min;
+            else if (value > max)
+                value = max;
+            return value;
+        }
+
+        public static int Clamp(int value, int min, int max) {
+            if (value < min)
+                value = min;
+            else if (value > max)
+                value = max;
+            return value;
+        }
+
+        public static double Clamp01(double value) {
+            if (value < 0.0)
+                return 0.0d;
+            if (value > 1.0)
+                return 1d;
+            else
+                return value;
+        }
+
+        public static double Lerp(double from, double to, double t) {
+            return from + (to - from) * Mathd.Clamp01(t);
+        }
+
+        public static double LerpAngle(double a, double b, double t) {
+            double num = Mathd.Repeat(b - a, 360d);
+            if (num > 180.0d)
+                num -= 360d;
+            return a + num * Mathd.Clamp01(t);
+        }
+
+        public static double MoveTowards(double current, double target, double maxDelta) {
+            if (Mathd.Abs(target - current) <= maxDelta)
+                return target;
+            else
+                return current + Mathd.Sign(target - current) * maxDelta;
+        }
+
+        public static double MoveTowardsAngle(double current, double target, double maxDelta) {
+            target = current + Mathd.DeltaAngle(current, target);
+            return Mathd.MoveTowards(current, target, maxDelta);
+        }
+
+        public static double SmoothStep(double from, double to, double t) {
+            t = Mathd.Clamp01(t);
+            t = (-2.0 * t * t * t + 3.0 * t * t);
+            return to * t + from * (1.0 - t);
+        }
+
+        public static double Gamma(double value, double absmax, double gamma) {
+            bool flag = false;
+            if (value < 0.0)
+                flag = true;
+            double num1 = Mathd.Abs(value);
+            if (num1 > absmax) {
+                if (flag)
+                    return -num1;
+                else
+                    return num1;
+            } else {
+                double num2 = Mathd.Pow(num1 / absmax, gamma) * absmax;
+                if (flag)
+                    return -num2;
+                else
+                    return num2;
+            }
+        }
+
+        public static bool Approximately(double a, double b) {
+            return Mathd.Abs(b - a) < Mathd.Max(1E-06d * Mathd.Max(Mathd.Abs(a), Mathd.Abs(b)), 1.121039E-44d);
+        }
+
+        public static double SmoothDamp(double current, double target, ref double currentVelocity, double smoothTime, double maxSpeed, double deltaTime) {
+            smoothTime = Mathd.Max(0.0001d, smoothTime);
+            double num1 = 2d / smoothTime;
+            double num2 = num1 * deltaTime;
+            double num3 = (1.0d / (1.0d + num2 + 0.479999989271164d * num2 * num2 + 0.234999999403954d * num2 * num2 * num2));
+            double num4 = current - target;
+            double num5 = target;
+            double max = maxSpeed * smoothTime;
+            double num6 = Mathd.Clamp(num4, -max, max);
+            target = current - num6;
+            double num7 = (currentVelocity + num1 * num6) * deltaTime;
+            currentVelocity = (currentVelocity - num1 * num7) * num3;
+            double num8 = target + (num6 + num7) * num3;
+            if (num5 - current > 0.0 == num8 > num5) {
+                num8 = num5;
+                currentVelocity = (num8 - num5) / deltaTime;
+            }
+            return num8;
+        }
+
+        public static double SmoothDampAngle(double current, double target, ref double currentVelocity, double smoothTime, double maxSpeed, double deltaTime) {
+            target = current + Mathd.DeltaAngle(current, target);
+            return Mathd.SmoothDamp(current, target, ref currentVelocity, smoothTime, maxSpeed, deltaTime);
+        }
+
+        public static double Repeat(double t, double length) {
+            return t - Mathd.Floor(t / length) * length;
+        }
+
+        public static double PingPong(double t, double length) {
+            t = Mathd.Repeat(t, length * 2d);
+            return length - Mathd.Abs(t - length);
+        }
+
+        public static double InverseLerp(double from, double to, double value) {
+            if (from < to) {
+                if (value < from)
+                    return 0d;
+                if (value > to)
+                    return 1d;
+                value -= from;
+                value /= to - from;
+                return value;
+            } else {
+                if (from <= to)
+                    return 0d;
+                if (value < to)
+                    return 1d;
+                if (value > from)
+                    return 0d;
+                else
+                    return (1.0d - (value - to) / (from - to));
+            }
+        }
+
+        public static double DeltaAngle(double current, double target) {
+            double num = Mathd.Repeat(target - current, 360d);
+            if (num > 180.0d)
+                num -= 360d;
+            return num;
+        }
+
+        internal static bool LineIntersection(Vector2d p1, Vector2d p2, Vector2d p3, Vector2d p4, ref Vector2d result) {
+            double num1 = p2.x - p1.x;
+            double num2 = p2.y - p1.y;
+            double num3 = p4.x - p3.x;
+            double num4 = p4.y - p3.y;
+            double num5 = num1 * num4 - num2 * num3;
+            if (num5 == 0.0d)
+                return false;
+            double num6 = p3.x - p1.x;
+            double num7 = p3.y - p1.y;
+            double num8 = (num6 * num4 - num7 * num3) / num5;
+            result = new Vector2d(p1.x + num8 * num1, p1.y + num8 * num2);
+            return true;
+        }
+
+        internal static bool LineSegmentIntersection(Vector2d p1, Vector2d p2, Vector2d p3, Vector2d p4, ref Vector2d result) {
+            double num1 = p2.x - p1.x;
+            double num2 = p2.y - p1.y;
+            double num3 = p4.x - p3.x;
+            double num4 = p4.y - p3.y;
+            double num5 = (num1 * num4 - num2 * num3);
+            if (num5 == 0.0d)
+                return false;
+            double num6 = p3.x - p1.x;
+            double num7 = p3.y - p1.y;
+            double num8 = (num6 * num4 - num7 * num3) / num5;
+            if (num8 < 0.0d || num8 > 1.0d)
+                return false;
+            double num9 = (num6 * num2 - num7 * num1) / num5;
+            if (num9 < 0.0d || num9 > 1.0d)
+                return false;
+            result = new Vector2d(p1.x + num8 * num1, p1.y + num8 * num2);
+            return true;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Mathd.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Mathd.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2ec3fd25463ffb9ae7eb861ae277ed3b522c477a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Mathd.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 52ad69ec3e74044aeb3f5ae61b5069f3
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/RectD.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/RectD.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c3d4daef1ba02f6a6b2237f12ad90593648349c4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/RectD.cs
@@ -0,0 +1,25 @@
+namespace Mapbox.Utils
+{
+    public struct RectD
+    {
+        public Vector2d Min { get; private set; }
+        public Vector2d Max { get; private set; }
+        //size is absolute width&height so Min+size != max
+        public Vector2d Size { get; private set; }
+        public Vector2d Center { get; private set; }
+        
+        public RectD(Vector2d min, Vector2d size)
+        {
+            Min = min;
+            Max = min + size;
+            Center = new Vector2d(Min.x + size.x / 2, Min.y + size.y / 2);
+            Size = new Vector2d(Mathd.Abs(size.x), Mathd.Abs(size.y));
+        }
+
+        public bool Contains(Vector2d point)
+        {
+            bool flag = Size.x < 0.0 && point.x <= Min.x && point.x > (Min.x + Size.x) || Size.x >= 0.0 && point.x >= Min.x && point.x < (Min.x + Size.x);
+            return flag && (Size.y < 0.0 && point.y <= Min.y && point.y > (Min.y + Size.y) || Size.y >= 0.0 && point.y >= Min.y && point.y < (Min.y + Size.y));
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/RectD.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/RectD.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8660a91e65bb20e063a0a337873718b0bf42d75f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/RectD.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f922c015d33a448f4b51ecc8e0153dd8
+timeCreated: 1493218361
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Vector2d.cs b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Vector2d.cs
new file mode 100644
index 0000000000000000000000000000000000000000..25eb2ad62a158d815a26a1b32cfde356a8b5c458
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Vector2d.cs
@@ -0,0 +1,268 @@
+namespace Mapbox.Utils
+{
+    using Mapbox.Json;
+    using System;
+	using System.Globalization;
+
+	[Serializable]
+	public struct Vector2d
+	{
+		public const double kEpsilon = 1E-05d;
+		public double x;
+		public double y;
+
+		public double this[int index]
+		{
+			get
+			{
+				switch (index)
+				{
+					case 0:
+						return this.x;
+					case 1:
+						return this.y;
+					default:
+						throw new IndexOutOfRangeException("Invalid Vector2d index!");
+				}
+			}
+			set
+			{
+				switch (index)
+				{
+					case 0:
+						this.x = value;
+						break;
+					case 1:
+						this.y = value;
+						break;
+					default:
+						throw new IndexOutOfRangeException("Invalid Vector2d index!");
+				}
+			}
+		}
+
+		[JsonIgnore]
+		public Vector2d normalized
+		{
+			get
+			{
+				Vector2d vector2d = new Vector2d(this.x, this.y);
+				vector2d.Normalize();
+				return vector2d;
+			}
+		}
+
+		[JsonIgnore]
+		public double magnitude
+		{
+			get
+			{
+				return Mathd.Sqrt(this.x * this.x + this.y * this.y);
+			}
+		}
+
+		[JsonIgnore]
+		public double sqrMagnitude
+		{
+			get
+			{
+				return this.x * this.x + this.y * this.y;
+			}
+		}
+
+		public static Vector2d zero
+		{
+			get
+			{
+				return new Vector2d(0.0d, 0.0d);
+			}
+		}
+
+		public static Vector2d one
+		{
+			get
+			{
+				return new Vector2d(1d, 1d);
+			}
+		}
+
+		public static Vector2d up
+		{
+			get
+			{
+				return new Vector2d(0.0d, 1d);
+			}
+		}
+
+		public static Vector2d right
+		{
+			get
+			{
+				return new Vector2d(1d, 0.0d);
+			}
+		}
+
+		public Vector2d(double x, double y)
+		{
+			this.x = x;
+			this.y = y;
+		}
+
+		public static Vector2d operator +(Vector2d a, Vector2d b)
+		{
+			return new Vector2d(a.x + b.x, a.y + b.y);
+		}
+
+		public static Vector2d operator -(Vector2d a, Vector2d b)
+		{
+			return new Vector2d(a.x - b.x, a.y - b.y);
+		}
+
+		public static Vector2d operator -(Vector2d a)
+		{
+			return new Vector2d(-a.x, -a.y);
+		}
+
+		public static Vector2d operator *(Vector2d a, double d)
+		{
+			return new Vector2d(a.x * d, a.y * d);
+		}
+
+		public static Vector2d operator *(float d, Vector2d a)
+		{
+			return new Vector2d(a.x * d, a.y * d);
+		}
+
+		public static Vector2d operator /(Vector2d a, double d)
+		{
+			return new Vector2d(a.x / d, a.y / d);
+		}
+
+		public static bool operator ==(Vector2d lhs, Vector2d rhs)
+		{
+			return Vector2d.SqrMagnitude(lhs - rhs) < 0.0 / 1.0;
+		}
+
+		public static bool operator !=(Vector2d lhs, Vector2d rhs)
+		{
+			return (double)Vector2d.SqrMagnitude(lhs - rhs) >= 0.0 / 1.0;
+		}
+
+		public void Set(double new_x, double new_y)
+		{
+			this.x = new_x;
+			this.y = new_y;
+		}
+
+		public static Vector2d Lerp(Vector2d from, Vector2d to, double t)
+		{
+			t = Mathd.Clamp01(t);
+			return new Vector2d(from.x + (to.x - from.x) * t, from.y + (to.y - from.y) * t);
+		}
+
+		public static Vector2d MoveTowards(Vector2d current, Vector2d target, double maxDistanceDelta)
+		{
+			Vector2d vector2 = target - current;
+			double magnitude = vector2.magnitude;
+			if (magnitude <= maxDistanceDelta || magnitude == 0.0d)
+				return target;
+			else
+				return current + vector2 / magnitude * maxDistanceDelta;
+		}
+
+		public static Vector2d Scale(Vector2d a, Vector2d b)
+		{
+			return new Vector2d(a.x * b.x, a.y * b.y);
+		}
+
+		public void Scale(Vector2d scale)
+		{
+			this.x *= scale.x;
+			this.y *= scale.y;
+		}
+
+		public void Normalize()
+		{
+			double magnitude = this.magnitude;
+			if (magnitude > 9.99999974737875E-06)
+				this = this / magnitude;
+			else
+				this = Vector2d.zero;
+		}
+
+		public override string ToString()
+		{
+			return string.Format(NumberFormatInfo.InvariantInfo, "{0:F5},{1:F5}", this.y, this.x);
+		}
+
+		public override int GetHashCode()
+		{
+			return this.x.GetHashCode() ^ this.y.GetHashCode() << 2;
+		}
+
+		public override bool Equals(object other)
+		{
+			if (!(other is Vector2d))
+				return false;
+			Vector2d vector2d = (Vector2d)other;
+			if (this.x.Equals(vector2d.x))
+				return this.y.Equals(vector2d.y);
+			else
+				return false;
+		}
+
+		public static double Dot(Vector2d lhs, Vector2d rhs)
+		{
+			return lhs.x * rhs.x + lhs.y * rhs.y;
+		}
+
+		public static double Angle(Vector2d from, Vector2d to)
+		{
+			return Mathd.Acos(Mathd.Clamp(Vector2d.Dot(from.normalized, to.normalized), -1d, 1d)) * 57.29578d;
+		}
+
+		public static double Distance(Vector2d a, Vector2d b)
+		{
+			return (a - b).magnitude;
+		}
+
+		public static Vector2d ClampMagnitude(Vector2d vector, double maxLength)
+		{
+			if (vector.sqrMagnitude > maxLength * maxLength)
+				return vector.normalized * maxLength;
+			else
+				return vector;
+		}
+
+		public static double SqrMagnitude(Vector2d a)
+		{
+			return (a.x * a.x + a.y * a.y);
+		}
+
+		public double SqrMagnitude()
+		{
+			return (this.x * this.x + this.y * this.y);
+		}
+
+		public static Vector2d Min(Vector2d lhs, Vector2d rhs)
+		{
+			return new Vector2d(Mathd.Min(lhs.x, rhs.x), Mathd.Min(lhs.y, rhs.y));
+		}
+
+		public static Vector2d Max(Vector2d lhs, Vector2d rhs)
+		{
+			return new Vector2d(Mathd.Max(lhs.x, rhs.x), Mathd.Max(lhs.y, rhs.y));
+		}
+
+		public double[] ToArray()
+		{
+			double[] array =
+			{
+					this.x,
+					this.y
+				};
+
+			return array;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Vector2d.cs.meta b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Vector2d.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4b6c60dce96f6294f41fc83da3a259ec5562d98
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/mapbox-sdk-cs/Utils/Vector2d/Vector2d.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 65e0c0d8a33eb4adea4665f24e55962a
+timeCreated: 1493833265
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs.meta b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..97c2f4dfb3ecd0a35d06ae581a0d0085ea735716
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d5e1c6b7d1367a6499dae6c38bf2a085
+folderAsset: yes
+timeCreated: 1510755854
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Probe.cs b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Probe.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6328a5a32334d0c482458c08c8a0ffb10a840e1a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Probe.cs
@@ -0,0 +1,52 @@
+
+namespace Mapbox.ProbeExtractorCs
+{
+
+	using Mapbox.Unity.Location;
+
+
+	/// <summary>
+	/// Represents a point of a GPS trace
+	/// </summary>
+	public struct TracePoint
+	{
+		public long Timestamp;
+		public double Latitude;
+		public double Longitude;
+		public double Bearing;
+		public float? Elevation;
+		/// <summary> Horizontal dilution of precision </summary>
+		public float? HDop;
+		/// <summary> Vertical dilution of precision</summary>
+		public float? VDop;
+
+		public static TracePoint FromLocation(Location location)
+		{
+			return new TracePoint()
+			{
+				Timestamp = (long)location.Timestamp,
+				Latitude = location.LatitudeLongitude.x,
+				Longitude = location.LatitudeLongitude.y,
+				Bearing = location.UserHeading,
+				HDop = location.Accuracy
+			};
+		}
+	}
+
+
+	/// <summary>
+	/// Represents a probe extracted by ProbeExtractor
+	/// </summary>
+	public struct Probe
+	{
+		public double Latitude;
+		public double Longitude;
+		public long StartTime;
+		public long Duration;
+		public double Speed;
+		public double Bearing;
+		public double Distance;
+		public bool IsGood;
+	}
+
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Probe.cs.meta b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Probe.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de9fb2c3e91fed7b4b633de282f20b25267cd513
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Probe.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 1ee37be5546122440bc3a9abd7318aea
+timeCreated: 1510828497
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/ProbeExtractor.cs b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/ProbeExtractor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9c3ac6232316c6b9a39ade2f6c4aa86c18a8e182
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/ProbeExtractor.cs
@@ -0,0 +1,354 @@
+namespace Mapbox.ProbeExtractorCs
+{
+
+
+	using Mapbox.CheapRulerCs;
+	using System;
+	using System.Collections.Generic;
+
+
+	public class ProbeExtractorOptions
+	{
+		/// <summary>Seconds</summary>
+		public double MinTimeBetweenProbes = 0;
+		/// <summary>Do not include probes when the distance is X times bigger than the previous one</summary>
+		public double MaxDistanceRatioJump = double.MaxValue;
+		/// <summary>Do not include probes when the duration is X times bigger than the previous one</summary>
+		public double MaxDurationRatioJump = double.MaxValue;
+		/// <summary>Meters per second per second</summary>
+		public double MaxAcceleration = double.MaxValue;
+		/// <summary>Meters per second per second</summary>
+		public double MaxDeceleration = double.MaxValue;
+		/// <summary>Minimum probes extracted data should contain</summary>
+		public int MinProbes = 2;
+		/// <summary>Also return probes deemed not good</summary>
+		public bool OutputBadProbes = false;
+	}
+
+
+	/// <summary>
+	/// <para>This module allows to pass a list of trace points and extract its probes and their properties.</para>
+	/// <para>It can also act as a filter for those probes.</para>
+	/// </summary>
+	public class ProbeExtractor
+	{
+
+		private CheapRuler _ruler;
+		private ProbeExtractorOptions _options;
+
+
+		/// <summary>
+		/// 
+		/// </summary>
+		/// <param name="ruler">A CheapRuler instance, expected in kilometers.</param>
+		/// <param name="options"></param>
+		public ProbeExtractor(CheapRuler ruler, ProbeExtractorOptions options)
+		{
+			_ruler = ruler;
+			_options = options;
+		}
+
+
+		/// <summary>
+		/// Extract probes according to ProbeExtractorOptions.
+		/// </summary>
+		/// <param name="trace">List of trace points</param>
+		/// <returns>List of probes. Empty list if no trace point matched the options.</returns>
+		public List<Probe> ExtractProbes(List<TracePoint> trace)
+		{
+			int tracePntCnt = trace.Count;
+			long[] durations = new long[tracePntCnt - 1];
+			double[] distances = new double[tracePntCnt - 1];
+			double[] speeds = new double[tracePntCnt - 1];
+			double[] bearings = new double[tracePntCnt - 1];
+
+			for (int i = 1; i < tracePntCnt; i++)
+			{
+				TracePoint current = trace[i];
+				TracePoint previous = trace[i - 1];
+				int insertIdx = i - 1;
+
+				durations[insertIdx] = (current.Timestamp - previous.Timestamp) / 1000; //seconds
+
+				double[] currLocation = new double[] { current.Longitude, current.Latitude };
+				double[] prevLocation = new double[] { previous.Longitude, previous.Latitude };
+				distances[insertIdx] = _ruler.Distance(currLocation, prevLocation);
+				speeds[insertIdx] = distances[insertIdx] / durations[insertIdx] * 3600; //kph
+
+				double bearing = _ruler.Bearing(prevLocation, currLocation);
+				bearings[insertIdx] = bearing < 0 ? 360 + bearing : bearing;
+			}
+
+			List<Probe> probes = new List<Probe>();
+
+			// 1st pass: iterate trace points and determine if they are good
+			// bail early if !_options.OutputBadProbes
+			bool negativeDuration = false;
+			for (int i = 1; i < speeds.Length; i++)
+			{
+				//assume tracpoint is good
+				bool isGood = true;
+				if (negativeDuration)
+				{
+					// if trace already has a negative duration, then all probes are bad
+					isGood = false;
+				}
+				else if (durations[i] < 0)
+				{
+					// if a trace has negative duration, the trace is likely noisy
+					// bail, if we don't want bad probes
+					if (!_options.OutputBadProbes) { return new List<Probe>(); }
+
+					negativeDuration = true;
+					isGood = false;
+				}
+				else if (durations[i] < _options.MinTimeBetweenProbes)
+				{
+					// if shorter than the minTimeBetweenProbes, filter.
+					isGood = false;
+				}
+				else if (durations[i] > _options.MaxDurationRatioJump * durations[i - 1])
+				{
+					// if not a gradual decrease in sampling frequency, it's most likely a signal jump
+					isGood = false;
+				}
+				else if (speeds[i] - speeds[i - 1] > _options.MaxAcceleration * durations[i])
+				{
+					// if accelerating faster than maxAcceleration, it's most likely a glitch
+					isGood = false;
+				}
+				else if (speeds[i - 1] - speeds[i] > _options.MaxDeceleration * durations[i])
+				{
+					// if decelerating faster than maxDeceleration, it's most likely a glitch
+					isGood = false;
+				}
+				else
+				{
+					bool isForwardDirection = compareBearing(bearings[i - 1], bearings[i], 89, false);
+					if (!isForwardDirection)
+					{
+						isGood = false;
+					}
+				}
+
+				if (isGood || _options.OutputBadProbes)
+				{
+					double[] coords = pointAtDistanceAndBearing(
+						trace[i - 1]
+						, distances[i] / 2
+						, bearings[i]
+					);
+
+					probes.Add(new Probe()
+					{
+						Latitude = coords[1],
+						Longitude = coords[0],
+						StartTime = trace[i].Timestamp,
+						Duration = durations[i],
+						Distance = distances[i],
+						Speed = speeds[i],
+						Bearing = bearings[i],
+						IsGood = isGood
+					});
+				}
+			}
+
+			// if too few good probes, drop entire trace
+			if (!_options.OutputBadProbes && probes.Count < _options.MinProbes)
+			{
+				return new List<Probe>();
+			}
+
+			// MinProbes can be 0, return
+			if (probes.Count == 0 && _options.MinProbes == 0)
+			{
+				return new List<Probe>();
+			}
+
+
+			// 2nd pass
+
+			// require at least two probes
+			if (probes.Count > 1)
+			{
+				// check first probe in a trace against the average of first two good probes
+				var avgSpeed = (probes[0].Speed + probes[1].Speed) / 2;
+				var avgDistance = (probes[0].Distance + probes[1].Distance) / 2;
+				var avgDuration = (probes[0].Duration + probes[1].Duration) / 2;
+				var avgBearing = averageAngle(probes[0].Bearing, probes[1].Bearing);
+
+				bool good = true;
+
+				if (negativeDuration)
+				{
+					if (!_options.OutputBadProbes)
+					{
+						return new List<Probe>();
+					}
+
+					negativeDuration = true;
+					good = false;
+
+					// if a trace has negative duration, the trace is likely noisy
+				}
+				else if (durations[0] < 0)
+				{
+					good = false;
+				}
+				else if (durations[0] < _options.MinTimeBetweenProbes)
+				{
+					// if shorter than the minTimeBetweenProbes, filter.
+					good = false;
+				}
+				else if (distances[0] > _options.MaxDistanceRatioJump * avgDistance)
+				{
+					// if not a gradual increase in distance, it's most likely a signal jump
+					good = false;
+				}
+				else if (durations[0] > _options.MaxDurationRatioJump * avgDuration)
+				{
+					// if not a gradual decrease in sampling frequency, it's most likely a signal jump
+					good = false;
+				}
+				else if (avgSpeed - speeds[0] > _options.MaxAcceleration * durations[0])
+				{
+					// if accelerating faster than maxAcceleration, it's most likely a glitch
+					good = false;
+				}
+				else if (speeds[0] - avgSpeed > _options.MaxDeceleration * durations[0])
+				{
+					// if decelerating faster than maxDeceleration, it's most likely a glitch
+					good = false;
+				}
+				else
+				{
+					// if in reverse direction, it's most likely signal jump
+					bool isForwardDirection = compareBearing(bearings[0], avgBearing, 89, false);
+					if (!isForwardDirection)
+					{
+						good = false;
+					}
+				}
+
+				if (good || _options.OutputBadProbes)
+				{
+
+					double[] coords = pointAtDistanceAndBearing(
+						trace[0]
+						, distances[0]
+						, bearings[0]
+					);
+
+					probes.Insert(
+						0,
+						new Probe()
+						{
+							Latitude = coords[1],
+							Longitude = coords[0],
+							StartTime = trace[0].Timestamp,
+							Duration = durations[0],
+							Distance = distances[0],
+							Speed = speeds[0],
+							Bearing = bearings[0],
+							IsGood = good
+						}
+					);
+				}
+			}
+
+			return probes;
+		}
+
+
+		/// <summary>
+		/// Computes the average of two angles.
+		/// </summary>
+		/// <param name="a">First angle.</param>
+		/// <param name="b">Second angle</param>
+		/// <returns>Angle midway between a and b.</returns>
+		private double averageAngle(double a, double b)
+		{
+			var anorm = normalizeAngle(a);
+			var bnorm = normalizeAngle(b);
+
+			var minAngle = Math.Min(anorm, bnorm);
+			var maxAngle = Math.Max(anorm, bnorm);
+
+			var dist1 = Math.Abs(a - b);
+			var dist2 = (minAngle + (360 - maxAngle));
+
+			if (dist1 <= dist2) { return normalizeAngle(minAngle + dist1 / 2); }
+			else
+			{
+				return normalizeAngle(maxAngle + dist2 / 2);
+			}
+		}
+
+
+		/// <summary>
+		/// Map angle to positive modulo 360 space.
+		/// </summary>
+		/// <param name="angle">An angle in degrees</param>
+		/// <returns>Equivalent angle in [0-360] space.</returns>
+		private double normalizeAngle(double angle)
+		{
+			return (angle < 0) ? (angle % 360) + 360 : (angle % 360);
+		}
+
+
+		/// <summary>
+		/// Compare bearing `baseBearing` to `bearing`, to determine if they are close enough to each other to be considered matching.
+		/// </summary>
+		/// <param name="baseBearing">Base bearing</param>
+		/// <param name="bearing">Number of degrees difference that is allowed between the bearings.</param>
+		/// <param name="range"></param>
+		/// <param name="allowReverse">allows bearings that are 180 degrees +/- `range` to be considered matching</param>
+		/// <returns></returns>
+		private bool compareBearing(double baseBearing, double bearing, double range, bool allowReverse)
+		{
+
+			// map base and bearing into positive modulo 360 space
+			var normalizedBase = normalizeAngle(baseBearing);
+			var normalizedBearing = normalizeAngle(bearing);
+
+			var min = normalizeAngle(normalizedBase - range);
+			var max = normalizeAngle(normalizedBase + range);
+
+			if (min < max)
+			{
+				if (min <= normalizedBearing && normalizedBearing <= max)
+				{
+					return true;
+				}
+			}
+			else if (min <= normalizedBearing || normalizedBearing <= max)
+			{
+				return true;
+			}
+
+			if (allowReverse)
+			{
+				return compareBearing(normalizedBase + 180, bearing, range, false);
+			}
+
+			return false;
+		}
+
+
+
+		/// <summary>
+		/// Creates coordinate in between two trace points to smooth line
+		/// </summary>
+		/// <returns>double array containing lng/lat</returns>
+		private double[] pointAtDistanceAndBearing(TracePoint tracePoint, double distance, double bearing)
+		{
+			return _ruler.Destination(
+				new double[] { tracePoint.Longitude, tracePoint.Latitude }
+				, distance
+				, bearing
+			);
+
+		}
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/ProbeExtractor.cs.meta b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/ProbeExtractor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..968a60f035d50027e1a29c068abd2607d94a682d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/ProbeExtractor.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c5372119c5f67a74b940346a8aff4fc6
+timeCreated: 1510757089
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests.meta b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c90b26d1142d874946d1913720be3642de3a257d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: da2de0b67d574e64481954f696b7b58f
+folderAsset: yes
+timeCreated: 1511187101
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor.meta b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a211ccdbec892babc06b421f0ab5ecdbc8e6d0d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c0c613d8a2e6422439f0ee0a0e418427
+folderAsset: yes
+timeCreated: 1511187112
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor/MapboxUnitTests_ProbeExtractorCs.cs b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor/MapboxUnitTests_ProbeExtractorCs.cs
new file mode 100644
index 0000000000000000000000000000000000000000..61f4311810b7bd38fbd3c6cdd4e4bb538cd8cbb3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor/MapboxUnitTests_ProbeExtractorCs.cs
@@ -0,0 +1,222 @@
+//-----------------------------------------------------------------------
+// <copyright file="FileSourceTest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+// TODO: figure out how run tests outside of Unity with .NET framework, something like '#if !UNITY'
+
+namespace Mapbox.ProbeExtractorCs.UnitTest
+{
+
+
+	using Mapbox.Platform;
+	using NUnit.Framework;
+	using System.Collections.Generic;
+	using System.Globalization;
+	using System.IO;
+	using System.Text;
+	using System;
+	using System.Linq;
+	using UnityEngine;
+	using Mapbox.CheapRulerCs;
+
+	[TestFixture]
+	internal class ProbeExtractorCsTest
+	{
+
+		private List<TracePoint> _trace;
+		private List<TracePoint> _footTrace;
+		private List<Probe> _probes;
+
+		[SetUp]
+		public void SetUp()
+		{
+			_trace = loadTraceFixture("ProbeExtractorCs_fixture_trace");
+			_footTrace = loadTraceFixture("ProbeExtractorCs_fixture_trace-foot");
+			_probes = loadProbeFixture("ProbeExtractorCs_fixture_probes");
+		}
+
+
+
+		[Test, Order(1)]
+		public void FixturesLoaded()
+		{
+			Assert.AreEqual(14, _trace.Count);
+			Assert.AreEqual(12, _probes.Count);
+		}
+
+
+		[Test]
+		public void ExtractProbes()
+		{
+			CheapRuler ruler = CheapRuler.FromTile(49, 7);
+
+			ProbeExtractorOptions options = new ProbeExtractorOptions()
+			{
+				MinTimeBetweenProbes = 1, // seconds
+				MaxDistanceRatioJump = 3, // do not include probes when the distance is 3 times bigger than the previous one
+				MaxDurationRatioJump = 3, // do not include probes when the duration is 3 times bigger than the previous one
+				MaxAcceleration = 15, // meters per second per second
+				MaxDeceleration = 18 // meters per second per second
+			};
+
+			ProbeExtractor extractor = new ProbeExtractor(ruler, options);
+			List<Probe> extractedProbes = extractor.ExtractProbes(_trace);
+
+			Assert.AreEqual(12, extractedProbes.Count, "12 probes were expected to be extracted");
+
+			for (int i = 0; i < extractedProbes.Count; i++)
+			{
+				Probe fp = _probes[i]; // fixture probe
+				Probe ep = extractedProbes[i]; // extracted probe
+
+				Assert.AreEqual(fp.Longitude, ep.Longitude, 0.001, "probe[" + i.ToString() + "]: longitude doesn't match");
+				Assert.AreEqual(fp.Latitude, ep.Latitude, 0.001, "probe[" + i.ToString() + "]: latitude doesn't match");
+				Assert.AreEqual(fp.StartTime, ep.StartTime, "probe[" + i.ToString() + "]: start time doesn't match");
+				Assert.AreEqual(fp.Duration, ep.Duration, "probe[" + i.ToString() + "]: duration doesn't match");
+				Assert.AreEqual(fp.Speed, ep.Speed, 0.001, "probe[" + i.ToString() + "]: speed doesn't match");
+				Assert.AreEqual(fp.Bearing, ep.Bearing, 0.001, "probe[" + i.ToString() + "]: bearing doesn't match");
+				Assert.AreEqual(fp.Distance, ep.Distance, 0.001, "probe[" + i.ToString() + "]: distance doesn't match");
+				Assert.AreEqual(fp.IsGood, ep.IsGood, "probe[" + i.ToString() + "]: longitude doesn't match");
+			}
+
+
+			options.MinTimeBetweenProbes = 2;
+			extractor = new ProbeExtractor(ruler, options);
+			extractedProbes = extractor.ExtractProbes(_trace);
+
+			Assert.AreEqual(5, extractedProbes.Count, "5 probes were expected to be extracted");
+
+
+			options.OutputBadProbes = true;
+			extractor = new ProbeExtractor(ruler, options);
+			extractedProbes = extractor.ExtractProbes(_trace);
+
+			Assert.AreEqual(13, extractedProbes.Count, "13 probes were expected to be extracted");
+		}
+
+
+		[Test]
+		public void ExtractFootTrace()
+		{
+			CheapRuler ruler = new CheapRuler(_footTrace[0].Latitude);
+			ProbeExtractorOptions options = new ProbeExtractorOptions();
+
+			ProbeExtractor extractor = new ProbeExtractor(ruler, options);
+			List<Probe> extractedProbes = extractor.ExtractProbes(_footTrace);
+
+			Assert.AreEqual(40, extractedProbes.Count);
+		}
+
+
+		private List<TracePoint> loadTraceFixture(string fixtureName)
+		{
+			TextAsset fixtureAsset = Resources.Load<TextAsset>(fixtureName);
+			List<TracePoint> trace = new List<TracePoint>();
+			using (StringReader sr = new StringReader(fixtureAsset.text))
+			{
+				// skip header
+				sr.ReadLine();
+				string line;
+				while (null != (line = sr.ReadLine()))
+				{
+					string[] tokens = line.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+					if (tokens.Length != 4)
+					{
+						Debug.LogWarning("trace.csv has wrong number of columns");
+						continue;
+					}
+
+					double lng;
+					double lat;
+					double bearing;
+					long timestamp;
+
+					if (!double.TryParse(tokens[0], NumberStyles.Any, CultureInfo.InvariantCulture, out lng)) { Debug.LogWarning("could not parse longitude"); continue; }
+					if (!double.TryParse(tokens[1], NumberStyles.Any, CultureInfo.InvariantCulture, out lat)) { Debug.LogWarning("could not parse latitude"); continue; }
+					if (!double.TryParse(tokens[2], NumberStyles.Any, CultureInfo.InvariantCulture, out bearing)) { Debug.LogWarning("could not parse bearing"); continue; }
+					if (!long.TryParse(tokens[3], NumberStyles.Any, CultureInfo.InvariantCulture, out timestamp)) { Debug.LogWarning("could not parse timestamp"); continue; }
+
+					trace.Add(new TracePoint()
+					{
+						Longitude = lng,
+						Latitude = lat,
+						Bearing = bearing,
+						Timestamp = timestamp
+					});
+				}
+			}
+			return trace;
+		}
+
+
+		private List<Probe> loadProbeFixture(string fixtureName)
+		{
+			TextAsset fixtureAsset = Resources.Load<TextAsset>(fixtureName);
+			List<Probe> probes = new List<Probe>();
+			using (StringReader sr = new StringReader(fixtureAsset.text))
+			{
+				// skip header
+				sr.ReadLine();
+				string line;
+				while (null != (line = sr.ReadLine()))
+				{
+					string[] tokens = line.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
+					if (tokens.Length != 8)
+					{
+						Debug.LogWarning("probes.csv has wrong number of columns");
+						continue;
+					}
+
+					double lng;
+					double lat;
+					long startTime;
+					long duration;
+					double speed;
+					double bearing;
+					double distance;
+					bool isGood;
+
+					if (!double.TryParse(tokens[0], NumberStyles.Any, CultureInfo.InvariantCulture, out lng)) { Debug.LogWarning("could not parse longitude"); continue; }
+					if (!double.TryParse(tokens[1], NumberStyles.Any, CultureInfo.InvariantCulture, out lat)) { Debug.LogWarning("could not parse latitude"); continue; }
+					if (!long.TryParse(tokens[2], NumberStyles.Any, CultureInfo.InvariantCulture, out startTime)) { Debug.LogWarning("could not parse timestamp"); continue; }
+					if (!long.TryParse(tokens[3], NumberStyles.Any, CultureInfo.InvariantCulture, out duration)) { Debug.LogWarning("could not parse duration"); continue; }
+					if (!double.TryParse(tokens[4], NumberStyles.Any, CultureInfo.InvariantCulture, out speed)) { Debug.LogWarning("could not parse speed"); continue; }
+					if (!double.TryParse(tokens[5], NumberStyles.Any, CultureInfo.InvariantCulture, out bearing)) { Debug.LogWarning("could not parse bearing"); continue; }
+					if (!double.TryParse(tokens[6], NumberStyles.Any, CultureInfo.InvariantCulture, out distance)) { Debug.LogWarning("could not parse distance"); continue; }
+					if (!bool.TryParse(tokens[7], out isGood)) { Debug.LogWarning("could not parse good"); continue; }
+
+					probes.Add(new Probe()
+					{
+						Longitude = lng,
+						Latitude = lat,
+						StartTime = startTime,
+						Duration = duration,
+						Speed = speed,
+						Bearing = bearing,
+						Distance = distance,
+						IsGood = isGood
+					});
+				}
+			}
+			return probes;
+		}
+
+
+		// quick hack for visualizing output of ProbeExtractor on http://geojson.io
+		private string probesToGeojson(List<Probe> probes)
+		{
+			StringBuilder sb = new StringBuilder();
+
+			// line
+			sb.Append("{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[");
+			sb.Append(string.Join(",", probes.Select(p => string.Format(CultureInfo.InvariantCulture, "[{0},{1}]", p.Longitude, p.Latitude)).ToArray()));
+			sb.Append("]}}");
+
+			sb.Append("]}");
+			return sb.ToString();
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor/MapboxUnitTests_ProbeExtractorCs.cs.meta b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor/MapboxUnitTests_ProbeExtractorCs.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9aeb2d4bd1d9824d6fc56a1adf8c53abfc47052d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Core/probe-extractor-cs/Tests/Editor/MapboxUnitTests_ProbeExtractorCs.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6c911a8f62439664b8f8743ebfa8700a
+timeCreated: 1511187181
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples.meta b/T3-Unity/Assets/Mapbox/Examples.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fc50db58e34deadd10feb167adc81a6f7825a4fb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f8423c737b7de472293248d205081118
+folderAsset: yes
+timeCreated: 1479776710
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes.meta b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7b909e8e991b124865ddbb368c61df053466e7ec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 92f3e82375653496096ea1948ead762b
+folderAsset: yes
+timeCreated: 1521142588
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/CitySimulator.unity b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/CitySimulator.unity
new file mode 100644
index 0000000000000000000000000000000000000000..f14e6aafe069e62743d429645168b137457f228a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/CitySimulator.unity
@@ -0,0 +1,1762 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641252, b: 0.574817, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!21 &87316340
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &89149350
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &118691651
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &154141535
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 154141537}
+  - component: {fileID: 154141536}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &154141536
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 154141535}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 1
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &154141537
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 154141535}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &327784168
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 327784171}
+  - component: {fileID: 327784170}
+  - component: {fileID: 327784169}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &327784169
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 327784168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &327784170
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 327784168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &327784171
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 327784168}
+  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: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!21 &450030164
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &502840114
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &641490001
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: '<b> City Simulator Starting Point</b>
+
+
+        City Simulator is a great starting point for applications that require 3D
+        cities & terrain. This starting point comes ready with 3D building & road
+        layers. You can start here and customize this scene to match your 3D map needs.'
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0.0000076293945
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &691970633
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1099462048
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
+--- !u!21 &1133239023
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
+--- !u!1001 &1538595735
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].materialOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].materialOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].materialOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: -1.5862975
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorPalette
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions._selectedLayerName
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].coreOptions.isActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].coreOptions.sublayerName
+      value: Untitled
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].coreOptions.geometryType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].coreOptions.layerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].coreOptions.snapToTerrain
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].coreOptions.lineWidth
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].extrusionOptions._selectedLayerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].extrusionOptions.propertyName
+      value: height
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].extrusionOptions.maximumHeight
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].extrusionOptions.extrusionScaleFactor
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].materialOptions.style
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: a1aa333e18c0640d7b428eecff9c4af7, type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: c0653693b48614a139a124871d499679, type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].materialOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[2].honorBuildingIdSetting
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.style
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.style
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.extrusionType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 87316340}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 118691651}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].presetFeatureType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].filterOptions._selectedLayerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].honorBuildingIdSetting
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].presetFeatureType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 89149350}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 691970633}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.texturingType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 450030164}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 502840114}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.texturingType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.texturingType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _tileProvider
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _previewOptions.isPreviewEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.sourceId
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.sublayerName
+      value: Buildings
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.geometryType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.layerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].filterOptions._selectedLayerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions._selectedLayerName
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.propertyDescription
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.maximumHeight
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].honorBuildingIdSetting
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].buildingsWithUniqueIds
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.isActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.sublayerName
+      value: Roads
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.geometryType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.layerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.snapToTerrain
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.Width
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.MiterLimit
+      value: 0.2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.RoundLimit
+      value: 1.05
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.JoinType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.CapType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.extrusionType
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.propertyName
+      value: height
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.maximumHeight
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.extrusionScaleFactor
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1099462048}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1133239023}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.lightStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.darkStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.r
+      value: 0.1764706
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.g
+      value: 0.8509805
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.a
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].performanceOptions.isEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].performanceOptions.entityPerCoroutine
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.isActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.snapToTerrain
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.Width
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.MiterLimit
+      value: 0.2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.RoundLimit
+      value: 1.05
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.JoinType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.CapType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.propertyName
+      value: height
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.extrusionScaleFactor
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.lightStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.darkStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.r
+      value: 0.1764706
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.g
+      value: 0.8509805
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.a
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].performanceOptions.isEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].performanceOptions.entityPerCoroutine
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 59ca6a03aa1ab4d5797fc37bc0f37797,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].buildingsWithUniqueIds
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &2001912278
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2001912282}
+  - component: {fileID: 2001912281}
+  - component: {fileID: 2001912280}
+  - component: {fileID: 2001912279}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &2001912279
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2001912278}
+  m_Enabled: 1
+--- !u!124 &2001912280
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2001912278}
+  m_Enabled: 1
+--- !u!20 &2001912281
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2001912278}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &2001912282
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2001912278}
+  m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607}
+  m_LocalPosition: {x: 0, y: 50, z: -50}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 25, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/CitySimulator.unity.meta b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/CitySimulator.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9359ac85089da0b115a7e02417a7acd992ae6a98
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/CitySimulator.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e9aaa5d7902ec4a07bb4b1f2923cafc8
+timeCreated: 1544217487
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity
new file mode 100644
index 0000000000000000000000000000000000000000..5de45f585196761cf128f23b5d2a358cd66cbaf4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity
@@ -0,0 +1,789 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641252, b: 0.574817, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &8030620
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 8030624}
+  - component: {fileID: 8030623}
+  - component: {fileID: 8030622}
+  - component: {fileID: 8030621}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &8030621
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 8030620}
+  m_Enabled: 1
+--- !u!124 &8030622
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 8030620}
+  m_Enabled: 1
+--- !u!20 &8030623
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 8030620}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &8030624
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 8030620}
+  m_LocalRotation: {x: 0.5, y: 0, z: 0, w: 0.8660254}
+  m_LocalPosition: {x: 0, y: 114.6, z: -67.3}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 60, y: 0, z: 0}
+--- !u!1 &137357532
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 137357534}
+  - component: {fileID: 137357533}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &137357533
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 137357532}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &137357534
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 137357532}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1001 &773682131
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>Location-based Game Starting Point</b>\n\nThis example comes ready
+        with a map, player, and location provider setup to serve as a starting point
+        for location-based games. \n\nWe've also included a way for you to debug gameplay
+        by simulating player movement using a GPS log recording. Here, the character
+        marker is following a log trace of a walk through Helsinki on foot. Controls
+        for this can be found on the 'DefaultDeviceLocationProvider' prefab nested
+        under 'LocationBasedGame' and 'LocationProvider' in the Hierarchy. \n"
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0.000015258789
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &843921207
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4886150424162858, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4886150424162858, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4886150424162858, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4886150424162858, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4886150424162858, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4886150424162858, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4886150424162858, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4886150424162858, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114472907270853152, guid: 35ce2bb4caba9434db5e656796b632b1,
+        type: 2}
+      propertyPath: _editorDebuggingOnly._locationLogFile
+      value: 
+      objectReference: {fileID: 4900000, guid: 5e6bb7224cef35c4788a4817b1c9778d, type: 3}
+    - target: {fileID: 4961856903295740, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalScale.x
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 4961856903295740, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalScale.y
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 4961856903295740, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+      propertyPath: m_LocalScale.z
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114105500206378512, guid: 35ce2bb4caba9434db5e656796b632b1,
+        type: 2}
+      propertyPath: _imagery._layerProperty.sourceType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114105500206378512, guid: 35ce2bb4caba9434db5e656796b632b1,
+        type: 2}
+      propertyPath: _imagery._layerProperty.sourceOptions.layerSource.Id
+      value: mapbox://styles/mapbox/outdoors-v10
+      objectReference: {fileID: 0}
+    - target: {fileID: 114105500206378512, guid: 35ce2bb4caba9434db5e656796b632b1,
+        type: 2}
+      propertyPath: _options.tileMaterial
+      value: 
+      objectReference: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+    - target: {fileID: 114105500206378512, guid: 35ce2bb4caba9434db5e656796b632b1,
+        type: 2}
+      propertyPath: _options.extentOptions.rangeAroundTransformOptions.visibleBuffer
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114105500206378512, guid: 35ce2bb4caba9434db5e656796b632b1,
+        type: 2}
+      propertyPath: _options.extentOptions.rangeAroundTransformOptions.disposeBuffer
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114105500206378512, guid: 35ce2bb4caba9434db5e656796b632b1,
+        type: 2}
+      propertyPath: _options.extentOptions.defaultExtents.rangeAroundTransformOptions.targetTransform
+      value: 
+      objectReference: {fileID: 843921208}
+    - target: {fileID: 114105500206378512, guid: 35ce2bb4caba9434db5e656796b632b1,
+        type: 2}
+      propertyPath: _options.extentOptions.extentType
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 35ce2bb4caba9434db5e656796b632b1, type: 2}
+  m_IsPrefabParent: 0
+--- !u!4 &843921208 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4961856903295740, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 843921207}
+--- !u!1 &1188978833
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1188978836}
+  - component: {fileID: 1188978835}
+  - component: {fileID: 1188978834}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1188978834
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1188978833}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &1188978835
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1188978833}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &1188978836
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1188978833}
+  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: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1220223447
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1220223451}
+  - component: {fileID: 1220223450}
+  - component: {fileID: 1220223449}
+  - component: {fileID: 1220223448}
+  - component: {fileID: 1220223452}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1220223448
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &1220223449
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 2
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &1220223450
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &1220223451
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  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_Children:
+  - {fileID: 1962332872}
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!114 &1220223452
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 57387868ef277924ea4a999647c6db75, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _statusText: {fileID: 1962332873}
+--- !u!1 &1962332871
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1962332872}
+  - component: {fileID: 1962332874}
+  - component: {fileID: 1962332873}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1962332872
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1962332871}
+  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: 1220223451}
+  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: 1, y: 1}
+--- !u!114 &1962332873
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1962332871}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 10
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 7
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Waiting for location ....
+--- !u!222 &1962332874
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1962332871}
diff --git a/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity.meta b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f554412d8764b3a96e7b9b9380f4ac7fbc3230e1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 42f6aa7ce7a604f16ade319663f46ceb
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a5db26b2e89083d5b747ba81a59e882d603d2bee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 59ed766f3a74135449dc3f48437e1ca0
+folderAsset: yes
+timeCreated: 1510691192
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/BuildingCollection.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/BuildingCollection.asset
new file mode 100644
index 0000000000000000000000000000000000000000..80c60bb9192777956c186415df3b3a670fbf869e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/BuildingCollection.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 82ed8ed837e25084bbe8a37d53c5b77b, type: 3}
+  m_Name: BuildingCollection
+  m_EditorClassIdentifier: 
+  Count: 2406
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/BuildingCollection.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/BuildingCollection.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f15dc3663664dc26c0ef1515fb5e717ac93c0d44
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/BuildingCollection.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: f11fd5ce183f93846858df725d8eab7b
+timeCreated: 1519743585
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/DataExplorer.unity b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/DataExplorer.unity
new file mode 100644
index 0000000000000000000000000000000000000000..f09b29245663e79132fa16ca1b143bfe86c60a26
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/DataExplorer.unity
@@ -0,0 +1,5353 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &51311275
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1452734211165118, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 51311276}
+  - component: {fileID: 51311278}
+  - component: {fileID: 51311277}
+  m_Layer: 5
+  m_Name: SearchText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &51311276
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224120818998345342, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 51311275}
+  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: 202522070}
+  m_RootOrder: 1
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &51311277
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114608658907116364, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 51311275}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &51311278
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222195337741236042, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 51311275}
+--- !u!1 &61871744
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1309470221448190, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 61871745}
+  - component: {fileID: 61871747}
+  - component: {fileID: 61871746}
+  m_Layer: 5
+  m_Name: Placeholder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &61871745
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224333804213914554, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 61871744}
+  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: 202522070}
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &61871746
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114620971063286122, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 61871744}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 2
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter your location
+--- !u!222 &61871747
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222294672724154868, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 61871744}
+--- !u!1 &165147574
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1246307186655398, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 165147579}
+  - component: {fileID: 165147578}
+  - component: {fileID: 165147577}
+  - component: {fileID: 165147576}
+  - component: {fileID: 165147575}
+  m_Layer: 5
+  m_Name: ReloadMapCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &165147575
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114632240689637620, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c00b1c78fb49f4ebd834aac587275216, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _forwardGeocoder: {fileID: 202522074}
+  _zoomSlider: {fileID: 559464198}
+--- !u!114 &165147576
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114398042337336202, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &165147577
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114329158974351212, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 400, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &165147578
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 223082131773786238, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1
+  m_TargetDisplay: 0
+--- !u!224 &165147579
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  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_Children:
+  - {fileID: 1300629673}
+  m_Father: {fileID: 0}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!1 &202522069
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1414859872329428, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 202522070}
+  - component: {fileID: 202522073}
+  - component: {fileID: 202522072}
+  - component: {fileID: 202522071}
+  - component: {fileID: 202522074}
+  m_Layer: 5
+  m_Name: UserInput
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &202522070
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224048572454037920, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+  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:
+  - {fileID: 61871745}
+  - {fileID: 51311276}
+  m_Father: {fileID: 1317077999}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &202522071
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114711793206807384, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 202522072}
+  m_TextComponent: {fileID: 51311277}
+  m_Placeholder: {fileID: 61871746}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: ForwardGeocoder
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 0.85
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &202522072
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114431620286575106, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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 &202522073
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222386617050530544, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+--- !u!114 &202522074
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114850405259029928, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!21 &238463973
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &445666842
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &468653251
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1401021118005222, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 468653252}
+  m_Layer: 5
+  m_Name: Zoom
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &468653252
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224538534500426518, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 468653251}
+  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:
+  - {fileID: 1348958297}
+  - {fileID: 559464199}
+  m_Father: {fileID: 1300629673}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 127.5, y: -45.5}
+  m_SizeDelta: {x: 231, y: 23}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!21 &472025664
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &545876597
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1768860123691022, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 545876598}
+  - component: {fileID: 545876600}
+  - component: {fileID: 545876599}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &545876598
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224917229095272750, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 545876597}
+  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: 559464199}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &545876599
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114517333868574894, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 545876597}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &545876600
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222359169490577362, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 545876597}
+--- !u!1 &559464197
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1466557346746850, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 559464199}
+  - component: {fileID: 559464198}
+  m_Layer: 5
+  m_Name: Slider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &559464198
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114023684558016336, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 559464197}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 686632758}
+  m_FillRect: {fileID: 1256832752}
+  m_HandleRect: {fileID: 686632756}
+  m_Direction: 0
+  m_MinValue: 0
+  m_MaxValue: 20
+  m_WholeNumbers: 1
+  m_Value: 16
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!224 &559464199
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224155718882878594, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 559464197}
+  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:
+  - {fileID: 545876598}
+  - {fileID: 1572338212}
+  - {fileID: 1271362437}
+  m_Father: {fileID: 468653252}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -12}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!21 &668559354
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &686632755
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1748656016281148, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 686632756}
+  - component: {fileID: 686632757}
+  - component: {fileID: 686632758}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &686632756
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224722295744740158, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 686632755}
+  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: 1271362437}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.8, y: 0}
+  m_AnchorMax: {x: 0.8, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &686632757
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222410947139892146, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 686632755}
+--- !u!114 &686632758
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114372218451069632, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 686632755}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10913, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!21 &744797970
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &932788899
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &980297122
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1884765832795660, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 980297123}
+  - component: {fileID: 980297125}
+  - component: {fileID: 980297124}
+  m_Layer: 5
+  m_Name: GeocoderLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &980297123
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224460312872028030, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 980297122}
+  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: 1317077999}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 1, y: 0}
+--- !u!114 &980297124
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114470729243328852, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 980297122}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Search
+--- !u!222 &980297125
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222758917679313182, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 980297122}
+--- !u!21 &1071761050
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &1140862600
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1140862602}
+  - component: {fileID: 1140862601}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1140862601
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1140862600}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 40.7648, -73.9808
+      zoom: 16
+    extentOptions:
+      extentType: 0
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 1351042193}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 3
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Light
+          Id: mapbox://styles/mapbox/light-v9
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 1
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - 
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - contour
+        - country_label
+        - hillshade
+        - housenum_label
+        - landcover
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - traffic
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 2
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Streets
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7,mapbox.mapbox-traffic-v1,mapbox.mapbox-terrain-v2
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Waterway
+          geometryType: 1
+          layerName: waterway
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: waterway
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: waterway
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0.5
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: ab4ee1288a054a84b85ba5cf5a0abf34, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: ab4ee1288a054a84b85ba5cf5a0abf34, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: ab4ee1288a054a84b85ba5cf5a0abf34, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: ab4ee1288a054a84b85ba5cf5a0abf34, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Aeroway
+          geometryType: 1
+          layerName: aeroway
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: aeroway
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: aeroway
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0.5
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: c0be5c38e1944584b89f81505e3c4446, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: c0be5c38e1944584b89f81505e3c4446, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: c0be5c38e1944584b89f81505e3c4446, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: c0be5c38e1944584b89f81505e3c4446, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: BarrierLine
+          geometryType: 1
+          layerName: barrier_line
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: barrier_line
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: barrier_line
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: a4c397925829de8438fa9bb51535fd17, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: a4c397925829de8438fa9bb51535fd17, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: a4c397925829de8438fa9bb51535fd17, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: a4c397925829de8438fa9bb51535fd17, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: LanduseOverlay
+          geometryType: 2
+          layerName: landuse_overlay
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: landuse_overlay
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: landuse_overlay
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 2
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: 7c0707aad770f0f4ca09b79e3961539b, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 7c0707aad770f0f4ca09b79e3961539b, type: 2}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 2
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Admin
+          geometryType: 1
+          layerName: admin
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: admin
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: admin
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: CountryLabel
+          geometryType: 0
+          layerName: country_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: country_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: country_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: MarineLabel
+          geometryType: 0
+          layerName: marine_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: marine_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: marine_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: StateLabel
+          geometryType: 0
+          layerName: state_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: state_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: state_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: WaterLabel
+          geometryType: 0
+          layerName: water_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: water_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: water_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: PlaceLabel
+          geometryType: 0
+          layerName: place_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: place_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: place_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: RoadLabel
+          geometryType: 0
+          layerName: road_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: road_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: road_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: WaterwayLabel
+          geometryType: 0
+          layerName: waterway_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: waterway_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: waterway_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: AirportLabel
+          geometryType: 0
+          layerName: airport_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: airport_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: airport_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: RailStationLabel
+          geometryType: 0
+          layerName: rail_station_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: rail_station_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: rail_station_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: MountainPeakLabel
+          geometryType: 0
+          layerName: mountain_peak_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: mountain_peak_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: mountain_peak_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: HouseNumberLabel
+          geometryType: 0
+          layerName: housenum_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: housenum_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: housenum_label
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 856c73f1fff593349bebf4e5b37f6e50, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: MotorwayJunction
+          geometryType: 0
+          layerName: motorway_junction
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: motorway_junction
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: motorway_junction
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: ceca5248b4c18354d8089a76da2f7f45, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Landcover
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0.2
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: ff2f824fb9ab7b54b90a44e4394d18ea, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: ff2f824fb9ab7b54b90a44e4394d18ea, type: 2}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Hillshade
+          geometryType: 2
+          layerName: hillshade
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: hillshade
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: hillshade
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 3
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: 204bcfc5761ef1b46b9301bc80304e2b, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 204bcfc5761ef1b46b9301bc80304e2b, type: 2}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Contour
+          geometryType: 1
+          layerName: contour
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: contour
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: contour
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0.5
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: c0be5c38e1944584b89f81505e3c4446, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: c0be5c38e1944584b89f81505e3c4446, type: 2}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: LowTrafficCongestion
+          geometryType: 1
+          layerName: traffic
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: traffic
+          filters:
+          - Key: congestion
+            KeyDescription: 'Congestion severity. One of: ''low'', ''moderate'', ''heavy'',
+              ''severe'''
+            PropertyValue: low
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: traffic
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: aaa94592a6eb9c8418d32b37b10f288d, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: aaa94592a6eb9c8418d32b37b10f288d, type: 2}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: ModerateTrafficCongestion
+          geometryType: 1
+          layerName: traffic
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: traffic
+          filters:
+          - Key: congestion
+            KeyDescription: 'Congestion severity. One of: ''low'', ''moderate'', ''heavy'',
+              ''severe'''
+            PropertyValue: moderate
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: traffic
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: 8d222a6659da43e45b6274794e67d47a, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 8d222a6659da43e45b6274794e67d47a, type: 2}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: HeavyTrafficCongestion
+          geometryType: 1
+          layerName: traffic
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: traffic
+          filters:
+          - Key: congestion
+            KeyDescription: 'Congestion severity. One of: ''low'', ''moderate'', ''heavy'',
+              ''severe'''
+            PropertyValue: heavy
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: traffic
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: bdad3ccf6401a414188827874d8999aa, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: bdad3ccf6401a414188827874d8999aa, type: 2}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: SevereTrafficCongestion
+          geometryType: 1
+          layerName: traffic
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: traffic
+          filters:
+          - Key: congestion
+            KeyDescription: 'Congestion severity. One of: ''low'', ''moderate'', ''heavy'',
+              ''severe'''
+            PropertyValue: severe
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: traffic
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: 0de83c8715792fe43aceecafcdbd8b24, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 0de83c8715792fe43aceecafcdbd8b24, type: 2}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Buildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 3
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 4
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 668559354}
+          - Materials:
+            - {fileID: 1071761050}
+          atlasInfo: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 1525071599}
+            - Materials:
+              - {fileID: 1148694828}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Roads
+          geometryType: 1
+          layerName: road
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: road
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: road
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0.5
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 1990413895}
+          - Materials:
+            - {fileID: 1329723471}
+          atlasInfo: {fileID: 11400000, guid: 59ca6a03aa1ab4d5797fc37bc0f37797, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 1
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Parks
+          geometryType: 2
+          layerName: landuse
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: landuse
+          filters:
+          - Key: type
+            KeyDescription: OSM tag, more specific than class
+            PropertyValue: park
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: landuse
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 1401528517}
+          - Materials:
+            - {fileID: 1750816680}
+          atlasInfo: {fileID: 11400000, guid: 05066a15aa3b24c6493cc83636625fe3, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: ff2f824fb9ab7b54b90a44e4394d18ea, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: ff2f824fb9ab7b54b90a44e4394d18ea, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 2
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: PoiLabels
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: poi_label
+          filters:
+          - Key: localrank
+            KeyDescription: Number. Priority relative to nearby POIs. Useful for limiting
+              label density.
+            PropertyValue: 
+            Min: 1
+            Max: 0
+            filterOperator: 1
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: landuse
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 4
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 932788899}
+          - Materials:
+            - {fileID: 744797970}
+          atlasInfo: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 238463973}
+            - Materials:
+              - {fileID: 1651064023}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 90f8fc7667430374d9ddd1907cf522dd, type: 2}
+        presetFeatureType: 3
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Pois
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: poi_label
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: landuse
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 4
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 445666842}
+          - Materials:
+            - {fileID: 472025664}
+          atlasInfo: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 1152717015}
+            - Materials:
+              - {fileID: 1236377267}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 873cf898fb44149798c637959fd811ba, type: 2}
+        - {fileID: 11400000, guid: 69c9fbc203d6e934ea944041d43ea709, type: 2}
+        presetFeatureType: 3
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Water
+          geometryType: 2
+          layerName: water
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: water
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: water
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0.4
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 0}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 55643c4fd976d7e429bda0a90c976b14, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: 55643c4fd976d7e429bda0a90c976b14, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+  _previewOptions:
+    isPreviewEnabled: 0
+--- !u!4 &1140862602
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1140862600}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!21 &1148694828
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1152717015
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1236377267
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &1256832751
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1291234444091486, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1256832752}
+  - component: {fileID: 1256832754}
+  - component: {fileID: 1256832753}
+  m_Layer: 5
+  m_Name: Fill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1256832752
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224771389989224222, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1256832751}
+  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: 1572338212}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.8, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 10, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1256832753
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114848192389514190, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1256832751}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1256832754
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222371227108701474, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1256832751}
+--- !u!1 &1271362436
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1130209808532952, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1271362437}
+  m_Layer: 5
+  m_Name: Handle Slide Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1271362437
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224885144614080300, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1271362436}
+  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:
+  - {fileID: 686632756}
+  m_Father: {fileID: 559464199}
+  m_RootOrder: 2
+  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: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1300629672
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1465653171882796, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1300629673}
+  - component: {fileID: 1300629676}
+  - component: {fileID: 1300629675}
+  - component: {fileID: 1300629674}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1300629673
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224031879083185220, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1300629672}
+  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:
+  - {fileID: 1317077999}
+  - {fileID: 468653252}
+  m_Father: {fileID: 165147579}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 250, y: 30}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &1300629674
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114225640444197696, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1300629672}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.678}
+  m_RaycastTarget: 1
+  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 &1300629675
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222276008827229016, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1300629672}
+--- !u!114 &1300629676
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114539028991012686, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1300629672}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 12
+    m_Right: 7
+    m_Top: 7
+    m_Bottom: 3
+  m_ChildAlignment: 0
+  m_Spacing: 4
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!1 &1317077998
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1041193504261098, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1317077999}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1317077999
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224178813210018432, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1317077998}
+  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:
+  - {fileID: 980297123}
+  - {fileID: 202522070}
+  m_Father: {fileID: 1300629673}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!21 &1329723471
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
+--- !u!1 &1348958296
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1478380032039622, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1348958297}
+  - component: {fileID: 1348958299}
+  - component: {fileID: 1348958298}
+  m_Layer: 5
+  m_Name: ZoomLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1348958297
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224022329360643548, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1348958296}
+  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: 468653252}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1348958298
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114615401511486178, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1348958296}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Zoom
+--- !u!222 &1348958299
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222471317231544810, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1348958296}
+--- !u!1 &1351042186
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1351042194}
+  - component: {fileID: 1351042193}
+  - component: {fileID: 1351042192}
+  - component: {fileID: 1351042191}
+  - component: {fileID: 1351042190}
+  - component: {fileID: 1351042187}
+  - component: {fileID: 1351042188}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1351042187
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9527fd56bc6a0c549a1e550219f9b16e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 0}
+  _panSpeed: 5
+  _zoomSpeed: 0
+  _referenceCamera: {fileID: 1351042193}
+--- !u!114 &1351042188
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce97be288e861a243b6c6df4cc790edc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  ShadowDistance: 1000
+--- !u!81 &1351042190
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+--- !u!124 &1351042191
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+--- !u!92 &1351042192
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+--- !u!20 &1351042193
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 10
+  far clip plane: 3000
+  field of view: 20
+  orthographic: 0
+  orthographic size: 143.6
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294966271
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 1
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1351042194
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_LocalRotation: {x: 0.2588191, y: 0, z: 0, w: 0.9659258}
+  m_LocalPosition: {x: 0, y: 225, z: -400}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1397620595}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 30, y: 0, z: 0}
+--- !u!1 &1397620588
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1397620595}
+  - component: {fileID: 1397620594}
+  m_Layer: 0
+  m_Name: LabelCamera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!20 &1397620594
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1397620588}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 10
+  far clip plane: 2000
+  field of view: 20
+  orthographic: 0
+  orthographic size: 143.6
+  m_Depth: 1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 1024
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 1
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1397620595
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1397620588}
+  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: 1351042194}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 37.510002, y: 0, z: 0}
+--- !u!21 &1401528517
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: ColorTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
+--- !u!1001 &1401776645
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 6
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>Data Explorer</b>\n\nExplore Mapbox\u2019s location data. Each map
+        vector tile contains detailed info about locations and buildings. You can
+        leverage this data to procedurally generate experiences or for data-driven
+        styling. The data layers include building data, points of interest (POIs),
+        roads, and real-time traffic data. You can toggle these data layers on and
+        off as needed under MAP LAYERS -> FEATURES section of the Map prefab. Also,
+        note the POIs are shown both as labels and as prefabs."
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Value
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &1525071599
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &1552515545
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 1579282941551776, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1572338211
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1599729465296294, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1572338212}
+  m_Layer: 5
+  m_Name: Fill Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1572338212
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224748083790024428, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1572338211}
+  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:
+  - {fileID: 1256832752}
+  m_Father: {fileID: 559464199}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: -5, y: 0}
+  m_SizeDelta: {x: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!21 &1651064023
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1750816680
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: ColorSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
+--- !u!1 &1906963057
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1906963059}
+  - component: {fileID: 1906963058}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1906963058
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1906963057}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 0.8820755, g: 0.99342215, b: 1, a: 1}
+  m_Intensity: 1.2
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 1
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 0.5
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1906963059
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1906963057}
+  m_LocalRotation: {x: -0.19746037, y: -0.73391217, z: 0.50843805, w: 0.40481248}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 35.904, y: -101.049, z: 60}
+--- !u!21 &1990413895
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
+--- !u!1001 &2004251622
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 3adcee2515f8c49f4a7afb3bacf2c56e, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/DataExplorer.unity.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/DataExplorer.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9eb12305c7523f492c0156a3aa0dfd52d38a9c40
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/DataExplorer.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 028ca2c46390a4409bcf0fae61aef3b3
+timeCreated: 1521240711
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/HighlightBuildings.cs b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/HighlightBuildings.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3ecea65f4de513dbee45752a3051ed0487c65a79
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/HighlightBuildings.cs
@@ -0,0 +1,36 @@
+namespace Mapbox.Examples
+{
+	using KDTree;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public class HighlightBuildings : MonoBehaviour
+	{
+		public KdTreeCollection Collection;
+		public int MaxCount = 100;
+		public float Range = 10;
+		Ray ray;
+		Plane groundPlane = new Plane(Vector3.up, Vector3.zero);
+		Vector3 pos;
+		float rayDistance;
+		private NearestNeighbour<VectorEntity> pIter;
+
+		void Update()
+		{
+			if (Input.GetMouseButton(0))
+			{
+				ray = Camera.main.ScreenPointToRay(Input.mousePosition);
+				if (groundPlane.Raycast(ray, out rayDistance))
+				{
+					pos = ray.GetPoint(rayDistance);
+					pIter = Collection.NearestNeighbors(new double[] { pos.x, pos.z }, MaxCount, Range);
+					while (pIter.MoveNext())
+					{
+						pIter.Current.Transform.localScale = Vector3.zero;
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/HighlightBuildings.cs.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/HighlightBuildings.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fb9d8b2261af3b1be046f4ce90c7555738de3c78
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/HighlightBuildings.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: f64621ccb8a60114c83bbd39e5fdc145
+timeCreated: 1522435864
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/InteractiveStyledVectorMap.unity b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/InteractiveStyledVectorMap.unity
new file mode 100644
index 0000000000000000000000000000000000000000..adf2d26ac7a75d03e81493f7837f11483cca736a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/InteractiveStyledVectorMap.unity
@@ -0,0 +1,3292 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &40909802
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 40909803}
+  - component: {fileID: 40909805}
+  - component: {fileID: 40909804}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &40909803
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 40909802}
+  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: 809125703}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &40909804
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 40909802}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &40909805
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 40909802}
+--- !u!1 &51311275
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1452734211165118, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 51311276}
+  - component: {fileID: 51311278}
+  - component: {fileID: 51311277}
+  m_Layer: 5
+  m_Name: SearchText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &51311276
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224120818998345342, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 51311275}
+  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: 202522070}
+  m_RootOrder: 1
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &51311277
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114608658907116364, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 51311275}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &51311278
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222195337741236042, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 51311275}
+--- !u!1 &61871744
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1309470221448190, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 61871745}
+  - component: {fileID: 61871747}
+  - component: {fileID: 61871746}
+  m_Layer: 5
+  m_Name: Placeholder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &61871745
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224333804213914554, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 61871744}
+  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: 202522070}
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &61871746
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114620971063286122, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 61871744}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 2
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter your location
+--- !u!222 &61871747
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222294672724154868, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 61871744}
+--- !u!1 &110210640
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 110210641}
+  - component: {fileID: 110210642}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &110210641
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 110210640}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &110210642
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 110210640}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.7648, -122.463
+      zoom: 16
+    extentOptions:
+      extentType: 1
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 1
+        useCompression: 0
+        useMipMap: 1
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - country_label
+        - housenum_label
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Streets
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: ResidentialBuildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters:
+          - Key: type
+            KeyDescription: In most cases, values will be that of the primary key
+              from OpenStreetMap tags.
+            PropertyValue: residential
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 1
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 1
+        materialOptions:
+          style: 4
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 786260653}
+          - Materials:
+            - {fileID: 1151539327}
+          atlasInfo: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 3
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: a1aa333e18c0640d7b428eecff9c4af7, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: c0653693b48614a139a124871d499679, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 14ec972a1cec2dc429f5eca7d22b572f, type: 2}
+        - {fileID: 11400000, guid: aa354e89f869a4db0a6c3ceb3c79d0be, type: 2}
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: CommercialBuildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters:
+          - Key: type
+            KeyDescription: In most cases, values will be that of the primary key
+              from OpenStreetMap tags.
+            PropertyValue: commercial
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 1
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 1
+        materialOptions:
+          style: 4
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 266479316}
+          - Materials:
+            - {fileID: 799275804}
+          atlasInfo: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 3
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: a1aa333e18c0640d7b428eecff9c4af7, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: c0653693b48614a139a124871d499679, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 14ec972a1cec2dc429f5eca7d22b572f, type: 2}
+        - {fileID: 11400000, guid: aa354e89f869a4db0a6c3ceb3c79d0be, type: 2}
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: OtherBuildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters:
+          - Key: type
+            KeyDescription: In most cases, values will be that of the primary key
+              from OpenStreetMap tags.
+            PropertyValue: commercial
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: type
+            KeyDescription: In most cases, values will be that of the primary key
+              from OpenStreetMap tags.
+            PropertyValue: residential
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 2
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 1
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 1
+        materialOptions:
+          style: 4
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 1705109152}
+          - Materials:
+            - {fileID: 1109468514}
+          atlasInfo: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 3
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: a1aa333e18c0640d7b428eecff9c4af7, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: c0653693b48614a139a124871d499679, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 2
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 14ec972a1cec2dc429f5eca7d22b572f, type: 2}
+        - {fileID: 11400000, guid: aa354e89f869a4db0a6c3ceb3c79d0be, type: 2}
+        - {fileID: 11400000, guid: d534c6a861f735c4dab3990ac3c05158, type: 2}
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Parks
+          geometryType: 2
+          layerName: landuse
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: landuse
+          filters:
+          - Key: type
+            KeyDescription: OSM tag, more specific than class
+            PropertyValue: park
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: landuse
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 2
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: 1843a50abea6fa448a61d143054f2166, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: 1843a50abea6fa448a61d143054f2166, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 1843a50abea6fa448a61d143054f2166, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: 31d8bd8fc9d4850408a1660cf3619850, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 3505ec4e61e3f4c4d88fc3c5548e7144, type: 2}
+        - {fileID: 11400000, guid: d5cfd67d46b2f4892ae231737f3a95f8, type: 2}
+        - {fileID: 11400000, guid: 14ec972a1cec2dc429f5eca7d22b572f, type: 2}
+        - {fileID: 11400000, guid: 4aeb0629486794f25bf199af8a4f4830, type: 2}
+        presetFeatureType: 2
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+  _previewOptions:
+    isPreviewEnabled: 0
+--- !u!1 &165147574
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1246307186655398, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 165147579}
+  - component: {fileID: 165147578}
+  - component: {fileID: 165147577}
+  - component: {fileID: 165147576}
+  - component: {fileID: 165147575}
+  m_Layer: 5
+  m_Name: ReloadMapCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &165147575
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114632240689637620, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c00b1c78fb49f4ebd834aac587275216, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _forwardGeocoder: {fileID: 202522074}
+  _zoomSlider: {fileID: 559464198}
+--- !u!114 &165147576
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114398042337336202, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &165147577
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114329158974351212, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 400, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &165147578
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 223082131773786238, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1
+  m_TargetDisplay: 0
+--- !u!224 &165147579
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 165147574}
+  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_Children:
+  - {fileID: 1300629673}
+  m_Father: {fileID: 0}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!1 &202522069
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1414859872329428, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 202522070}
+  - component: {fileID: 202522073}
+  - component: {fileID: 202522072}
+  - component: {fileID: 202522071}
+  - component: {fileID: 202522074}
+  m_Layer: 5
+  m_Name: UserInput
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &202522070
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224048572454037920, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+  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:
+  - {fileID: 61871745}
+  - {fileID: 51311276}
+  m_Father: {fileID: 1317077999}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &202522071
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114711793206807384, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 202522072}
+  m_TextComponent: {fileID: 51311277}
+  m_Placeholder: {fileID: 61871746}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: ForwardGeocoder
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 0.85
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &202522072
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114431620286575106, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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 &202522073
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222386617050530544, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+--- !u!114 &202522074
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114850405259029928, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 202522069}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!21 &266479316
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &468653251
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1401021118005222, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 468653252}
+  m_Layer: 5
+  m_Name: Zoom
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &468653252
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224538534500426518, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 468653251}
+  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:
+  - {fileID: 1348958297}
+  - {fileID: 559464199}
+  m_Father: {fileID: 1300629673}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 127.5, y: -45.5}
+  m_SizeDelta: {x: 231, y: 23}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &545876597
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1768860123691022, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 545876598}
+  - component: {fileID: 545876600}
+  - component: {fileID: 545876599}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &545876598
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224917229095272750, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 545876597}
+  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: 559464199}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &545876599
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114517333868574894, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 545876597}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &545876600
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222359169490577362, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 545876597}
+--- !u!1 &559464197
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1466557346746850, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 559464199}
+  - component: {fileID: 559464198}
+  m_Layer: 5
+  m_Name: Slider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &559464198
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114023684558016336, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 559464197}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 686632758}
+  m_FillRect: {fileID: 1256832752}
+  m_HandleRect: {fileID: 686632756}
+  m_Direction: 0
+  m_MinValue: 0
+  m_MaxValue: 20
+  m_WholeNumbers: 1
+  m_Value: 16
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!224 &559464199
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224155718882878594, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 559464197}
+  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:
+  - {fileID: 545876598}
+  - {fileID: 1572338212}
+  - {fileID: 1271362437}
+  m_Father: {fileID: 468653252}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -12}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &636814137
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 636814138}
+  m_Layer: 5
+  m_Name: Rectangle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &636814138
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 636814137}
+  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:
+  - {fileID: 1598486597}
+  m_Father: {fileID: 651805447}
+  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: 100, y: 100}
+  m_Pivot: {x: 0, y: 1}
+--- !u!1 &651805446
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 651805447}
+  - component: {fileID: 651805448}
+  m_Layer: 5
+  m_Name: Selector(Clone)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &651805447
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651805446}
+  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:
+  - {fileID: 636814138}
+  - {fileID: 809125703}
+  m_Father: {fileID: 1476680112}
+  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: -447, y: -725}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &651805448
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651805446}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 742344d451cea414d878bf6ae3951a8e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _wrapperMarker: {fileID: 636814138}
+  _infoPanel: {fileID: 809125703}
+  _info: {fileID: 40909804}
+--- !u!1 &686632755
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1748656016281148, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 686632756}
+  - component: {fileID: 686632757}
+  - component: {fileID: 686632758}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &686632756
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224722295744740158, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 686632755}
+  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: 1271362437}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.8, y: 0}
+  m_AnchorMax: {x: 0.8, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &686632757
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222410947139892146, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 686632755}
+--- !u!114 &686632758
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114372218451069632, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 686632755}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10913, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!21 &786260653
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &799275804
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &809125702
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 809125703}
+  - component: {fileID: 809125707}
+  - component: {fileID: 809125706}
+  - component: {fileID: 809125705}
+  - component: {fileID: 809125704}
+  m_Layer: 5
+  m_Name: Info
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &809125703
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 809125702}
+  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:
+  - {fileID: 40909803}
+  m_Father: {fileID: 651805447}
+  m_RootOrder: 1
+  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: 0, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &809125704
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 809125702}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &809125705
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 809125702}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.22745098, g: 0.22745098, b: 0.22745098, 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_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &809125706
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 809125702}
+--- !u!114 &809125707
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 809125702}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 4
+    m_Right: 4
+    m_Top: 4
+    m_Bottom: 4
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!1 &980297122
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1884765832795660, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 980297123}
+  - component: {fileID: 980297125}
+  - component: {fileID: 980297124}
+  m_Layer: 5
+  m_Name: GeocoderLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &980297123
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224460312872028030, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 980297122}
+  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: 1317077999}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 1, y: 0}
+--- !u!114 &980297124
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114470729243328852, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 980297122}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Search
+--- !u!222 &980297125
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222758917679313182, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 980297122}
+--- !u!21 &1109468514
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1151539327
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &1256832751
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1291234444091486, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1256832752}
+  - component: {fileID: 1256832754}
+  - component: {fileID: 1256832753}
+  m_Layer: 5
+  m_Name: Fill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1256832752
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224771389989224222, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1256832751}
+  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: 1572338212}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.8, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 10, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1256832753
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114848192389514190, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1256832751}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1256832754
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222371227108701474, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1256832751}
+--- !u!1 &1271362436
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1130209808532952, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1271362437}
+  m_Layer: 5
+  m_Name: Handle Slide Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1271362437
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224885144614080300, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1271362436}
+  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:
+  - {fileID: 686632756}
+  m_Father: {fileID: 559464199}
+  m_RootOrder: 2
+  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: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1300629672
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1465653171882796, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1300629673}
+  - component: {fileID: 1300629676}
+  - component: {fileID: 1300629675}
+  - component: {fileID: 1300629674}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1300629673
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224031879083185220, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1300629672}
+  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:
+  - {fileID: 1317077999}
+  - {fileID: 468653252}
+  m_Father: {fileID: 165147579}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 250, y: 30}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &1300629674
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114225640444197696, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1300629672}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.678}
+  m_RaycastTarget: 1
+  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 &1300629675
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222276008827229016, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1300629672}
+--- !u!114 &1300629676
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114539028991012686, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1300629672}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 12
+    m_Right: 7
+    m_Top: 7
+    m_Bottom: 3
+  m_ChildAlignment: 0
+  m_Spacing: 4
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!1 &1317077998
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1041193504261098, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1317077999}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1317077999
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224178813210018432, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1317077998}
+  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:
+  - {fileID: 980297123}
+  - {fileID: 202522070}
+  m_Father: {fileID: 1300629673}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1348958296
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1478380032039622, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1348958297}
+  - component: {fileID: 1348958299}
+  - component: {fileID: 1348958298}
+  m_Layer: 5
+  m_Name: ZoomLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1348958297
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224022329360643548, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1348958296}
+  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: 468653252}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1348958298
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114615401511486178, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1348958296}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Zoom
+--- !u!222 &1348958299
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222471317231544810, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1348958296}
+--- !u!1 &1351042186
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1351042194}
+  - component: {fileID: 1351042193}
+  - component: {fileID: 1351042192}
+  - component: {fileID: 1351042191}
+  - component: {fileID: 1351042190}
+  - component: {fileID: 1351042187}
+  - component: {fileID: 1351042188}
+  - component: {fileID: 1351042189}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1351042187
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9527fd56bc6a0c549a1e550219f9b16e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 110210642}
+  _panSpeed: 5
+  _zoomSpeed: 20
+  _referenceCamera: {fileID: 1351042193}
+--- !u!114 &1351042188
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce97be288e861a243b6c6df4cc790edc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  ShadowDistance: 1000
+--- !u!114 &1351042189
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f64621ccb8a60114c83bbd39e5fdc145, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Collection: {fileID: 11400000, guid: f11fd5ce183f93846858df725d8eab7b, type: 2}
+  MaxCount: 100
+  Range: 10
+--- !u!81 &1351042190
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+--- !u!124 &1351042191
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+--- !u!92 &1351042192
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+--- !u!20 &1351042193
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 10
+  far clip plane: 3000
+  field of view: 20
+  orthographic: 0
+  orthographic size: 143.6
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294966271
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 1
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1351042194
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1351042186}
+  m_LocalRotation: {x: 0.38268343, y: 0, z: 0, w: 0.92387956}
+  m_LocalPosition: {x: 27, y: 279, z: -279}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1397620595}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0}
+--- !u!1 &1397620588
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1397620595}
+  - component: {fileID: 1397620594}
+  m_Layer: 0
+  m_Name: LabelCamera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!20 &1397620594
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1397620588}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 10
+  far clip plane: 2000
+  field of view: 20
+  orthographic: 0
+  orthographic size: 143.6
+  m_Depth: 1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 1024
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 1
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1397620595
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1397620588}
+  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: 1351042194}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 37.510002, y: 0, z: 0}
+--- !u!1001 &1401776645
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 6
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: '<b>Styling Based on Vector Tile Data</b>
+
+
+        This is a vector tile map where you can interact with individual buildings
+        to show their associated information (contained in the vector tile). This
+        example also shows how to procedurally decorate land use and how to render
+        building types differently based on their classification. '
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -0.000015258789
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Value
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1476680108
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1476680112}
+  - component: {fileID: 1476680111}
+  - component: {fileID: 1476680110}
+  - component: {fileID: 1476680109}
+  m_Layer: 0
+  m_Name: InteractiveSelectionCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1476680109
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1476680108}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &1476680110
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1476680108}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &1476680111
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1476680108}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &1476680112
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1476680108}
+  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_Children:
+  - {fileID: 651805447}
+  m_Father: {fileID: 0}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!1001 &1552515545
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114103084892184410, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: MapVisualizer
+      value: 
+      objectReference: {fileID: 11400000, guid: 02a98fd6de7af4e4985b970acb849e8b,
+        type: 2}
+    - target: {fileID: 1579282941551776, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1572338211
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1599729465296294, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1572338212}
+  m_Layer: 5
+  m_Name: Fill Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1572338212
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224748083790024428, guid: 00f5bf1ff996842fc82384f8f686fda6,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1572338211}
+  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:
+  - {fileID: 1256832752}
+  m_Father: {fileID: 559464199}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: -5, y: 0}
+  m_SizeDelta: {x: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1598486596
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1598486597}
+  - component: {fileID: 1598486599}
+  - component: {fileID: 1598486598}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1598486597
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1598486596}
+  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: 636814138}
+  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 &1598486598
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1598486596}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_Sprite: {fileID: 21300000, guid: 08b4886c5f0c3ff44b22f58629865352, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1598486599
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1598486596}
+--- !u!21 &1705109152
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &1906963057
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1906963059}
+  - component: {fileID: 1906963058}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1906963058
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1906963057}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 1
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 0.5
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1906963059
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1906963057}
+  m_LocalRotation: {x: 0.12236196, y: -0.86748886, z: 0.40451667, w: 0.26240608}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -146.34, z: 0}
+--- !u!1001 &2004251622
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 3adcee2515f8c49f4a7afb3bacf2c56e, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/InteractiveStyledVectorMap.unity.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/InteractiveStyledVectorMap.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..98a5aa737a2d6237e18701fcf2518765682ccff0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/InteractiveStyledVectorMap.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 52800afdfcee54908a3d4a475f2662bd
+timeCreated: 1521483358
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f74c6650ca507cc69912374cf793ee25b78964a1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 423420df4e1eaa04292614564c3c7cf3
+folderAsset: yes
+timeCreated: 1511897287
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a8dade53a9152bbd74bd60fb23c4b650380740c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 85666bbf59596af4b912873b42eef525
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1f212b7e76db2f3900d8fed0cc64ea8de079df42
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerAdminHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 3
+  _createSideWalls: 1
+  _separateSubmesh: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e6c3599ca505897a27b7b888f5d4d32fd4863ff
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5599bc26f770089499c427c38ae51a83
+timeCreated: 1510754003
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7e612359a8438e44599579eb810aa94d85460f04
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerAdminLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: admin
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: e4bbc73149468fc4b8ed2742a1f8e91e, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b3cc83d1854ef08e36b0b91f870333ef5d63ff01
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerAdminLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a43834b9bf817be448df812918e8ea49
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlack.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlack.mat
new file mode 100644
index 0000000000000000000000000000000000000000..81d613f2c87926e6dd2af6be4445e4be11f73ef3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlack.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: ExplorerBlack
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.2205882, g: 0.2205882, b: 0.2205882, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlack.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlack.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f44171fcebd405a5fd6b1cdde097e63c41a443bb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlack.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: dd63290cb53906349af7ea675627a697
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlackMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlackMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..fb0c877feef26883ac0d673ec7a8ce0bdc4565a4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlackMaterialModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerBlackMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
+  - Materials:
+    - {fileID: 2100000, guid: dd63290cb53906349af7ea675627a697, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlackMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlackMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8aa8b964563a59cff5c7062577e2849f7a045942
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerBlackMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 511e3d77affce684884e6a669c2467ed
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerDefaultAdmin.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerDefaultAdmin.asset
new file mode 100644
index 0000000000000000000000000000000000000000..6dd7e17dd8ab3ddd3e8b67be84c89fbe6246f582
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerDefaultAdmin.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultAdmin
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 1
+  MeshModifiers:
+  - {fileID: 11400000, guid: b486720f300660244af7af227670240d, type: 2}
+  - {fileID: 11400000, guid: 5599bc26f770089499c427c38ae51a83, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 511e3d77affce684884e6a669c2467ed, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerDefaultAdmin.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerDefaultAdmin.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35e384161043e0db0a9fd4fe30e38f6518344e7c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/AdminLayer/ExplorerDefaultAdmin.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e4bbc73149468fc4b8ed2742a1f8e91e
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8ef425e3098dd79bdf8f6be3ff71f8b627397698
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a9bd23b6443990a4b8cd7c834a740b37
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAeroway.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAeroway.mat
new file mode 100644
index 0000000000000000000000000000000000000000..6ab2fb7ab0a4313c234b91b6c889488e7ed03b5f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAeroway.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: ExplorerAeroway
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.6102941, g: 0.5901779, b: 0.31860942, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAeroway.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAeroway.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b0663b57b409f545cb7a568005b764b320aea2bf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAeroway.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c0be5c38e1944584b89f81505e3c4446
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a796fe1d90a4c0bf21e928465dae2d614099ecf5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerAerowayLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: aeroway
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: a0c57e4d169041b489c1d894b283c3f2, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..674ccb29d190b912da48e46f07539f08f08eac30
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cb3fd8f530fe8e44dbf19e06224b20d0
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..792c066fe3802170b0d6c07e216479f81d753127
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayMaterialModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerAerowayMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: c0be5c38e1944584b89f81505e3c4446, type: 2}
+  - Materials:
+    - {fileID: 2100000, guid: c0be5c38e1944584b89f81505e3c4446, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a08b77bccd21340f6a86e0b23f21c06c44a360be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerAerowayMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 30ddb3ac913e1d0468943db9bec06275
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerDefaultAeroway.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerDefaultAeroway.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7d301d8149b0ebbde6b75864d3c77ac2de581eea
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerDefaultAeroway.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultAeroway
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: b486720f300660244af7af227670240d, type: 2}
+  - {fileID: 11400000, guid: 51f99d677d3e0eb439d2967d1187478a, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 30ddb3ac913e1d0468943db9bec06275, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerDefaultAeroway.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerDefaultAeroway.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ed453b7071754d2fc9d2eb9da546d770bf163df5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Aeroway/ExplorerDefaultAeroway.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a0c57e4d169041b489c1d894b283c3f2
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f9fe0c22439c28ca9b67816d628c6078736b3e7a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6c17425e6ba45a14eb90128d300bfcd7
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e4b7715f0b8c93687d5b4f04d05750039dd62df1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerBarrierHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 1
+  _createSideWalls: 1
+  _separateSubmesh: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c14239b8ae495149af052437bd5eca51f8c021ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0cc71dae0748f2047aa09a55873dba03
+timeCreated: 1510754003
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..b4d87b9b04da1857452e998f57064e478eb582c3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerBarrierLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: barrier_line
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: a8539f1dd504b0c4eafbdaf0a7128a6b, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d150220d7260ba09845868600a5c4ac410cbf1d1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 22e0f35be3a038942b4521c6fec760d6
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLineMeshModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLineMeshModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..ed4aa07e47bd8f3a213d0b934e7c478fb9f2e611
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLineMeshModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9e1e9c060b6589e4e8b990a9c709bcdd, type: 3}
+  m_Name: ExplorerBarrierLineMeshModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  Width: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLineMeshModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLineMeshModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..319811c1d4f2f99358adf8a9def3f76f1a775ed6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerBarrierLineMeshModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6256fede3c5b3ec4c912924d6f94a32d
+timeCreated: 1510754881
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerDefaultBarrier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerDefaultBarrier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..8d9e139dbd7e0d60a2dd5ab1b5e9c44ae4afd33b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerDefaultBarrier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultBarrier
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 6256fede3c5b3ec4c912924d6f94a32d, type: 2}
+  - {fileID: 11400000, guid: 0cc71dae0748f2047aa09a55873dba03, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: c4f068c1efdf8574a851e0ccdc3700d8, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerDefaultBarrier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerDefaultBarrier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..66869b5fe1cb289ffb8fb2a92859d1ee9639b18f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BarrierLine/ExplorerDefaultBarrier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a8539f1dd504b0c4eafbdaf0a7128a6b
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..93b153895c8e27c4db6d7859beb0846a40963740
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b34b704da26cacf4fb910650bda0eb13
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerBuildingLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerBuildingLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e856d6142a2009275c2688c6aeafbadbaec1c296
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerBuildingLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerBuildingLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: building
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: cf704fe8cf1ef0e4a96a47c6a96ab23c, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerBuildingLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerBuildingLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6fe862309598cd27899881428d1ff5aea28ed123
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerBuildingLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1d2c597868e13c84b9c6c8e013ef80e5
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerDefaultBuilding.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerDefaultBuilding.asset
new file mode 100644
index 0000000000000000000000000000000000000000..42ddfac4ff74fee6d401fa45b3d3a5b2ac79c09d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerDefaultBuilding.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3}
+  m_Name: ExplorerDefaultBuilding
+  m_EditorClassIdentifier: 
+  MeshModifiers:
+  - {fileID: 11400000, guid: 42df5b13ebbfe2a4aa3f0ec75a7a5852, type: 2}
+  - {fileID: 11400000, guid: 23fec0796c24f584ca6c13522eb63102, type: 2}
+  - {fileID: 11400000, guid: 97f59348b2a022d4eb425de65a1f8ce5, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 4ffac34077d07704593381f2fec545e5, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerDefaultBuilding.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerDefaultBuilding.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1e037f39aa7a0924825cf66677cc45cb8e8f71ae
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerDefaultBuilding.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cf704fe8cf1ef0e4a96a47c6a96ab23c
+timeCreated: 1511888431
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerFlatTopHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerFlatTopHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4ac148b4dc4748ec034e7bed0c945822b23b63be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerFlatTopHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerFlatTopHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 1
+  _forceHeight: 0
+  _height: 0
+  _createSideWalls: 1
+  _separateSubmesh: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerFlatTopHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerFlatTopHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..427c062c7c2ddab48fcfda5d3bc322ff1b3a95f3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerFlatTopHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 01daf891a4a08fc4d8bcefefb45330ff
+timeCreated: 1510754040
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhite.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhite.mat
new file mode 100644
index 0000000000000000000000000000000000000000..cd53b0afdf88d4c49f752f8b21a4ea98a0e70341
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhite.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: ExplorerWhite
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhite.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhite.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e4e41e8b09f7b9194e01f888c3401aba052b9cc9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhite.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 508236771313ff54788fa797ece5c0e8
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhiteMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhiteMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7d2c2dabd75158dd8d9229984b1407d0114b13c7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhiteMaterialModifier.asset
@@ -0,0 +1,24 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerWhiteMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 508236771313ff54788fa797ece5c0e8, type: 2}
+    - Materials:
+      - {fileID: 2100000, guid: 508236771313ff54788fa797ece5c0e8, type: 2}
+    atlasInfo: {fileID: 0}
+    colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhiteMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhiteMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e84ab318cbec391ac5471074cf619f849f032225
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/BuildingLayer/ExplorerWhiteMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4ffac34077d07704593381f2fec545e5
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour.meta
new file mode 100644
index 0000000000000000000000000000000000000000..04abdfce06dce6a708ce7fdf58348e2a82266a21
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 178440d9ef7aece4c96940bf58b03411
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContour.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContour.mat
new file mode 100644
index 0000000000000000000000000000000000000000..0d8ea2b7dcf5dc1457661575f14e3ba526bd421a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContour.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: ExplorerContour
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.6102941, g: 0.5901779, b: 0.31860942, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContour.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContour.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d8d19143bcc71a9c219c14fdcec4eeb249e64930
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContour.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5e9f3304a79c81c4e8a073c7fd3a728f
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..ea24a88e5fea0bf19bbd6d7df81f82a079e208b6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerContourLayer
+  m_EditorClassIdentifier: 
+  Active: 0
+  _classificationKey: 
+  _key: contour
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 1d05cb4dfed21d641beec914be1173c6, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4e2b7f097a009d9c7313be95e2d5403d600539d5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4e4efb2d5605dca45b383e202df750ed
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..ac13d0725fe90c1a61ddbcefe059480ef6459b41
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourMaterialModifier.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerContourMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 0}
+    - Materials:
+      - {fileID: 0}
+    atlasInfo: {fileID: 0}
+    lightStyleOpacity: 1
+    darkStyleOpacity: 1
+    colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+    samplePalettes: 0
+    colorPalette: {fileID: 0}
+    customStyleOptions:
+      texturingType: 0
+      materials:
+      - Materials:
+        - {fileID: 2100000, guid: 5e9f3304a79c81c4e8a073c7fd3a728f, type: 2}
+      - Materials:
+        - {fileID: 2100000, guid: 5e9f3304a79c81c4e8a073c7fd3a728f, type: 2}
+      atlasInfo: {fileID: 0}
+      colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9d9d03d3f2ac174288b7dc8b68cf01d1d922b90f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerContourMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 856c73f1fff593349bebf4e5b37f6e50
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerDefaultContour.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerDefaultContour.asset
new file mode 100644
index 0000000000000000000000000000000000000000..016261d6d3bbea1813631db6180cf80e8e957a72
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerDefaultContour.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultContour
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 7c518d85eb2ed0440ac158307895eec4, type: 2}
+  - {fileID: 11400000, guid: 51f99d677d3e0eb439d2967d1187478a, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 30ddb3ac913e1d0468943db9bec06275, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerDefaultContour.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerDefaultContour.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..74bf8341d771c57616a012509f62d29d3a1fac34
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Contour/ExplorerDefaultContour.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1d05cb4dfed21d641beec914be1173c6
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerFeatureBehaviourModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerFeatureBehaviourModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4b8fdee86f2dafcaf58ceba3653bf3cef85a9fa1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerFeatureBehaviourModifier.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fdf79806a4f74da4aa48339c010a208c, type: 3}
+  m_Name: ExplorerFeatureBehaviourModifier
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerFeatureBehaviourModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerFeatureBehaviourModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e70cf99a2d85b48a67dbcc4f9b4026544d1af44b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerFeatureBehaviourModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e0ad070e8f7f94a4b930600939d21f90
+timeCreated: 1511897861
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1294b940211d91b5c9895b56badd1e72fe6199a8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 0
+  _height: 0
+  _createSideWalls: 1
+  _separateSubmesh: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..32383ec10c250727b280ea69d66e9fcbe808367a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 59ecaf946bee51a41af2b279888f15bc
+timeCreated: 1511897683
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerLineModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerLineModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..b2e71c15eb1d34113df1e90aa4524fdd8c3c697c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerLineModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9e1e9c060b6589e4e8b990a9c709bcdd, type: 3}
+  m_Name: ExplorerLineModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  Width: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerLineModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerLineModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2a6a22c0ee9459905a48a058cf7ce6b1a2c93dfb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerLineModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b486720f300660244af7af227670240d
+timeCreated: 1511897718
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerPolygonModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerPolygonModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..085f9aa0ee42ce17a44b118b0a620dbd97450ea3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerPolygonModifier.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6c7ba03c743d46c4a99f4971c74f7cbd, type: 3}
+  m_Name: ExplorerPolygonModifier
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerPolygonModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerPolygonModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..23d047825053f68852eb516989911f697d7b6b05
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ExplorerPolygonModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 42df5b13ebbfe2a4aa3f0ec75a7a5852
+timeCreated: 1511897665
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d08a12bff1279024c61901aa233626afd85bf49f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 33399b267dda41347bdb0aa67317ab06
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrown.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrown.mat
new file mode 100644
index 0000000000000000000000000000000000000000..589b2127263299081017e8f2ef411ce9d58366cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrown.mat
@@ -0,0 +1,77 @@
+%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: ExplorerBrown
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.32352942, g: 0.20696367, b: 0.20696367, a: 0.453}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrown.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrown.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..05c0ec69b8afe7996a3c3d72900921cd00707c62
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrown.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 204bcfc5761ef1b46b9301bc80304e2b
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrownMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrownMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..61eef4cd46c8f872d6be718d8006229d4cd174d2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrownMaterialModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerBrownMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: 204bcfc5761ef1b46b9301bc80304e2b, type: 2}
+  - Materials:
+    - {fileID: 2100000, guid: 204bcfc5761ef1b46b9301bc80304e2b, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrownMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrownMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..be7d3bcb4e69e284ced4998f5a860dc582045347
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerBrownMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 40ff3031d2180f742aa59a499f196302
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerDefaultHillshade.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerDefaultHillshade.asset
new file mode 100644
index 0000000000000000000000000000000000000000..339b5e72727c85c11e002de74a5e4625b203e7cd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerDefaultHillshade.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultHillshade
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 42df5b13ebbfe2a4aa3f0ec75a7a5852, type: 2}
+  - {fileID: 11400000, guid: 23fec0796c24f584ca6c13522eb63102, type: 2}
+  - {fileID: 11400000, guid: 15401c4c2325f1047b2f3e428ec0bef8, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 40ff3031d2180f742aa59a499f196302, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerDefaultHillshade.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerDefaultHillshade.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4cfd43dd8bdfd3b1f5d6f6cce5fc003af0b2469
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerDefaultHillshade.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 402b2e5ea5a08164490ed64a6fce081d
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7137f087f3dbc7062f11f81676d984b84dea0db1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerHillshadeHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 3
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a1210e246081344b17cdcbe99178a7f30616ad1e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 15401c4c2325f1047b2f3e428ec0bef8
+timeCreated: 1510754283
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..5ee5c64f1588c55bbf6b95acfacf68709ac34ebe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerHillshadeLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: hillshade
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 402b2e5ea5a08164490ed64a6fce081d, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7c3a1475e9efcb84d3173774feef7c718db532b0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/HillshadeLayer/ExplorerHillshadeLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3b20f5ab134a5b844a01fc10963c7171
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory.meta
new file mode 100644
index 0000000000000000000000000000000000000000..102523956c30704d9da8b325940e087025d7c743
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cee5327cfe74a564ca4d6bf6254369c2
+folderAsset: yes
+timeCreated: 1510753283
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory/ExplorerImageFactory.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory/ExplorerImageFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..93088b45f93599a03b5862f2e0176d0253419985
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory/ExplorerImageFactory.asset
@@ -0,0 +1,23 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2b10536479dade041b6db9893fdf723a, type: 3}
+  m_Name: ExplorerImageFactory
+  m_EditorClassIdentifier: 
+  _mapIdType: 0
+  _customStyle:
+    Name: 
+    Id: mapbox://styles/davidrhodes/cjaqyk6rqhucy2rrv585sh5yu
+    Modified: 
+    UserName: 
+  _mapId: mapbox.satellite
+  _useCompression: 0
+  _useMipMap: 0
+  _useRetina: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory/ExplorerImageFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory/ExplorerImageFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9f8949aac16a5b97c7e53317684c0a1029aaa571
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/ImageFactory/ExplorerImageFactory.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3508d2cc50a550a408fe50ceefbe5748
+timeCreated: 1510753304
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..90fcaf01342f824cb8a1a709a78a795aa11d3656
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ab7ca9c1a45274e408dacb37a988ea30
+folderAsset: yes
+timeCreated: 1510791425
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerAirportLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerAirportLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..9b53375f29f578b30309460785a456a5c4797bd8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerAirportLabelLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerAirportLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: airport_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerAirportLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerAirportLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ded7ebc9c378f67cdde62569824be760c2df337e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerAirportLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: fe2930619a7771943878b0f623501b3e
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerCountryLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerCountryLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..01dd8d499f06a0b9d1d70afaaa5d8290f715261a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerCountryLabelLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerCountryLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: country_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerCountryLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerCountryLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..23900dee26f354c25dc3a0e6ea134b40d4671711
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerCountryLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d068e44a5bb589e4c9be8ff92d2672c8
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerHousenumLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerHousenumLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..9c138b594c469ef8d33543c42ad1bb66154b0020
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerHousenumLabelLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerHousenumLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 0
+  _classificationKey: 
+  _key: housenum_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerHousenumLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerHousenumLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..21694db6baed711f98933025c8a4a31b10b1d182
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerHousenumLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 711d19f949ba80e40a313fcf84e51b15
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMarineLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMarineLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..fd60429eaeb1551363eedd12f63da668ac18a1a1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMarineLabelLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerMarineLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: marine_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMarineLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMarineLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..87ea8538e2545a8ade1a72ab3e43a79cb94c2e60
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMarineLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e7ee854b487dc0541bf3215510907674
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMountainPeakLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMountainPeakLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..15a65bb4c17c7b1c20513115186a1a3acbba405b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMountainPeakLabelLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerMountainPeakLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: mountain_peak_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMountainPeakLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMountainPeakLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7a4eef404ee27b4bae682ff7b462c4e22dd60278
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerMountainPeakLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 00a096e07cdfcde40957f45541a93ad6
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPlaceLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPlaceLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..5d03ff4298e138fff9937d0f2d3d90d6ae69669a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPlaceLabelLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerPlaceLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: place_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPlaceLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPlaceLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8be504551f26a4065409c232a695f2dcfea9a486
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPlaceLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 83a815fafac18304b943123813c42ab9
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPoiLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPoiLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..990e3b538eb7f0fbf9873274844ec2499d96969f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPoiLabelLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerPoiLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 0
+  _classificationKey: 
+  _key: poi_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPoiLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPoiLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e7765327b5fb20f7770600e03ce652e6d8228b7c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerPoiLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 320b64bfd7d45a34e995592e72078663
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRailstationLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRailstationLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..6de58258bb805d3dee8e2a3b4dd6d33d3dd690de
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRailstationLabelLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerRailstationLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: rail_station_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRailstationLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRailstationLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1ada7ee09aa7b4020b54eb35fffb622d2a9e8332
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRailstationLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 67af86a487f07194ba0751ddfcd77106
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRoadLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRoadLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..95b830a3c8ea2c92cb8505e89000e9eff526d75c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRoadLabelLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerRoadLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: road_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRoadLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRoadLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a6d8785bc6ff115d3a9bbfcad562ae10a580fc0d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerRoadLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c5d72b3076bcbf74991b8c6bd8f5ab84
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerStateLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerStateLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e4b92511b232ba90aacdb4430f7b89e9b17fa615
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerStateLabelLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerStateLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 0
+  _classificationKey: 
+  _key: state_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerStateLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerStateLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1e4525310f023289c6cceecf669ea4d2796ea14a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerStateLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f454769f806c35f46ac833b29ad68d7d
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..c820105dd3b6728eb0f32c1fe68e717a1f12cd73
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterLabelLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerWaterLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: water_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a1cfbd23fb03dbcdac3791570e2db84324c85757
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7473d2473339e4e4e8d4a62589360332
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterwayLabelLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterwayLabelLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..9bd68b2a945309f910248e8238bd7f195b551d54
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterwayLabelLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerWaterwayLabelLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: waterway_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: bc82e3da9f727ff409eb9b7ae095995e, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterwayLabelLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterwayLabelLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ac351e0db39388aa00aac9bb24d23476f797bbdd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LabelLayers/ExplorerWaterwayLabelLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b8d0fecde10a2f94d8da4a050754ee71
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..deef0d06cbbaf0d7fc25d76be3e908323a942fa0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c63b571b23ab02248ab14dd7b9eb760b
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreen.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreen.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c5ccc52d5e744538c9d61b664b3a5209fe672047
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreen.mat
@@ -0,0 +1,77 @@
+%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: ExplorerDarkGreen
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.19063582, g: 0.60294116, b: 0.21054034, a: 0.116}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreen.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreen.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f936bfbc06ec3d3352add9f253ccb0d42bbf41fe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreen.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ff2f824fb9ab7b54b90a44e4394d18ea
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreenMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreenMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..b7989adf6d52a70ad36c4d2db211056dfe32a7b9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreenMaterialModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerDarkGreenMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: ff2f824fb9ab7b54b90a44e4394d18ea, type: 2}
+  - Materials:
+    - {fileID: 2100000, guid: ff2f824fb9ab7b54b90a44e4394d18ea, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreenMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreenMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ba02cb57d9b7b3b99d5f772dade443b995fdeb4a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDarkGreenMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6313199ccb9925e4d992167e109b5188
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDefaultLandcover.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDefaultLandcover.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1af780bf37d35515064ce26d284a36f48b96cfd1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDefaultLandcover.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultLandcover
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 42df5b13ebbfe2a4aa3f0ec75a7a5852, type: 2}
+  - {fileID: 11400000, guid: 23fec0796c24f584ca6c13522eb63102, type: 2}
+  - {fileID: 11400000, guid: 273a06d091edd4549a4a80db5b15b1a6, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 6313199ccb9925e4d992167e109b5188, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDefaultLandcover.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDefaultLandcover.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a6778916c3dc21d7405c37430d8de7698a1b94f4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerDefaultLandcover.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 845537aead444ea48954ee0d1814ccbd
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandCoverHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandCoverHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..8dd16706520c89ae3d5061f2c53a1bb35238e4bb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandCoverHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerLandCoverHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 2
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandCoverHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandCoverHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d72142bc190aec387647d77ec0d7bae08b2421ae
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandCoverHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2e3dd95307054ae4cbf2d05a0aeba318
+timeCreated: 1510754283
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandcoverLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandcoverLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..fec2b29ccc44e454642a188dfcb73042cd8273bc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandcoverLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerLandcoverLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: landcover
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 845537aead444ea48954ee0d1814ccbd, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandcoverLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandcoverLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..07fcf064ef9b419fe608080111116683197f5ade
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LandcoverLayer/ExplorerLandcoverLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f1ff2b285816a314ca91887b82fc5901
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..715d0f8baf1f34bbc6d6378d2a78ed700b316acb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b6d6a44892f383e4e9f7b86acc5ec82b
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerDefaultLanduse.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerDefaultLanduse.asset
new file mode 100644
index 0000000000000000000000000000000000000000..86e182994b3809d0aa6d69d29ca413fe9dd63a48
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerDefaultLanduse.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultLanduse
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 42df5b13ebbfe2a4aa3f0ec75a7a5852, type: 2}
+  - {fileID: 11400000, guid: 23fec0796c24f584ca6c13522eb63102, type: 2}
+  - {fileID: 11400000, guid: 273a06d091edd4549a4a80db5b15b1a6, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: f893e6521b12f6544856c461190f04fe, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerDefaultLanduse.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerDefaultLanduse.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a492c42eac612194837169e195d47822fe2fffa5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerDefaultLanduse.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7c822e57e67d34f4e8e4bd06be099dc5
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreen.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreen.mat
new file mode 100644
index 0000000000000000000000000000000000000000..0ed203a2a71d025f222f376225d4a741d5a5af62
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreen.mat
@@ -0,0 +1,77 @@
+%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: ExplorerGreen
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.74448526, g: 0.99264705, b: 0.75646555, a: 0.116}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreen.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreen.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..093087ed912050974e975463ae7114e5e065d530
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreen.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7c0707aad770f0f4ca09b79e3961539b
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreenMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreenMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..09b486c60f978aea2fd476eefbe1af87ea4f1222
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreenMaterialModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerGreenMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: 7c0707aad770f0f4ca09b79e3961539b, type: 2}
+  - Materials:
+    - {fileID: 2100000, guid: 7c0707aad770f0f4ca09b79e3961539b, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreenMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreenMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c6b42cc8e0efc933e634f5c0ebd677bab9c62403
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerGreenMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f893e6521b12f6544856c461190f04fe
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..d5559661cc4946f20dc6de9990b49a26dcaaba82
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerLanduseHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 0.2
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9cadc265f6c5724bf0573ed96ad6c0fd0a3b0f07
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 273a06d091edd4549a4a80db5b15b1a6
+timeCreated: 1510754283
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..2dd52bc6da08d94065dce07e87a6e5ceb815843d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerLanduseLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: landuse
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 7c822e57e67d34f4e8e4bd06be099dc5, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf322e5343760a52543ca1fb52e4c8d491bf9c9f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseLayer/ExplorerLanduseLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: daf79693ba3413847a5a924516fefe2b
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..023301e42995068989bcdf646345588685df043b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3f752dbb0162289429b3d7647f33fdc3
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerDefaultLanduseOverlay.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerDefaultLanduseOverlay.asset
new file mode 100644
index 0000000000000000000000000000000000000000..24c7d63e044d9fac6a69b0f3ba85fa8d5e977988
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerDefaultLanduseOverlay.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultLanduseOverlay
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 2
+  MeshModifiers:
+  - {fileID: 11400000, guid: 42df5b13ebbfe2a4aa3f0ec75a7a5852, type: 2}
+  - {fileID: 11400000, guid: 23fec0796c24f584ca6c13522eb63102, type: 2}
+  - {fileID: 11400000, guid: ea735d5c0029a41449c8ec10b851d9a4, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: f893e6521b12f6544856c461190f04fe, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerDefaultLanduseOverlay.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerDefaultLanduseOverlay.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ce1bd468fa65658ed17e03bcfeb82fffc3e01872
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerDefaultLanduseOverlay.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5e31f4f769e2ee047ab34f63c29c95d4
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..33008b06497f6bd69f3ad6873a9725d62457a490
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerLanduseOverlayHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 0.5
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c74474f3335c21898d9c8045ce96858ec2e825a1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ea735d5c0029a41449c8ec10b851d9a4
+timeCreated: 1510754283
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a7af977ee50cc577aac9e320ec7a6013d03c8cef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerLanduseOverlayLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: landuse_overlay
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 5e31f4f769e2ee047ab34f63c29c95d4, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7930e08a6634296b2e640d1c4dde8ee9d3b2cdbb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/LanduseOverlayLayer/ExplorerLanduseOverlayLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0381e4d6d2cf4a742858826ab8048184
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..87e6e50c643f96ea9eaeba3f26a6c2b9cd265b29
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cda0d39b6dbd3514da8dcb0f74a32a36
+folderAsset: yes
+timeCreated: 1510756607
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerDefaultPoint.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerDefaultPoint.asset
new file mode 100644
index 0000000000000000000000000000000000000000..d63ac0ba46b88f7db81341fb3e4666420736c7dd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerDefaultPoint.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultPoint
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 1
+  MeshModifiers: []
+  GoModifiers:
+  - {fileID: 11400000, guid: ceca5248b4c18354d8089a76da2f7f45, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerDefaultPoint.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerDefaultPoint.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b49139dacb0210eb391d9729d0a05319592a9a8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerDefaultPoint.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7c49a6ccf74fc1543b7c7fa058d272b4
+timeCreated: 1510756637
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerMotorwayJunctionLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerMotorwayJunctionLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..bfae32ee2cedca8f86e559ac3056cbf1f2d59394
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerMotorwayJunctionLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerMotorwayJunctionLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: motorway_junction
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 7c49a6ccf74fc1543b7c7fa058d272b4, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerMotorwayJunctionLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerMotorwayJunctionLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7eaf47099dd3a73136dea3a3a1e3a384ee67728f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerMotorwayJunctionLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 93f8be3e38d52cb49b8321e16e9c0ecf
+timeCreated: 1510756619
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerPointPrefabModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerPointPrefabModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..ffe382a72fbb32aa78bd743c37a825228bec5030
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerPointPrefabModifier.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: ExplorerPointPrefabModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 1706413382388718, guid: 0940fff5996150e4cb6c1f69c781a29a, type: 2}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerPointPrefabModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerPointPrefabModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8550e252ff132284bb24cf30758068efd327bf6d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/ExplorerPointPrefabModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ceca5248b4c18354d8089a76da2f7f45
+timeCreated: 1510756696
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/PointPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/PointPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..08a66d5edfaa62cdec92a735d9ee93563fd4861b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/PointPrefab.prefab
@@ -0,0 +1,95 @@
+%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: 1918270036827452}
+  m_IsPrefabParent: 1
+--- !u!1 &1918270036827452
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4382711576950822}
+  - component: {fileID: 33149353156827184}
+  - component: {fileID: 135663077870656568}
+  - component: {fileID: 23851938265487378}
+  m_Layer: 0
+  m_Name: PointPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4382711576950822
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1918270036827452}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -30.853516, y: -47.902344, z: 70.625}
+  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}
+--- !u!23 &23851938265487378
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1918270036827452}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33149353156827184
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1918270036827452}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!135 &135663077870656568
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1918270036827452}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/PointPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/PointPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dc2e3d128cf5cfbf80dced834a9868f1c14090f0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/MotorwayJunctionLayer/PointPrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cef2154b086ac7244b859a4cb18fe659
+timeCreated: 1510782439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f37020a58b1e22f48ed0a601ead702ac42bc63f4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ee9ba559b6a3045a189b9e632c1b6938
+folderAsset: yes
+timeCreated: 1512616858
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerCountryLabelPrefabModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerCountryLabelPrefabModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a8ddd1f193a7f02fdc3bff793c052395c4478acf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerCountryLabelPrefabModifier.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: ExplorerCountryLabelPrefabModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 1706413382388718, guid: 0940fff5996150e4cb6c1f69c781a29a, type: 2}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerCountryLabelPrefabModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerCountryLabelPrefabModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..882478adcaeeba5a2fd8877c658f92b43a68ccbc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerCountryLabelPrefabModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 90f8fc7667430374d9ddd1907cf522dd
+timeCreated: 1510756696
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerDefaultLabel.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerDefaultLabel.asset
new file mode 100644
index 0000000000000000000000000000000000000000..d2c0ee17eb10ebc367ca63f2a947661766024283
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerDefaultLabel.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultLabel
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers: []
+  GoModifiers:
+  - {fileID: 11400000, guid: 90f8fc7667430374d9ddd1907cf522dd, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerDefaultLabel.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerDefaultLabel.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..02bc4a07f3dfb7e4b09d2cbaca208b8e2a0799f9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/ExplorerDefaultLabel.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bc82e3da9f727ff409eb9b7ae095995e
+timeCreated: 1510756637
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/LabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/LabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..9600fec43eda42e103eefb487cc7f536f51fd504
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/LabelPrefab.prefab
@@ -0,0 +1,169 @@
+%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: 1706413382388718}
+  m_IsPrefabParent: 1
+--- !u!1 &1706413382388718
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4272322650523820}
+  - component: {fileID: 114543158922302552}
+  - component: {fileID: 114031264422835886}
+  m_Layer: 10
+  m_Name: LabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1961071164979864
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4774780138522716}
+  - component: {fileID: 23069974456502518}
+  - component: {fileID: 102549506598402298}
+  - component: {fileID: 114504824515177124}
+  m_Layer: 10
+  m_Name: TextMesh
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4272322650523820
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1706413382388718}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 5, y: 5, z: 5}
+  m_Children:
+  - {fileID: 4774780138522716}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4774780138522716
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1961071164979864}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4272322650523820}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23069974456502518
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1961071164979864}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!102 &102549506598402298
+TextMesh:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1961071164979864}
+  m_Text: 
+  m_OffsetZ: 0
+  m_CharacterSize: 2
+  m_LineSpacing: 1
+  m_Anchor: 4
+  m_Alignment: 1
+  m_TabSize: 4
+  m_FontSize: 200
+  m_FontStyle: 0
+  m_RichText: 1
+  m_Font: {fileID: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+  m_Color:
+    serializedVersion: 2
+    rgba: 4294967295
+--- !u!114 &114031264422835886
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1706413382388718}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114504824515177124
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1961071164979864}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f9b2b4cc337b3479a9f4365ea51ff65c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  pixelSize: 3
+  outlineColor: {r: 0.16911763, g: 0.16911763, b: 0.16911763, a: 0.497}
+  resolutionDependant: 0
+  doubleResolution: 1024
+--- !u!114 &114543158922302552
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1706413382388718}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 75f4a424246980d46a214433149ef222, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _textMesh: {fileID: 102549506598402298}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/LabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/LabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..da41d2306669ceee0702fe0841ca9c57c1b86fd6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/Resources/LabelPrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0940fff5996150e4cb6c1f69c781a29a
+timeCreated: 1510775643
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c25e6bf8fd0b8b6e8c93f8324bd12162be1943f9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8145a2b20303ddb439c02fd45d030e17
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerDefaultRoad.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerDefaultRoad.asset
new file mode 100644
index 0000000000000000000000000000000000000000..aa31223e457e9b34adc608062c5685546afd8e7d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerDefaultRoad.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultRoad
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: b486720f300660244af7af227670240d, type: 2}
+  - {fileID: 11400000, guid: 51f99d677d3e0eb439d2967d1187478a, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: c4f068c1efdf8574a851e0ccdc3700d8, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerDefaultRoad.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerDefaultRoad.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ce942e19df8166756b38664d73bde909122ef9dd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerDefaultRoad.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 488529c395c28be41b7a800df0b0a138
+timeCreated: 1510845964
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGray.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGray.mat
new file mode 100644
index 0000000000000000000000000000000000000000..1b92db6006f86a980712002d4e0082cafe34bbd1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGray.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: ExplorerGray
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.42647058, g: 0.42647058, b: 0.42647058, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGray.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGray.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1ec436108cd34e43802c1286f77e30350d4d6982
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGray.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a4c397925829de8438fa9bb51535fd17
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGrayMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGrayMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..5c7ff9891affd965ba07ef9fb8a8dd3d75f8b274
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGrayMaterialModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerGrayMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: a4c397925829de8438fa9bb51535fd17, type: 2}
+  - Materials:
+    - {fileID: 2100000, guid: a4c397925829de8438fa9bb51535fd17, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGrayMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGrayMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b043d05c97dc9ff79c04730dafde6aec07a72b24
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerGrayMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c4f068c1efdf8574a851e0ccdc3700d8
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..8fd3c4d3968250e2bb1ad9a341edfcd4679df76f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerRoadHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 0.5
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0c94ae6d29280e68361807e50ee474887af79fe8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 51f99d677d3e0eb439d2967d1187478a
+timeCreated: 1510754003
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7079521f5dcd88a729d53f25a6ed38e47f28b6e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerRoadLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: road
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 488529c395c28be41b7a800df0b0a138, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5fe3028f1324e870010330519f48a1e7443b3655
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/RoadLayer/ExplorerRoadLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: afa80ab007e84c0429862718768059e8
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d192bfde67ebb752fe2ccd65651801007428a067
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b57e908d5f9ac994282d4e0b3ea77a47
+folderAsset: yes
+timeCreated: 1510753278
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerFlatTerrainFactory.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerFlatTerrainFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..41296f933ad3203b0e49a24084e3a0a23d9937eb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerFlatTerrainFactory.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a6523094c07d4ee683da5d826fce510, type: 3}
+  m_Name: ExplorerFlatTerrainFactory
+  m_EditorClassIdentifier: 
+  _baseMaterial: {fileID: 2100000, guid: 29f6564f3583830448798d631c5d227c, type: 2}
+  _createSideWalls: 0
+  _sideWallHeight: 10
+  _sideWallMaterial: {fileID: 0}
+  _addCollider: 0
+  _addToLayer: 0
+  _layerId: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerFlatTerrainFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerFlatTerrainFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ddfdfc278e4d4c733652acb6e01d5795113af76e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerFlatTerrainFactory.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: db4ef22c9e6b4e64298c29f505f1617d
+timeCreated: 1510754133
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerTerrainMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerTerrainMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..22352399693216f6aae84d032b34a9d696e3dfc9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerTerrainMaterial.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: ExplorerTerrainMaterial
+  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
+    - _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: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerTerrainMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerTerrainMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ef5ca5a0113cf516af11c059f485702e1d7b69e6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TerrainFactory/ExplorerTerrainMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 29f6564f3583830448798d631c5d227c
+timeCreated: 1510753359
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ba9ae8319a3c151f33644976e7441f67d830be83
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5f0f45562192d354397666e3bcf0c52a
+folderAsset: yes
+timeCreated: 1510843762
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ExplorerTrafficLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ExplorerTrafficLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..3d69a23b601321f4d97416eb2097e452db23b2e4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ExplorerTrafficLayer.asset
@@ -0,0 +1,27 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerTrafficLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: congestion
+  _key: traffic
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 2706fc74622551042beb1b756ca44cac, type: 2}
+  Stacks:
+  - Type: low
+    Stack: {fileID: 11400000, guid: 2173c757ed80653408357eeafb90b8b4, type: 2}
+  - Type: moderate
+    Stack: {fileID: 11400000, guid: 693322d922660bf44b2298060ff8a618, type: 2}
+  - Type: heavy
+    Stack: {fileID: 11400000, guid: db258f06cb975c641bea13eafe0ca8a5, type: 2}
+  - Type: severe
+    Stack: {fileID: 11400000, guid: 627313f21fc074f44afdcda9365a95d3, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ExplorerTrafficLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ExplorerTrafficLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d921511df989246d82ad6d6a7d10c496ff129794
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ExplorerTrafficLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 441a0bada0e3f354a879121b619b6aff
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5f55fa315dfc59f56ab0c2388860f24c8bbb5e03
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 045c7bfe28733c24587e0862b6af12b2
+folderAsset: yes
+timeCreated: 1510844362
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTraffic.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTraffic.asset
new file mode 100644
index 0000000000000000000000000000000000000000..100cf279f63cdf4a1f58a1dc8e6bec1c75b4024d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTraffic.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3}
+  m_Name: ExplorerHeavyTraffic
+  m_EditorClassIdentifier: 
+  MeshModifiers:
+  - {fileID: 11400000, guid: 0270530b896eb95459207818d222f106, type: 2}
+  - {fileID: 11400000, guid: 162206a38ab02be4693a32bed02cc428, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 17b68cad6e3601a4c8af860636751268, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTraffic.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTraffic.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de354a2b043d5ccf89325e86ee83c9d4eca75689
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTraffic.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: db258f06cb975c641bea13eafe0ca8a5
+timeCreated: 1510844946
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTrafficMaterial.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTrafficMaterial.asset
new file mode 100644
index 0000000000000000000000000000000000000000..49192081346839626f939e0a368efc3761caec5a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTrafficMaterial.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerHeavyTrafficMaterial
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: bdad3ccf6401a414188827874d8999aa, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTrafficMaterial.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTrafficMaterial.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8577e5a46f9063fe25dd676184eab20acb4d5ed3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/ExplorerHeavyTrafficMaterial.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 17b68cad6e3601a4c8af860636751268
+timeCreated: 1510845315
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/HeavyTrafficMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/HeavyTrafficMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..1f76b29892602f0fe8c125c463151d919506d191
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/HeavyTrafficMaterial.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: HeavyTrafficMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 0.6827586, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/HeavyTrafficMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/HeavyTrafficMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..20ac1283f812bb17c590290c27b32223b5011b38
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/HeavyTraffic/HeavyTrafficMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bdad3ccf6401a414188827874d8999aa
+timeCreated: 1510845327
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic.meta
new file mode 100644
index 0000000000000000000000000000000000000000..664b4189bff92a5af00f5d94f30f29f1c8d877fa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7e36580bdabc1674e8bc6b6d8159d3e7
+folderAsset: yes
+timeCreated: 1510844362
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerLowTraffic.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerLowTraffic.asset
new file mode 100644
index 0000000000000000000000000000000000000000..ecdd20ee05e7591ffc066fb4c3bf7f1b58213d55
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerLowTraffic.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3}
+  m_Name: ExplorerLowTraffic
+  m_EditorClassIdentifier: 
+  MeshModifiers:
+  - {fileID: 11400000, guid: 0270530b896eb95459207818d222f106, type: 2}
+  - {fileID: 11400000, guid: 162206a38ab02be4693a32bed02cc428, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: ad1bb8e785d5dce4bb1ddc8443b261f6, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerLowTraffic.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerLowTraffic.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6e5f04dee4ddc4f35ef9a92d95012943fabc05f4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerLowTraffic.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2173c757ed80653408357eeafb90b8b4
+timeCreated: 1510844946
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficHeight.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficHeight.asset
new file mode 100644
index 0000000000000000000000000000000000000000..47f731cf53b1a213dd60a84281ebe38e45466324
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficHeight.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerTrafficHeight
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 1
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficHeight.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficHeight.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5d7cade97d950c21f6b7dde8b13ae8e9d216f774
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficHeight.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 162206a38ab02be4693a32bed02cc428
+timeCreated: 1510845238
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficLineMesh.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficLineMesh.asset
new file mode 100644
index 0000000000000000000000000000000000000000..71bebc467bee9ffe5be4af170d3209df26f06521
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficLineMesh.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9e1e9c060b6589e4e8b990a9c709bcdd, type: 3}
+  m_Name: ExplorerTrafficLineMesh
+  m_EditorClassIdentifier: 
+  Active: 1
+  Width: 3
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficLineMesh.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficLineMesh.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..154d7288dcafb991be872d40ad9f5533a5fa826a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficLineMesh.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0270530b896eb95459207818d222f106
+timeCreated: 1510844999
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficMaterial.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficMaterial.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1f0edc2f342bf1d7fae096819006facc2aa9f1ac
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficMaterial.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerTrafficMaterial
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: aaa94592a6eb9c8418d32b37b10f288d, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficMaterial.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficMaterial.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a78e75533550137c9ce9926fcf5cd89c2bccaff4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/ExplorerTrafficMaterial.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ad1bb8e785d5dce4bb1ddc8443b261f6
+timeCreated: 1510845315
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/LowTrafficMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/LowTrafficMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..454f7856b37a5ccca93e45bc094782039c530532
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/LowTrafficMaterial.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: LowTrafficMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 1, b: 0.25517225, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/LowTrafficMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/LowTrafficMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9a0425e5d0a3a4af73f19cffe1e440806e9f451a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/LowTraffic/LowTrafficMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: aaa94592a6eb9c8418d32b37b10f288d
+timeCreated: 1510845327
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6710698b49cb03819fcf1e2130a4cd6113824513
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7c615230fcc32d7409f32a9f5dcc3991
+folderAsset: yes
+timeCreated: 1510844362
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTraffic.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTraffic.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e47092fa8f5bc238e2797c2c0c3c91860d0298f8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTraffic.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3}
+  m_Name: ExplorerModerateTraffic
+  m_EditorClassIdentifier: 
+  MeshModifiers:
+  - {fileID: 11400000, guid: 0270530b896eb95459207818d222f106, type: 2}
+  - {fileID: 11400000, guid: 162206a38ab02be4693a32bed02cc428, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 3f08f3e192db79340887fc5591b6889f, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTraffic.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTraffic.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e28e89e1f91613408a62494af4e9b8bafe7e106a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTraffic.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 693322d922660bf44b2298060ff8a618
+timeCreated: 1510844946
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTrafficMaterial.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTrafficMaterial.asset
new file mode 100644
index 0000000000000000000000000000000000000000..27143f5eb22a0cf5aa9020e1cee1fd05676d13d0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTrafficMaterial.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerModerateTrafficMaterial
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: 8d222a6659da43e45b6274794e67d47a, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTrafficMaterial.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTrafficMaterial.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..722f741879e28b4880a55a4e6bc42c3e3f960937
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ExplorerModerateTrafficMaterial.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3f08f3e192db79340887fc5591b6889f
+timeCreated: 1510845315
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ModerateTrafficMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ModerateTrafficMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..84c5c09951c85480faa5a282cc5f8b9e923b96ca
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ModerateTrafficMaterial.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: ModerateTrafficMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.9862069, g: 1, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ModerateTrafficMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ModerateTrafficMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e0ac473c165ab7cde8e0693d1952da90123eef12
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/ModerateTraffic/ModerateTrafficMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8d222a6659da43e45b6274794e67d47a
+timeCreated: 1510845327
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b1d5353f46c6cb367618d5f6a3dd53845cb2e961
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4da92d8389aaacb42b609dc0cc8bc9a2
+folderAsset: yes
+timeCreated: 1510844362
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTraffic.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTraffic.asset
new file mode 100644
index 0000000000000000000000000000000000000000..27f4f4cc08ce5e12ac282ea316e6fc52b009e09b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTraffic.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3}
+  m_Name: ExplorerSevereTraffic
+  m_EditorClassIdentifier: 
+  MeshModifiers:
+  - {fileID: 11400000, guid: 0270530b896eb95459207818d222f106, type: 2}
+  - {fileID: 11400000, guid: 162206a38ab02be4693a32bed02cc428, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: cd82d41d9097fef4fb5dafaebde20bfa, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTraffic.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTraffic.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5e56e030a6eb00497219c1da96cc994f7748a369
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTraffic.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 627313f21fc074f44afdcda9365a95d3
+timeCreated: 1510844946
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTrafficMaterial.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTrafficMaterial.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a3487794442e21f598291ab7fc13eec370000618
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTrafficMaterial.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerSevereTrafficMaterial
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 0f9e3de68a3085e469bd62c8b40e9487, type: 2}
+    - Materials:
+      - {fileID: 2100000, guid: 6ec7317f2ac57e2448326cdc68816797, type: 2}
+    atlasInfo: {fileID: 0}
+    lightStyleOpacity: 1
+    darkStyleOpacity: 1
+    colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+    samplePalettes: 0
+    colorPalette: {fileID: 0}
+    customStyleOptions:
+      texturingType: 0
+      materials:
+      - Materials:
+        - {fileID: 2100000, guid: 0de83c8715792fe43aceecafcdbd8b24, type: 2}
+      - Materials:
+        - {fileID: 2100000, guid: 0de83c8715792fe43aceecafcdbd8b24, type: 2}
+      atlasInfo: {fileID: 0}
+      colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTrafficMaterial.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTrafficMaterial.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5cfeac47e3d4cce033a95fd85070a92ddf691e73
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/ExplorerSevereTrafficMaterial.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cd82d41d9097fef4fb5dafaebde20bfa
+timeCreated: 1510845315
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/SevereTrafficMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/SevereTrafficMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..7a64f349f419b8b55b57239f854efa0273217134
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/SevereTrafficMaterial.mat
@@ -0,0 +1,77 @@
+%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: SevereTrafficMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 1, g: 0, b: 0, a: 0.54901963}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/SevereTrafficMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/SevereTrafficMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a5e781e461837175d889319c9c34db72af8f5f73
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/TrafficLayer/SevereTraffic/SevereTrafficMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0de83c8715792fe43aceecafcdbd8b24
+timeCreated: 1510845327
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory.meta
new file mode 100644
index 0000000000000000000000000000000000000000..11897cce557ea1d140cdef812e6430ae117e142d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6da885f52a010f14ab230615d637b666
+folderAsset: yes
+timeCreated: 1510753290
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory/ExplorerVectorFactory.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory/ExplorerVectorFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..26ad529bb4baadf1f17b196eba0c66548872be99
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory/ExplorerVectorFactory.asset
@@ -0,0 +1,41 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63d97cb1cfb3f1b499c24763afa54873, type: 3}
+  m_Name: ExplorerVectorFactory
+  m_EditorClassIdentifier: 
+  _mapId: mapbox.mapbox-streets-v7,mapbox.mapbox-terrain-v2,mapbox.mapbox-traffic-v1
+  Visualizers:
+  - {fileID: 11400000, guid: 1d2c597868e13c84b9c6c8e013ef80e5, type: 2}
+  - {fileID: 11400000, guid: afa80ab007e84c0429862718768059e8, type: 2}
+  - {fileID: 11400000, guid: daf79693ba3413847a5a924516fefe2b, type: 2}
+  - {fileID: 11400000, guid: a846a72ce4bee9241bd14a51354dc3a8, type: 2}
+  - {fileID: 11400000, guid: 5651e13d531e6b44d878696339c4f94d, type: 2}
+  - {fileID: 11400000, guid: cb3fd8f530fe8e44dbf19e06224b20d0, type: 2}
+  - {fileID: 11400000, guid: 22e0f35be3a038942b4521c6fec760d6, type: 2}
+  - {fileID: 11400000, guid: 0381e4d6d2cf4a742858826ab8048184, type: 2}
+  - {fileID: 11400000, guid: a43834b9bf817be448df812918e8ea49, type: 2}
+  - {fileID: 11400000, guid: d068e44a5bb589e4c9be8ff92d2672c8, type: 2}
+  - {fileID: 11400000, guid: e7ee854b487dc0541bf3215510907674, type: 2}
+  - {fileID: 11400000, guid: f454769f806c35f46ac833b29ad68d7d, type: 2}
+  - {fileID: 11400000, guid: 7473d2473339e4e4e8d4a62589360332, type: 2}
+  - {fileID: 11400000, guid: 83a815fafac18304b943123813c42ab9, type: 2}
+  - {fileID: 11400000, guid: 320b64bfd7d45a34e995592e72078663, type: 2}
+  - {fileID: 11400000, guid: c5d72b3076bcbf74991b8c6bd8f5ab84, type: 2}
+  - {fileID: 11400000, guid: b8d0fecde10a2f94d8da4a050754ee71, type: 2}
+  - {fileID: 11400000, guid: fe2930619a7771943878b0f623501b3e, type: 2}
+  - {fileID: 11400000, guid: 67af86a487f07194ba0751ddfcd77106, type: 2}
+  - {fileID: 11400000, guid: 00a096e07cdfcde40957f45541a93ad6, type: 2}
+  - {fileID: 11400000, guid: 711d19f949ba80e40a313fcf84e51b15, type: 2}
+  - {fileID: 11400000, guid: 93f8be3e38d52cb49b8321e16e9c0ecf, type: 2}
+  - {fileID: 11400000, guid: f1ff2b285816a314ca91887b82fc5901, type: 2}
+  - {fileID: 11400000, guid: 3b20f5ab134a5b844a01fc10963c7171, type: 2}
+  - {fileID: 11400000, guid: 4e4efb2d5605dca45b383e202df750ed, type: 2}
+  - {fileID: 11400000, guid: 441a0bada0e3f354a879121b619b6aff, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory/ExplorerVectorFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory/ExplorerVectorFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9a3a09b16d9619b871b89f1a7826bf135c4e8818
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/VectorFactory/ExplorerVectorFactory.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 048c8e796a7695644b1655c8d5579f21
+timeCreated: 1510753329
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5e76e69e08a36f71823d753d15ff7ab7bdc0d090
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bde689c27912b7e49a80a5b2ee06f8d3
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlue.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlue.mat
new file mode 100644
index 0000000000000000000000000000000000000000..f5503c20b2fada4b5e173686bb87c72eabf50723
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlue.mat
@@ -0,0 +1,77 @@
+%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: ExplorerBlue
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.31617647, g: 0.7170386, b: 1, a: 0.684}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlue.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlue.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cad2dc9c3166770a08b789db99b7341d266de562
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlue.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 55643c4fd976d7e429bda0a90c976b14
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlueMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlueMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..c82b30feacbbad6f126fdccf0329cb033516770d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlueMaterialModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerBlueMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: 55643c4fd976d7e429bda0a90c976b14, type: 2}
+  - Materials:
+    - {fileID: 2100000, guid: 55643c4fd976d7e429bda0a90c976b14, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlueMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlueMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d74add5877ebc0d7032bfead5cb0253c9815507d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerBlueMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 222de601486ff5b4b815123d181e2aeb
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerDefaultWater.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerDefaultWater.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7a31e317d6231950662e44e22b611cda8c68bacf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerDefaultWater.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultWater
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 42df5b13ebbfe2a4aa3f0ec75a7a5852, type: 2}
+  - {fileID: 11400000, guid: 23fec0796c24f584ca6c13522eb63102, type: 2}
+  - {fileID: 11400000, guid: ec8841db249973b49b8ec961d3b16cd7, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 222de601486ff5b4b815123d181e2aeb, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerDefaultWater.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerDefaultWater.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f42ef42dfbc232dc4f18c382b2eda1d56f425230
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerDefaultWater.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 37a023af0ce9d1448aebcd53bbfd5c3a
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..414823f380e0038baffa290b50b2d75cc2346af9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ExplorerWaterHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 0.4
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b1d70001420047facbca528a5c7aa41f54c237c3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ec8841db249973b49b8ec961d3b16cd7
+timeCreated: 1510754283
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a4c780d18b89a8e354aebff28909e81af313c894
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterLayer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerWaterLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: water
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 37a023af0ce9d1448aebcd53bbfd5c3a, type: 2}
+  Stacks: []
+  _enableCoroutines: 0
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d5ddf2a74882903028a7dce034109d62ce69bc66
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterLayer/ExplorerWaterLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a846a72ce4bee9241bd14a51354dc3a8
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..77889505d8cdbc94b0221fd8ff024f839cc62e9e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 34fa8abd910a3a74388df0d26c4d552a
+folderAsset: yes
+timeCreated: 1510753426
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlue.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlue.mat
new file mode 100644
index 0000000000000000000000000000000000000000..7543d6a0b867d8d1afbb50e8b6d224de90f511c5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlue.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: ExplorerDarkBlue
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.19296063, g: 0.3857975, b: 0.6102941, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlue.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlue.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..578434869054e7cbd0d90e45992784e6a807f748
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlue.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ab4ee1288a054a84b85ba5cf5a0abf34
+timeCreated: 1510753769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlueMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlueMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..26bb86601e7df255e517021baa6dae5e4d967a8d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlueMaterialModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ExplorerDarkBlueMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _projectMapImagery: 0
+  _materials:
+  - Materials:
+    - {fileID: 2100000, guid: ab4ee1288a054a84b85ba5cf5a0abf34, type: 2}
+  - Materials:
+    - {fileID: 2100000, guid: ab4ee1288a054a84b85ba5cf5a0abf34, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlueMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlueMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ba1183021b944a40135de3f1d3a87dcb8bfdb931
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDarkBlueMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1e5e24f3318196d4690e789415c9f2fb
+timeCreated: 1510753756
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDefaultWaterway.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDefaultWaterway.asset
new file mode 100644
index 0000000000000000000000000000000000000000..ca7b550efe2177b94b08f9ec12a4b62a9863b8b3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDefaultWaterway.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ExplorerDefaultWaterway
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: b486720f300660244af7af227670240d, type: 2}
+  - {fileID: 11400000, guid: 51f99d677d3e0eb439d2967d1187478a, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 1e5e24f3318196d4690e789415c9f2fb, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDefaultWaterway.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDefaultWaterway.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..18e0ab9a51533ef70f74f3d24183e171ad4bdcfa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerDefaultWaterway.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: be7a7b4a477f8be42b221ba7deb1d0e3
+timeCreated: 1510753599
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerWaterwayLayer.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerWaterwayLayer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4d13d31ed3658812399f3b3ba6dba246500339ef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerWaterwayLayer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ExplorerWaterwayLayer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: waterway
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: be7a7b4a477f8be42b221ba7deb1d0e3, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerWaterwayLayer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerWaterwayLayer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8cbf5c3734d342a50c0c70c3f92d4bd2e866f940
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Modules/WaterwayLayer/ExplorerWaterwayLayer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5651e13d531e6b44d878696339c4f94d
+timeCreated: 1510753439
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fb9fb45548fd1aefc34cc30c24d0437088a5b3f0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: f10ca141ccdf84ec7bef8b9dfbebcd7e
+folderAsset: yes
+timeCreated: 1512554578
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/DataExplorer.png b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/DataExplorer.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd858ad91bbe7c42ae6b3e283fe29fc7550c0fed
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/DataExplorer.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/DataExplorer.png.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/DataExplorer.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c893620342324be7529249adccad8caa51e6f72f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/DataExplorer.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 1b7a3200c45d3425bbf8e891123932d8
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 61f92a53b788ba94bbb37e6fe56ddf24
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/TrafficAndDirections.png b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/TrafficAndDirections.png
new file mode 100644
index 0000000000000000000000000000000000000000..d00a7a7d56f48fcbfbe22147894bbd3bb94b8d60
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/TrafficAndDirections.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/TrafficAndDirections.png.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/TrafficAndDirections.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e6689dd94abe720137e0a7dc5e800962cae31048
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Screenshots/TrafficAndDirections.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 9f8dc63149c4c452fb12fa47be6bb6c9
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: a00aa8c550a478741945d0a1d008aa3d
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..198de5f83d6b7d39dac5de51e0fb5eccd5bbcb80
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 885272a0cfaef4ce8b15754b37c4fe76
+folderAsset: yes
+timeCreated: 1525975542
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts/TextMeshOutline.cs b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts/TextMeshOutline.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ecd1795409931af634f3ecfe79fe98cd7a8ec8f8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts/TextMeshOutline.cs
@@ -0,0 +1,91 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using System.Collections;
+
+	/// <summary>
+	/// Text mesh outline. Script source: https://answers.unity.com/questions/542646/3d-text-strokeoutline.html
+	/// </summary>
+	public class TextMeshOutline : MonoBehaviour
+	{
+
+		public float pixelSize = 1;
+		public Color outlineColor = Color.black;
+		public bool resolutionDependant = false;
+		public int doubleResolution = 1024;
+
+		private TextMesh textMesh;
+		private MeshRenderer meshRenderer;
+
+		void Start()
+		{
+			textMesh = GetComponent<TextMesh>();
+			meshRenderer = GetComponent<MeshRenderer>();
+
+			for (int i = 0; i < 8; i++)
+			{
+				GameObject outline = new GameObject("outline", typeof(TextMesh));
+				outline.transform.parent = transform;
+				outline.transform.localScale = new Vector3(1, 1, 1);
+
+				MeshRenderer otherMeshRenderer = outline.GetComponent<MeshRenderer>();
+				otherMeshRenderer.material = new Material(meshRenderer.material);
+				otherMeshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
+				otherMeshRenderer.receiveShadows = false;
+				otherMeshRenderer.sortingLayerID = meshRenderer.sortingLayerID;
+				otherMeshRenderer.sortingLayerName = meshRenderer.sortingLayerName;
+			}
+		}
+
+		void LateUpdate()
+		{
+			Vector3 screenPoint = Camera.main.WorldToScreenPoint(transform.position);
+
+			outlineColor.a = textMesh.color.a * textMesh.color.a;
+
+			// copy attributes
+			for (int i = 0; i < transform.childCount; i++)
+			{
+
+				TextMesh other = transform.GetChild(i).GetComponent<TextMesh>();
+				other.color = outlineColor;
+				other.text = textMesh.text;
+				other.alignment = textMesh.alignment;
+				other.anchor = textMesh.anchor;
+				other.characterSize = textMesh.characterSize;
+				other.font = textMesh.font;
+				other.fontSize = textMesh.fontSize;
+				other.fontStyle = textMesh.fontStyle;
+				other.richText = textMesh.richText;
+				other.tabSize = textMesh.tabSize;
+				other.lineSpacing = textMesh.lineSpacing;
+				other.offsetZ = textMesh.offsetZ;
+
+				bool doublePixel = resolutionDependant && (Screen.width > doubleResolution || Screen.height > doubleResolution);
+				Vector3 pixelOffset = GetOffset(i) * (doublePixel ? 2.0f * pixelSize : pixelSize);
+				Vector3 worldPoint = Camera.main.ScreenToWorldPoint(screenPoint + pixelOffset);
+				other.transform.position = worldPoint;
+
+				MeshRenderer otherMeshRenderer = transform.GetChild(i).GetComponent<MeshRenderer>();
+				otherMeshRenderer.sortingLayerID = meshRenderer.sortingLayerID;
+				otherMeshRenderer.sortingLayerName = meshRenderer.sortingLayerName;
+			}
+		}
+
+		Vector3 GetOffset(int i)
+		{
+			switch (i % 8)
+			{
+				case 0: return new Vector3(0, 1, 0);
+				case 1: return new Vector3(1, 1, 0);
+				case 2: return new Vector3(1, 0, 0);
+				case 3: return new Vector3(1, -1, 0);
+				case 4: return new Vector3(0, -1, 0);
+				case 5: return new Vector3(-1, -1, 0);
+				case 6: return new Vector3(-1, 0, 0);
+				case 7: return new Vector3(-1, 1, 0);
+				default: return Vector3.zero;
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts/TextMeshOutline.cs.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts/TextMeshOutline.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c03d17323fc95e47d8b313ae3ae552842a8c9990
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Scripts/TextMeshOutline.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: f9b2b4cc337b3479a9f4365ea51ff65c
+timeCreated: 1525975558
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bec01540565a6d716def02fe15d9a458ab32ace8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b5f74112821ea2d46b3b22b1d701143d
+folderAsset: yes
+timeCreated: 1528928452
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionLoft.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionLoft.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4cfa11f1cb00e317314b433d977b7d83437d7a27
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionLoft.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 634e53b543236f246833fc88fea03aa0, type: 3}
+  m_Name: DirectionLoft
+  m_EditorClassIdentifier: 
+  Active: 1
+  Slice: {fileID: 1580225070089920, guid: 10bc3919f3bb2d5498f03226ee189f43, type: 2}
+  _closeEdges: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionLoft.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionLoft.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bd327d77f3829530380f46592dce95c73644774f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionLoft.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 72a54fd58e79618408c60d91df61d553
+timeCreated: 1528928468
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionSlice.prefab b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionSlice.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..9cb9ddf825615e1ca72e903a3a64240aa122cbd3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionSlice.prefab
@@ -0,0 +1,381 @@
+%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: 1580225070089920}
+  m_IsPrefabParent: 1
+--- !u!1 &1132789486371392
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4833118185608460}
+  - component: {fileID: 33701515269224012}
+  - component: {fileID: 65845055928751960}
+  - component: {fileID: 23416305199434196}
+  m_Layer: 0
+  m_Name: Cube (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1327261047872552
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4578486785972302}
+  - component: {fileID: 33808473756588824}
+  - component: {fileID: 65864328282046966}
+  - component: {fileID: 23071508578552538}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1580225070089920
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4406372720372940}
+  m_Layer: 0
+  m_Name: DirectionSlice
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1716232931842372
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4644100575960820}
+  - component: {fileID: 33478377051919464}
+  - component: {fileID: 65066068462881280}
+  - component: {fileID: 23533603256665248}
+  m_Layer: 0
+  m_Name: Cube (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1754113570744868
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4453630535971346}
+  - component: {fileID: 33465592750216780}
+  - component: {fileID: 65563651661394798}
+  - component: {fileID: 23661606013394646}
+  m_Layer: 0
+  m_Name: Cube (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4406372720372940
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1580225070089920}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
+  m_Children:
+  - {fileID: 4578486785972302}
+  - {fileID: 4833118185608460}
+  - {fileID: 4453630535971346}
+  - {fileID: 4644100575960820}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4453630535971346
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1754113570744868}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 2.43, y: 2.52, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4406372720372940}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4578486785972302
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1327261047872552}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -3.55, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4406372720372940}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4644100575960820
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1716232931842372}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 3.55, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4406372720372940}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4833118185608460
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1132789486371392}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -2.43, y: 2.52, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4406372720372940}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23071508578552538
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1327261047872552}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23416305199434196
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1132789486371392}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23533603256665248
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1716232931842372}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23661606013394646
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1754113570744868}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33465592750216780
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1754113570744868}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33478377051919464
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1716232931842372}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33701515269224012
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1132789486371392}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33808473756588824
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1327261047872552}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65066068462881280
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1716232931842372}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65563651661394798
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1754113570744868}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65845055928751960
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1132789486371392}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65864328282046966
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1327261047872552}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionSlice.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionSlice.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d08c78e25da54c6f5afb36753404dac19199e686
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/DirectionSlice.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 10bc3919f3bb2d5498f03226ee189f43
+timeCreated: 1529011297
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTraffic.png b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTraffic.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d22175d862122f690a588690d700b1b1c66eda4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTraffic.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTraffic.png.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTraffic.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e489e5ae5df18322e30f321792e7ed572817386d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTraffic.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: 5d806cf3d5c4b28468ac8f0a359e5458
+timeCreated: 1528930595
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.asset
new file mode 100644
index 0000000000000000000000000000000000000000..6878ea700843482f009dc122c654ae78fdf3f72b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: HeavyTrafficMaterial
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 8350bd50898372246a4e57e5734f4942, type: 2}
+    - Materials:
+      - {fileID: 0}
+    atlasInfo: {fileID: 0}
+    lightStyleOpacity: 1
+    darkStyleOpacity: 1
+    colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+    samplePalettes: 0
+    colorPalette: {fileID: 0}
+    customStyleOptions:
+      texturingType: 0
+      materials:
+      - Materials:
+        - {fileID: 2100000, guid: 8350bd50898372246a4e57e5734f4942, type: 2}
+      - Materials:
+        - {fileID: 0}
+      atlasInfo: {fileID: 0}
+      colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2bd091fa69184dce5d085636828f512a2cd3d382
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fef7a9bd4475d2242b8651958b86df9d
+timeCreated: 1528928566
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..2005a1ac850cc865b7eaf30fe01bf394348b1813
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.mat
@@ -0,0 +1,77 @@
+%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: HeavyTrafficMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 0.1, y: 1}
+        m_Offset: {x: 0, y: 0.2}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 5d806cf3d5c4b28468ac8f0a359e5458, type: 3}
+        m_Scale: {x: 0.1, y: 1}
+        m_Offset: {x: 0.59010184, y: 0.2}
+    - _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: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.86764705, g: 0.54610723, b: 0.063797586, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9549e5cdf54e8434469bb8ef02e4d8953f977109
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/HeavyTrafficMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8350bd50898372246a4e57e5734f4942
+timeCreated: 1528929014
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTraffic.png b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTraffic.png
new file mode 100644
index 0000000000000000000000000000000000000000..820a47c0a4325a37d93e170e944306eb5a66b7fe
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTraffic.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTraffic.png.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTraffic.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0af2e206b2360bc922b2f8d79168d4ac430dbe0e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTraffic.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: a37d7ca3fd5634248b17100606fb3f8c
+timeCreated: 1528929853
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.asset
new file mode 100644
index 0000000000000000000000000000000000000000..3c1cb3ab8e8a3dbf2631f1f54702cc1e48e3c68d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: LowTrafficMaterial
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 345209cc13279414db9639b2843ac3c1, type: 2}
+    - Materials:
+      - {fileID: 0}
+    atlasInfo: {fileID: 0}
+    lightStyleOpacity: 1
+    darkStyleOpacity: 1
+    colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+    samplePalettes: 0
+    colorPalette: {fileID: 0}
+    customStyleOptions:
+      texturingType: 0
+      materials:
+      - Materials:
+        - {fileID: 2100000, guid: 345209cc13279414db9639b2843ac3c1, type: 2}
+      - Materials:
+        - {fileID: 0}
+      atlasInfo: {fileID: 0}
+      colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35a28f45b5f3bde1a72345845c4acbd7920042d3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9bbd80c71d8a3c64389371070b58d88f
+timeCreated: 1528928566
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..ce65bad8188a57a7ed2121c255ece2d53cde97e2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.mat
@@ -0,0 +1,77 @@
+%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: LowTrafficMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 0.1, y: 1}
+        m_Offset: {x: 0, y: 0.2}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: a37d7ca3fd5634248b17100606fb3f8c, type: 3}
+        m_Scale: {x: 0.1, y: 1}
+        m_Offset: {x: 0.59010184, y: 0.2}
+    - _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: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.13073097, g: 0.6838235, b: 0.22609177, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f0a5009ea9c39dd6804019867d879f95dc011e49
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/LowTrafficMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 345209cc13279414db9639b2843ac3c1
+timeCreated: 1528929014
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTraffic.png b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTraffic.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ce9f6750bd131b1918d95d3b77803acdee5505d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTraffic.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTraffic.png.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTraffic.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ac19febaaf273fb9beea4e2788c49ad5f9ea04f6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTraffic.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: 0845c42fade8c7146ad7292865320ac3
+timeCreated: 1528930595
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.asset
new file mode 100644
index 0000000000000000000000000000000000000000..fdf74f0a9a1188d653c6bef90cc116d15f923c04
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: ModerateTrafficMaterial
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 5df7ad3e02d78284cbc17810cb387d54, type: 2}
+    - Materials:
+      - {fileID: 0}
+    atlasInfo: {fileID: 0}
+    lightStyleOpacity: 1
+    darkStyleOpacity: 1
+    colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+    samplePalettes: 0
+    colorPalette: {fileID: 0}
+    customStyleOptions:
+      texturingType: 0
+      materials:
+      - Materials:
+        - {fileID: 2100000, guid: 5df7ad3e02d78284cbc17810cb387d54, type: 2}
+      - Materials:
+        - {fileID: 0}
+      atlasInfo: {fileID: 0}
+      colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..93b3e7cf5f8be956059373e48cccd62e0914a1fb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 323094f51a4b9694284270dbce39e58b
+timeCreated: 1528928566
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..47889504d4e22167bf8840be2e39a6a3f8cd1337
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.mat
@@ -0,0 +1,77 @@
+%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: ModerateTrafficMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 0.1, y: 1}
+        m_Offset: {x: 0, y: 0.2}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 0845c42fade8c7146ad7292865320ac3, type: 3}
+        m_Scale: {x: 0.1, y: 1}
+        m_Offset: {x: 0.59010184, y: 0.2}
+    - _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: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.8235294, g: 0.7466889, b: 0.12716265, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dba0894a454096c9bedca3f5235533e4aa25d8ff
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/ModerateTrafficMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5df7ad3e02d78284cbc17810cb387d54
+timeCreated: 1528929014
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTraffic.png b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTraffic.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf4f8d13b57e6321a63c3032e0575a67fcf5c7cc
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTraffic.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTraffic.png.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTraffic.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e856f3281befc8cb9608ca759788a9111fb4ad9e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTraffic.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: f3d717cde2dd47041a338381f5757a7f
+timeCreated: 1528930595
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.asset
new file mode 100644
index 0000000000000000000000000000000000000000..6bd13efb63ece3ba448d157470a500dc3703e41a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: SevereTrafficMaterial
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 46e6f9799c66fb648be2fb26a721be4c, type: 2}
+    - Materials:
+      - {fileID: 0}
+    atlasInfo: {fileID: 0}
+    lightStyleOpacity: 1
+    darkStyleOpacity: 1
+    colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+    samplePalettes: 0
+    colorPalette: {fileID: 0}
+    customStyleOptions:
+      texturingType: 0
+      materials:
+      - Materials:
+        - {fileID: 2100000, guid: 46e6f9799c66fb648be2fb26a721be4c, type: 2}
+      - Materials:
+        - {fileID: 0}
+      atlasInfo: {fileID: 0}
+      colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..af86d24f699efc72ba0ccf8fa47cb4f92538cda1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b8a01f6fb6a5da1448922c6c4a57b630
+timeCreated: 1528928566
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..9065c103a407d8a4a8728d82c144b3380db1290e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.mat
@@ -0,0 +1,77 @@
+%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: SevereTrafficMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 0.1, y: 1}
+        m_Offset: {x: 0, y: 0.2}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: f3d717cde2dd47041a338381f5757a7f, type: 3}
+        m_Scale: {x: 0.1, y: 1}
+        m_Offset: {x: 0.59010184, y: 0.2}
+    - _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: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.75, g: 0.15992649, b: 0.15992649, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6160fdd2994401b6ed6b727f48cf074b846fe23d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/SevereTrafficMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 46e6f9799c66fb648be2fb26a721be4c
+timeCreated: 1528929014
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/Traffic.prefab b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/Traffic.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..bf9db444bb0cab3a798b6f44da2e204fb9cad605
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/Traffic.prefab
@@ -0,0 +1,721 @@
+%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: 1440245864441340}
+  m_IsPrefabParent: 1
+--- !u!1 &1005726762739136
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4472972224454760}
+  - component: {fileID: 33509787153536684}
+  - component: {fileID: 65745501352644824}
+  - component: {fileID: 23873953025466100}
+  m_Layer: 0
+  m_Name: Cube (4)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1032712775755366
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4452464618139368}
+  - component: {fileID: 33836900845396942}
+  - component: {fileID: 65870385441573356}
+  - component: {fileID: 23007068424898282}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1177807252369574
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4114231528525688}
+  - component: {fileID: 33672805647747070}
+  - component: {fileID: 65259028326766492}
+  - component: {fileID: 23085693837410584}
+  m_Layer: 0
+  m_Name: Cube (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1298566852820178
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4631943519329886}
+  - component: {fileID: 33278110388492650}
+  - component: {fileID: 65280198383923952}
+  - component: {fileID: 23316859084778084}
+  m_Layer: 0
+  m_Name: Cube (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1440245864441340
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4478124458568764}
+  m_Layer: 0
+  m_Name: Traffic
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1465999149210910
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4108897467796282}
+  - component: {fileID: 33048860713512552}
+  - component: {fileID: 65508965667488644}
+  - component: {fileID: 23800116660813392}
+  m_Layer: 0
+  m_Name: Cube (5)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1531970094999476
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4122498160366940}
+  - component: {fileID: 33122024111225912}
+  - component: {fileID: 65615802316202368}
+  - component: {fileID: 23935408124027544}
+  m_Layer: 0
+  m_Name: Cube (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1925204043743092
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4523662018448058}
+  - component: {fileID: 33618143617464496}
+  - component: {fileID: 65597581701078640}
+  - component: {fileID: 23465174238872516}
+  m_Layer: 0
+  m_Name: Cube (7)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1994715366324226
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4886013410615930}
+  - component: {fileID: 33139337615297536}
+  - component: {fileID: 65439041333996888}
+  - component: {fileID: 23403462556529292}
+  m_Layer: 0
+  m_Name: Cube (6)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4108897467796282
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1465999149210910}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.95, y: 1.29, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4478124458568764}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4114231528525688
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1177807252369574}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -0.27999997, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4478124458568764}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4122498160366940
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1531970094999476}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -0.95, y: 1.29, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4478124458568764}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4452464618139368
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1032712775755366}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -3.28, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4478124458568764}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4472972224454760
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1005726762739136}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.28, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4478124458568764}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4478124458568764
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1440245864441340}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
+  m_Children:
+  - {fileID: 4452464618139368}
+  - {fileID: 4631943519329886}
+  - {fileID: 4122498160366940}
+  - {fileID: 4114231528525688}
+  - {fileID: 4472972224454760}
+  - {fileID: 4108897467796282}
+  - {fileID: 4886013410615930}
+  - {fileID: 4523662018448058}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4523662018448058
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1925204043743092}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 3.28, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4478124458568764}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4631943519329886
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1298566852820178}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -2.28, y: 1.29, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4478124458568764}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4886013410615930
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1994715366324226}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 2.28, y: 1.29, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4478124458568764}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23007068424898282
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1032712775755366}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23085693837410584
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1177807252369574}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23316859084778084
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1298566852820178}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23403462556529292
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1994715366324226}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23465174238872516
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1925204043743092}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23800116660813392
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1465999149210910}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23873953025466100
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1005726762739136}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23935408124027544
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1531970094999476}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33048860713512552
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1465999149210910}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33122024111225912
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1531970094999476}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33139337615297536
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1994715366324226}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33278110388492650
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1298566852820178}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33509787153536684
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1005726762739136}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33618143617464496
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1925204043743092}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33672805647747070
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1177807252369574}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33836900845396942
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1032712775755366}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65259028326766492
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1177807252369574}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65280198383923952
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1298566852820178}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65439041333996888
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1994715366324226}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65508965667488644
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1465999149210910}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65597581701078640
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1925204043743092}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65615802316202368
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1531970094999476}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65745501352644824
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1005726762739136}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65870385441573356
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1032712775755366}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/Traffic.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/Traffic.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..91b7c7fd1a75fd19a6e4b4acc0ec7cd850dce78a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/Traffic.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fe990cf21b8670d4dab09352660a12e4
+timeCreated: 1528928553
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/TrafficLoft.asset b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/TrafficLoft.asset
new file mode 100644
index 0000000000000000000000000000000000000000..6cf5c06e87dc73768b302caea989669869e2f7f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/TrafficLoft.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 634e53b543236f246833fc88fea03aa0, type: 3}
+  m_Name: TrafficLoft
+  m_EditorClassIdentifier: 
+  Active: 1
+  Slice: {fileID: 1440245864441340, guid: fe990cf21b8670d4dab09352660a12e4, type: 2}
+  _closeEdges: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/TrafficLoft.asset.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/TrafficLoft.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..edfcf30fa86f973d7a9caa429932c5fa5af208e9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/Traffic/TrafficLoft.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 62d6f0f3c3cfa094096bb93eb5a17a16
+timeCreated: 1528928468
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/TrafficAndDirections.unity b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/TrafficAndDirections.unity
new file mode 100644
index 0000000000000000000000000000000000000000..040f7c1526c5a1a58bd00b7bb7b83df5ecd324d6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/TrafficAndDirections.unity
@@ -0,0 +1,2512 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &110210640
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 110210641}
+  - component: {fileID: 110210642}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &110210641
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 110210640}
+  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: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &110210642
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 110210640}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 40.7648, -73.9808
+      zoom: 16
+    extentOptions:
+      extentType: 0
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 177789518}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 2
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Dark
+          Id: mapbox://styles/mapbox/dark-v9
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 1
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - contour
+        - country_label
+        - hillshade
+        - housenum_label
+        - landcover
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - traffic
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 2
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Streets
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7,mapbox.mapbox-traffic-v1,mapbox.mapbox-terrain-v2
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Buildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 10
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 3
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 351616898}
+          - Materials:
+            - {fileID: 1424082597}
+          atlasInfo: {fileID: 11400000, guid: 59ca6a03aa1ab4d5797fc37bc0f37797, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 233478829}
+            - Materials:
+              - {fileID: 432491653}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: LowTrafficCongestion
+          geometryType: 3
+          layerName: traffic
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: traffic
+          filters:
+          - Key: congestion
+            KeyDescription: 'Congestion severity. One of: ''low'', ''moderate'', ''heavy'',
+              ''severe'''
+            PropertyValue: low
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 0}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 1309307371}
+            - Materials:
+              - {fileID: 1158676116}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers:
+        - {fileID: 11400000, guid: 62d6f0f3c3cfa094096bb93eb5a17a16, type: 2}
+        GoModifiers:
+        - {fileID: 11400000, guid: 9bbd80c71d8a3c64389371070b58d88f, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: ModerateTrafficCongestion
+          geometryType: 3
+          layerName: traffic
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: traffic
+          filters:
+          - Key: congestion
+            KeyDescription: 'Congestion severity. One of: ''low'', ''moderate'', ''heavy'',
+              ''severe'''
+            PropertyValue: moderate
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 0}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 1625201900}
+            - Materials:
+              - {fileID: 640558721}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers:
+        - {fileID: 11400000, guid: 62d6f0f3c3cfa094096bb93eb5a17a16, type: 2}
+        GoModifiers:
+        - {fileID: 11400000, guid: 323094f51a4b9694284270dbce39e58b, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: HeavyTrafficCongestion
+          geometryType: 3
+          layerName: traffic
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: traffic
+          filters:
+          - Key: congestion
+            KeyDescription: 'Congestion severity. One of: ''low'', ''moderate'', ''heavy'',
+              ''severe'''
+            PropertyValue: heavy
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 0}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 176169415}
+            - Materials:
+              - {fileID: 1004782313}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers:
+        - {fileID: 11400000, guid: 62d6f0f3c3cfa094096bb93eb5a17a16, type: 2}
+        GoModifiers:
+        - {fileID: 11400000, guid: fef7a9bd4475d2242b8651958b86df9d, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: SevereTrafficCongestion
+          geometryType: 3
+          layerName: traffic
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: traffic
+          filters:
+          - Key: congestion
+            KeyDescription: 'Congestion severity. One of: ''low'', ''moderate'', ''heavy'',
+              ''severe'''
+            PropertyValue: severe
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 0}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 1517525168}
+            - Materials:
+              - {fileID: 413566082}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers:
+        - {fileID: 11400000, guid: 62d6f0f3c3cfa094096bb93eb5a17a16, type: 2}
+        GoModifiers:
+        - {fileID: 11400000, guid: b8a01f6fb6a5da1448922c6c4a57b630, type: 2}
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+  _previewOptions:
+    isPreviewEnabled: 0
+--- !u!21 &176169415
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &177789513
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 177789519}
+  - component: {fileID: 177789518}
+  - component: {fileID: 177789517}
+  - component: {fileID: 177789516}
+  - component: {fileID: 177789515}
+  - component: {fileID: 177789514}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &177789514
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 177789513}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce97be288e861a243b6c6df4cc790edc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  ShadowDistance: 1000
+--- !u!81 &177789515
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 177789513}
+  m_Enabled: 1
+--- !u!124 &177789516
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 177789513}
+  m_Enabled: 1
+--- !u!92 &177789517
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 177789513}
+  m_Enabled: 1
+--- !u!20 &177789518
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 177789513}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 10
+  far clip plane: 3000
+  field of view: 10
+  orthographic: 0
+  orthographic size: 143.6
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294966271
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 1
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &177789519
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 177789513}
+  m_LocalRotation: {x: 0.2588191, y: 0, z: 0, w: 0.9659258}
+  m_LocalPosition: {x: 0, y: 452, z: -793}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 711360244}
+  m_Father: {fileID: 0}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 30, y: 0, z: 0}
+--- !u!21 &233478829
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &310359622
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 310359624}
+  - component: {fileID: 310359623}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &310359623
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 310359622}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 0.772
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &310359624
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 310359622}
+  m_LocalRotation: {x: -0.3921206, y: 0.33804145, z: -0.15763131, w: -0.84090537}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 50, y: -403.8, z: 0}
+--- !u!21 &351616898
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
+--- !u!21 &413566082
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &432491653
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &580700368
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 580700370}
+  - component: {fileID: 580700369}
+  m_Layer: 0
+  m_Name: Directions
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &580700369
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 580700368}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 44d601772d842a94cb5ab933dca6bd4f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 110210642}
+  MeshModifiers:
+  - {fileID: 11400000, guid: 72a54fd58e79618408c60d91df61d553, type: 2}
+  _material: {fileID: 2100000, guid: 49b5d148287c83443bd632e6d5b5bd6f, type: 2}
+  _waypoints:
+  - {fileID: 1684020941}
+  - {fileID: 1560654209}
+  UpdateFrequency: 1
+--- !u!4 &580700370
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 580700368}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 130.35254, y: 8.777344, z: -204.09375}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1684020941}
+  - {fileID: 1560654209}
+  m_Father: {fileID: 0}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &614506804
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1606733618819166, guid: 8f623e0b3327a1b4bbee73a6363ad280,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1684020941}
+  m_Layer: 0
+  m_Name: Waypoint1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &634210098
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1606733618819166, guid: 8f623e0b3327a1b4bbee73a6363ad280,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1560654209}
+  m_Layer: 0
+  m_Name: Waypoint2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!21 &640558721
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &653473038
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 1560654209}
+    m_Modifications:
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 17.04
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: -0.29545793
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 0.95535576
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114992817097132880, guid: 5bcb8afe019d04efc83e86f56b198ce0,
+        type: 2}
+      propertyPath: MoveTarget
+      value: 
+      objectReference: {fileID: 1560654209}
+    - target: {fileID: 114974611753197082, guid: 5bcb8afe019d04efc83e86f56b198ce0,
+        type: 2}
+      propertyPath: MoveTarget
+      value: 
+      objectReference: {fileID: 1560654209}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &711360243
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 711360244}
+  - component: {fileID: 711360245}
+  m_Layer: 0
+  m_Name: LabelCamera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &711360244
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 711360243}
+  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: 177789519}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 37.510002, y: 0, z: 0}
+--- !u!20 &711360245
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 711360243}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 10
+  far clip plane: 2000
+  field of view: 20
+  orthographic: 0
+  orthographic size: 143.6
+  m_Depth: 1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 1024
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 1
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &791105734 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0,
+    type: 2}
+  m_PrefabInternal: {fileID: 653473038}
+--- !u!1001 &834104049
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 1684020941}
+    m_Modifications:
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 17.04
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: -0.29545793
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 0.95535576
+      objectReference: {fileID: 0}
+    - target: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114992817097132880, guid: 5bcb8afe019d04efc83e86f56b198ce0,
+        type: 2}
+      propertyPath: MoveTarget
+      value: 
+      objectReference: {fileID: 1684020941}
+    - target: {fileID: 114974611753197082, guid: 5bcb8afe019d04efc83e86f56b198ce0,
+        type: 2}
+      propertyPath: MoveTarget
+      value: 
+      objectReference: {fileID: 1684020941}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 5bcb8afe019d04efc83e86f56b198ce0, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &1004782313
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1158676116
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &1279735267
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1279735269}
+  - component: {fileID: 1279735268}
+  m_Layer: 0
+  m_Name: TrafficUvAnimator
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1279735268
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1279735267}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e63ef20f8dd90df4789bc9f4d8d22083, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Materials:
+  - {fileID: 2100000, guid: 8350bd50898372246a4e57e5734f4942, type: 2}
+  - {fileID: 2100000, guid: 345209cc13279414db9639b2843ac3c1, type: 2}
+  - {fileID: 2100000, guid: 5df7ad3e02d78284cbc17810cb387d54, type: 2}
+  - {fileID: 2100000, guid: 46e6f9799c66fb648be2fb26a721be4c, type: 2}
+  Speed: 0.2
+--- !u!4 &1279735269
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1279735267}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 49.035645, y: -2.3496094, z: -39.771484}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!21 &1309307371
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &1401776645
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: '<b>Traffic and Directions</b>
+
+
+        Mapbox provides traffic information through the traffic vector layer. In this
+        example you can see an additional traffic map id added to Abstract Map under
+        Map Layers segment. It''s then visualized by a simple 3D geometry. The Directions
+        API returns the shortest route between two points. You can drag & drop the
+        two markers to update the route in this example. The Directions API call can
+        also be used for walking directions. '
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Value
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &1424082597
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
+--- !u!21 &1517525168
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &1552515545
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114103084892184410, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: MapVisualizer
+      value: 
+      objectReference: {fileID: 11400000, guid: 02a98fd6de7af4e4985b970acb849e8b,
+        type: 2}
+    - target: {fileID: 1393483683185582, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 1579282941551776, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+  m_IsPrefabParent: 0
+--- !u!4 &1560654209
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4049744316354048, guid: 8f623e0b3327a1b4bbee73a6363ad280,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 634210098}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -130.97578, y: -8.777344, z: 126.25037}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 791105734}
+  m_Father: {fileID: 580700370}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!21 &1625201900
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!4 &1684020941
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4049744316354048, guid: 8f623e0b3327a1b4bbee73a6363ad280,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 614506804}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -158.8, y: -8.777344, z: 227.7}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1805356963}
+  m_Father: {fileID: 580700370}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &1805356963 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4597394300452054, guid: 5bcb8afe019d04efc83e86f56b198ce0,
+    type: 2}
+  m_PrefabInternal: {fileID: 834104049}
+--- !u!1001 &2004251622
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 3adcee2515f8c49f4a7afb3bacf2c56e, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/TrafficAndDirections.unity.meta b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/TrafficAndDirections.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b28d00a465d7d888b873c1b342103d4f746bb683
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/1_DataExplorer/TrafficAndDirections.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4e6c827a7836ae446b19d2f18a3a1351
+timeCreated: 1521240711
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ba570b459fcccf7ff780ef219b24c07785b18961
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 76c442a1c6c8b425daf1368acef807d4
+folderAsset: yes
+timeCreated: 1529099522
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7def008c95011cc79df801d2f8909a7ba0ec386b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 726f3d1e8478540c4807e2dd5a9fa4dc
+folderAsset: yes
+timeCreated: 1529099522
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.unity b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.unity
new file mode 100644
index 0000000000000000000000000000000000000000..8a0c4aee69d28bf31d4429268f89e889a4a19725
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.unity
@@ -0,0 +1,1938 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4500653, g: 0.5001166, b: 0.57548314, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &37135191
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1635791393252332, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 37135192}
+  - component: {fileID: 37135193}
+  m_Layer: 0
+  m_Name: EditorLocationArray
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &37135192
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4779604382777758, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 37135191}
+  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: 843921208}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &37135193
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114363624137296630, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 37135191}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6b5c815d91f9d4c3690891f3ed4c3162, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 2
+  _sendEvent: 0
+  _latitudeLongitude:
+  - 37.784179, -122.401583
+  - 37.8045, -122.2714
+  - 37.2751, -121.8261
+  _heading: 0
+--- !u!1 &159634024
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1094528686802348, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 159634027}
+  - component: {fileID: 159634025}
+  - component: {fileID: 159634026}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &159634025
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114105500206378512, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 159634024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.784179, -122.401583
+      zoom: 16
+    extentOptions:
+      extentType: 0
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 234181019}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 0
+  _imagery:
+    _layerProperty:
+      sourceType: 2
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Dark
+          Id: mapbox://styles/mapbox/dark-v9
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 1
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - contour
+        - country_label
+        - hillshade
+        - housenum_label
+        - landcover
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - traffic
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 2
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Terrain
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7,mapbox.mapbox-traffic-v1,mapbox.mapbox-terrain-v2
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Park
+          geometryType: 2
+          layerName: landuse
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: landuse
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: landuse
+          extrusionType: 5
+          extrusionGeometryType: 1
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 3
+          maximumHeight: 0.5
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 2
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: dd22d0eb52da4594e90fbb4dd7ae0baf, type: 2}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: dd22d0eb52da4594e90fbb4dd7ae0baf, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: dd22d0eb52da4594e90fbb4dd7ae0baf, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 3505ec4e61e3f4c4d88fc3c5548e7144, type: 2}
+        - {fileID: 11400000, guid: e425dc440a40d9a4080794105e9f66ef, type: 2}
+        presetFeatureType: 2
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Traffic
+          geometryType: 3
+          layerName: road
+          snapToTerrain: 0
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: road
+          filters:
+          - Key: class
+            KeyDescription: 'One of: ''motorway'', ''motorway_link'', ''trunk'', ''primary'',
+              ''secondary'', ''tertiary'', ''link'', ''street'', ''street_limited'',
+              ''pedestrian'', ''construction'', ''track'', ''service'', ''ferry'',
+              ''path'', ''golf'''
+            PropertyValue: major
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: class
+            KeyDescription: 'One of: ''motorway'', ''motorway_link'', ''trunk'', ''primary'',
+              ''secondary'', ''tertiary'', ''link'', ''street'', ''street_limited'',
+              ''pedestrian'', ''construction'', ''track'', ''service'', ''ferry'',
+              ''path'', ''golf'''
+            PropertyValue: street
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: class
+            KeyDescription: 'One of: ''motorway'', ''motorway_link'', ''trunk'', ''primary'',
+              ''secondary'', ''tertiary'', ''link'', ''street'', ''street_limited'',
+              ''pedestrian'', ''construction'', ''track'', ''service'', ''ferry'',
+              ''path'', ''golf'''
+            PropertyValue: tertiary
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: class
+            KeyDescription: 'One of: ''motorway'', ''motorway_link'', ''trunk'', ''primary'',
+              ''secondary'', ''tertiary'', ''link'', ''street'', ''street_limited'',
+              ''pedestrian'', ''construction'', ''track'', ''service'', ''ferry'',
+              ''path'', ''golf'''
+            PropertyValue: primary
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: class
+            KeyDescription: 'One of: ''motorway'', ''motorway_link'', ''trunk'', ''primary'',
+              ''secondary'', ''tertiary'', ''link'', ''street'', ''street_limited'',
+              ''pedestrian'', ''construction'', ''track'', ''service'', ''ferry'',
+              ''path'', ''golf'''
+            PropertyValue: secondary
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: road
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 3
+          maximumHeight: 0.2
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 0}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers:
+        - {fileID: 11400000, guid: ed4da4864f7b7394399b675a217cd637, type: 2}
+        GoModifiers:
+        - {fileID: 11400000, guid: 5ad7c36a7a62f8b4cbcbcea8139a12a5, type: 2}
+        presetFeatureType: 1
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Buildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 1
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 3
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 2
+          materials:
+          - Materials:
+            - {fileID: 1624672643}
+          - Materials:
+            - {fileID: 942337738}
+          atlasInfo: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 0f9e3de68a3085e469bd62c8b40e9487, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: 6ec7317f2ac57e2448326cdc68816797, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+  _previewOptions:
+    isPreviewEnabled: 0
+--- !u!114 &159634026
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114086566548189782, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 159634024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 96f0fa82f89d64bb9a6524c72d538179, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 159634025}
+--- !u!4 &159634027
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4310658642812482, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 159634024}
+  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: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &234181014
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 234181015}
+  - component: {fileID: 234181019}
+  - component: {fileID: 234181018}
+  - component: {fileID: 234181017}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &234181015
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 234181014}
+  m_LocalRotation: {x: 0.30470043, y: 0.10373317, z: -0.03340496, w: 0.94619304}
+  m_LocalPosition: {x: -100.46565, y: 327.6, z: -445.46808}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 764432100}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 35.7, y: 0, z: 0}
+--- !u!81 &234181017
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 234181014}
+  m_Enabled: 1
+--- !u!124 &234181018
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 234181014}
+  m_Enabled: 1
+--- !u!20 &234181019
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 234181014}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 3333
+  field of view: 5
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!1 &289230304
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1671354315346450, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 289230305}
+  - component: {fileID: 289230306}
+  m_Layer: 0
+  m_Name: Transform
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &289230305
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4508123490764572, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 289230304}
+  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: 843921208}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &289230306
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114159034711449820, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 289230304}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a034c4eeb3293418aab101c1895844a4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 1
+  _sendEvent: 0
+  _targetTransform: {fileID: 289230305}
+--- !u!1001 &349954770
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 9
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 9
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0.000015258789
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Value
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: '<b>Astronaut Game</b>
+
+
+        This is an enhanced version of the "Location-based Game Starting Point." It
+        features custom styling, procedural vehicle movement based on real road data,
+        and dynamic lighting. Click on the road in the editor to navigate the astronaut
+        character to a point via the Directions API. On a device, this example uses
+        GPS location information to move and rotate the character.'
+      objectReference: {fileID: 0}
+    - target: {fileID: 1912118435774886, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 1611603657303738, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &397025668
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1065618987163410, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1538829360}
+  - component: {fileID: 397025670}
+  - component: {fileID: 397025669}
+  m_Layer: 0
+  m_Name: Target
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &397025669
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114668955501623132, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 397025668}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 061d2afb48ace4fd19611279b6cf732f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _useDeviceOrientation: 0
+  _subtractUserHeading: 0
+  _rotationFollowFactor: 2
+  _rotateZ: 0
+  _useNegativeAngle: 0
+  _useTransformLocationProvider: 0
+--- !u!114 &397025670
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114140835023345716, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 397025668}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7760043eea2cd452ba7117f2c97e0038, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &444856203
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1844081552716966, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 444856204}
+  - component: {fileID: 444856205}
+  m_Layer: 0
+  m_Name: AndroidDevice
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &444856204
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4385260180251512, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 444856203}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -18.677399, y: 12.257265, z: 21.646572}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 843921208}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &444856205
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114410157683913826, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 444856203}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d3d557417079b1446999d2d86ff71dfb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _updateDistanceInMeters: 0
+  _updateTimeInMilliSeconds: 500
+--- !u!1 &764432099
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 764432100}
+  - component: {fileID: 764432101}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &764432100
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 764432099}
+  m_LocalRotation: {x: -0.25388518, y: -0.07250805, z: 0.9643239, w: -0.019089768}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 234181015}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 171.4, y: -209.5, z: 0}
+--- !u!108 &764432101
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 764432099}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.17
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &843921208
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4499799956889190, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1050211063}
+  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:
+  - {fileID: 1160898045}
+  - {fileID: 1082879434}
+  - {fileID: 37135192}
+  - {fileID: 289230305}
+  - {fileID: 444856204}
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!21 &942337738
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &1050211063
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1343136282922088, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 843921208}
+  - component: {fileID: 1050211064}
+  m_Layer: 0
+  m_Name: LocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1050211064
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114785114324483884, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1050211063}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b55f37f9a6f7e44f7bb35e6bc3863847, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  mapManager: {fileID: 159634025}
+  _deviceLocationProviderUnity: {fileID: 1160898046}
+  _deviceLocationProviderAndroid: {fileID: 444856205}
+  _editorLocationProvider: {fileID: 1082879435}
+  _transformLocationProvider: {fileID: 289230306}
+  _dontDestroyOnLoad: 0
+--- !u!1 &1082879433
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1155921098649226, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1082879434}
+  - component: {fileID: 1082879435}
+  m_Layer: 0
+  m_Name: Editor
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1082879434
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4249158653028356, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1082879433}
+  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: 843921208}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1082879435
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114357689223919402, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1082879433}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 60712efc3153a4819b0c79437175846d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 0.1
+  _sendEvent: 0
+  _latitudeLongitude: 37.784179, -122.401583
+  _targetTransform: {fileID: 0}
+--- !u!1 &1136482693
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1136482694}
+  m_Layer: 0
+  m_Name: StartPoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1136482694
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1136482693}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.018181818, y: 0.018181818, z: 0.018181818}
+  m_Children: []
+  m_Father: {fileID: 1176362814}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1160898044
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1784694379802654, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1160898045}
+  - component: {fileID: 1160898046}
+  m_Layer: 0
+  m_Name: Device
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1160898045
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4572037255418010, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1160898044}
+  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: 843921208}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1160898046
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114472907270853152, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1160898044}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a38712e93231418a84665190b8473d0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _desiredAccuracyInMeters: 5
+  _updateDistanceInMeters: 5
+  _updateTimeInMilliSeconds: 1000
+  _userHeadingSmoothing: {fileID: 0}
+  _deviceOrientationSmoothing: {fileID: 0}
+  _editorDebuggingOnly:
+    _mockUnityInputLocation: 0
+    _locationLogFile: {fileID: 0}
+--- !u!1 &1176362809 stripped
+GameObject:
+  m_PrefabParentObject: {fileID: 1438539700862716, guid: b4281c0219e45624e855839527bdc6f1,
+    type: 2}
+  m_PrefabInternal: {fileID: 1502952404}
+--- !u!114 &1176362810
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1176362809}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7131041864ed14f44865fa1d8e27b411, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  character: {fileID: 1176362809}
+  characterSpeed: 5
+  characterAnimator: {fileID: 1176362811}
+  directions: {fileID: 1176362812}
+  startPoint: {fileID: 1136482694}
+  endPoint: {fileID: 1426712542}
+  map: {fileID: 159634025}
+  rayPlane: {fileID: 1746432969}
+  _movementEndPoint: {fileID: 1538829360}
+  layerMask:
+    serializedVersion: 2
+    m_Bits: 131072
+  cam: {fileID: 234181019}
+--- !u!95 &1176362811 stripped
+Animator:
+  m_PrefabParentObject: {fileID: 95022966287224496, guid: b4281c0219e45624e855839527bdc6f1,
+    type: 2}
+  m_PrefabInternal: {fileID: 1502952404}
+--- !u!114 &1176362812
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1176362809}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3590ab21d4bcb49ba8fd090c53a5fc51, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!4 &1176362814 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1,
+    type: 2}
+  m_PrefabInternal: {fileID: 1502952404}
+--- !u!1 &1188978833
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1188978836}
+  - component: {fileID: 1188978835}
+  - component: {fileID: 1188978834}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1188978834
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1188978833}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &1188978835
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1188978833}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &1188978836
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1188978833}
+  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: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1220223447
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1220223451}
+  - component: {fileID: 1220223450}
+  - component: {fileID: 1220223449}
+  - component: {fileID: 1220223448}
+  - component: {fileID: 1220223452}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1220223448
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &1220223449
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 2
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &1220223450
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &1220223451
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  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_Children:
+  - {fileID: 1962332872}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!114 &1220223452
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1220223447}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 57387868ef277924ea4a999647c6db75, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _statusText: {fileID: 1962332873}
+--- !u!1 &1426712541
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1426712542}
+  m_Layer: 0
+  m_Name: EndPoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1426712542
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1426712541}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.018181818, y: 0.018181818, z: 0.018181818}
+  m_Children: []
+  m_Father: {fileID: 1176362814}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1466573009
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1466573011}
+  - component: {fileID: 1466573010}
+  m_Layer: 0
+  m_Name: TrafficAnimator
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1466573010
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1466573009}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e63ef20f8dd90df4789bc9f4d8d22083, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Materials:
+  - {fileID: 2100000, guid: 5ac0ac96d738c0845b30185d2838f299, type: 2}
+  Speed: -0.1
+--- !u!4 &1466573011
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1466573009}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 10.60498, y: -0.578125, z: -39.86084}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &1502952404
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4601729990306218, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+      propertyPath: m_RootOrder
+      value: 7
+      objectReference: {fileID: 0}
+    - target: {fileID: 114672260392319182, guid: b4281c0219e45624e855839527bdc6f1,
+        type: 2}
+      propertyPath: Target
+      value: 
+      objectReference: {fileID: 1538829360}
+    - target: {fileID: 114672260392319182, guid: b4281c0219e45624e855839527bdc6f1,
+        type: 2}
+      propertyPath: moveSpeed
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 114672260392319182, guid: b4281c0219e45624e855839527bdc6f1,
+        type: 2}
+      propertyPath: rotationSpeed
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: b4281c0219e45624e855839527bdc6f1, type: 2}
+  m_IsPrefabParent: 0
+--- !u!4 &1538829360
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4961856903295740, guid: 35ce2bb4caba9434db5e656796b632b1,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 397025668}
+  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: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!21 &1624672643
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &1746432969
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1746432973}
+  - component: {fileID: 1746432972}
+  - component: {fileID: 1746432971}
+  - component: {fileID: 1746432970}
+  m_Layer: 17
+  m_Name: RaycastPlane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!23 &1746432970
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1746432969}
+  m_Enabled: 0
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!64 &1746432971
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1746432969}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Convex: 0
+  m_CookingOptions: 14
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &1746432972
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1746432969}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1746432973
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1746432969}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 30.46057, y: 30.46057, z: 30.46057}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 8
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1962332871
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1962332872}
+  - component: {fileID: 1962332874}
+  - component: {fileID: 1962332873}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1962332872
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1962332871}
+  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: 1220223451}
+  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: 1, y: 1}
+--- !u!114 &1962332873
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1962332871}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_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: 10
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 7
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Waiting for location ....
+--- !u!222 &1962332874
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1962332871}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.unity.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bbfad0b6129e929481ed02bf59a92f76af7700f9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 23b3522d4f6fa450eb781397db4b26ed
+timeCreated: 1529099528
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dc13cea7d1698057e905250c5331f0d3938770fe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: f09fe49cce04aa74eadbef845e4cb242
+folderAsset: yes
+timeCreated: 1529090610
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@idle.fbx b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@idle.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..4c0ecda564b4d49de47681dc7c76a7d303fcb4dc
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@idle.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@idle.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@idle.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4b4af1ab48eef495ac4de310b8e107b51b9da1ce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@idle.fbx.meta
@@ -0,0 +1,173 @@
+fileFormatVersion: 2
+guid: 60910c35c31b61e429ee83165006de91
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    100002: Astronaut:polySurface1
+    100004: QuickRigCharacter_Head
+    100006: QuickRigCharacter_Hips
+    100008: QuickRigCharacter_LeftArm
+    100010: QuickRigCharacter_LeftFoot
+    100012: QuickRigCharacter_LeftForeArm
+    100014: QuickRigCharacter_LeftHand
+    100016: QuickRigCharacter_LeftLeg
+    100018: QuickRigCharacter_LeftShoulder
+    100020: QuickRigCharacter_LeftToeBase
+    100022: QuickRigCharacter_LeftUpLeg
+    100024: QuickRigCharacter_Neck
+    100026: QuickRigCharacter_Reference
+    100028: QuickRigCharacter_RightArm
+    100030: QuickRigCharacter_RightFoot
+    100032: QuickRigCharacter_RightForeArm
+    100034: QuickRigCharacter_RightHand
+    100036: QuickRigCharacter_RightLeg
+    100038: QuickRigCharacter_RightShoulder
+    100040: QuickRigCharacter_RightToeBase
+    100042: QuickRigCharacter_RightUpLeg
+    100044: QuickRigCharacter_Spine
+    100046: QuickRigCharacter_Spine1
+    100048: QuickRigCharacter_Spine2
+    400000: //RootNode
+    400002: Astronaut:polySurface1
+    400004: QuickRigCharacter_Head
+    400006: QuickRigCharacter_Hips
+    400008: QuickRigCharacter_LeftArm
+    400010: QuickRigCharacter_LeftFoot
+    400012: QuickRigCharacter_LeftForeArm
+    400014: QuickRigCharacter_LeftHand
+    400016: QuickRigCharacter_LeftLeg
+    400018: QuickRigCharacter_LeftShoulder
+    400020: QuickRigCharacter_LeftToeBase
+    400022: QuickRigCharacter_LeftUpLeg
+    400024: QuickRigCharacter_Neck
+    400026: QuickRigCharacter_Reference
+    400028: QuickRigCharacter_RightArm
+    400030: QuickRigCharacter_RightFoot
+    400032: QuickRigCharacter_RightForeArm
+    400034: QuickRigCharacter_RightHand
+    400036: QuickRigCharacter_RightLeg
+    400038: QuickRigCharacter_RightShoulder
+    400040: QuickRigCharacter_RightToeBase
+    400042: QuickRigCharacter_RightUpLeg
+    400044: QuickRigCharacter_Spine
+    400046: QuickRigCharacter_Spine1
+    400048: QuickRigCharacter_Spine2
+    2100000: Astronaut_initialShadingGroup1
+    4300000: Astronaut:polySurface1
+    7400000: idle
+    9500000: //RootNode
+    13700000: Astronaut:polySurface1
+  externalObjects:
+  - first:
+      type: UnityEngine:Material
+      assembly: UnityEngine.CoreModule
+      name: Astronaut_initialShadingGroup1
+    second: {fileID: 2100000, guid: 2a98223a0ce402e42b52d90ce9e4910a, type: 2}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations:
+    - serializedVersion: 16
+      name: idle
+      takeName: Take 001
+      firstFrame: 0
+      lastFrame: 240
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      hasAdditiveReferencePose: 0
+      loopTime: 1
+      loopBlend: 0
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events: []
+      transformMask: []
+      maskType: 3
+      maskSource: {instanceID: 0}
+      additiveReferencePoseFrame: 0
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@walk.fbx b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@walk.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..49b9f484518e74d17c42d77be319ade3f4da85da
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@walk.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@walk.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@walk.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f920733ee527e7f2c69d087a03480a3229fd9cab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Astro@walk.fbx.meta
@@ -0,0 +1,174 @@
+fileFormatVersion: 2
+guid: fc9c407526569a040aff73ce885504c1
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    100002: Astronaut:polySurface1
+    100004: QuickRigCharacter_Head
+    100006: QuickRigCharacter_Hips
+    100008: QuickRigCharacter_LeftArm
+    100010: QuickRigCharacter_LeftFoot
+    100012: QuickRigCharacter_LeftForeArm
+    100014: QuickRigCharacter_LeftHand
+    100016: QuickRigCharacter_LeftLeg
+    100018: QuickRigCharacter_LeftShoulder
+    100020: QuickRigCharacter_LeftToeBase
+    100022: QuickRigCharacter_LeftUpLeg
+    100024: QuickRigCharacter_Neck
+    100026: QuickRigCharacter_Reference
+    100028: QuickRigCharacter_RightArm
+    100030: QuickRigCharacter_RightFoot
+    100032: QuickRigCharacter_RightForeArm
+    100034: QuickRigCharacter_RightHand
+    100036: QuickRigCharacter_RightLeg
+    100038: QuickRigCharacter_RightShoulder
+    100040: QuickRigCharacter_RightToeBase
+    100042: QuickRigCharacter_RightUpLeg
+    100044: QuickRigCharacter_Spine
+    100046: QuickRigCharacter_Spine1
+    100048: QuickRigCharacter_Spine2
+    400000: //RootNode
+    400002: Astronaut:polySurface1
+    400004: QuickRigCharacter_Head
+    400006: QuickRigCharacter_Hips
+    400008: QuickRigCharacter_LeftArm
+    400010: QuickRigCharacter_LeftFoot
+    400012: QuickRigCharacter_LeftForeArm
+    400014: QuickRigCharacter_LeftHand
+    400016: QuickRigCharacter_LeftLeg
+    400018: QuickRigCharacter_LeftShoulder
+    400020: QuickRigCharacter_LeftToeBase
+    400022: QuickRigCharacter_LeftUpLeg
+    400024: QuickRigCharacter_Neck
+    400026: QuickRigCharacter_Reference
+    400028: QuickRigCharacter_RightArm
+    400030: QuickRigCharacter_RightFoot
+    400032: QuickRigCharacter_RightForeArm
+    400034: QuickRigCharacter_RightHand
+    400036: QuickRigCharacter_RightLeg
+    400038: QuickRigCharacter_RightShoulder
+    400040: QuickRigCharacter_RightToeBase
+    400042: QuickRigCharacter_RightUpLeg
+    400044: QuickRigCharacter_Spine
+    400046: QuickRigCharacter_Spine1
+    400048: QuickRigCharacter_Spine2
+    2100000: Astronaut_initialShadingGroup1
+    4300000: Astronaut:polySurface1
+    7400000: walk
+    7400002: walk (1)
+    9500000: //RootNode
+    13700000: Astronaut:polySurface1
+  externalObjects:
+  - first:
+      type: UnityEngine:Material
+      assembly: UnityEngine.CoreModule
+      name: Astronaut_initialShadingGroup1
+    second: {fileID: 2100000, guid: 2a98223a0ce402e42b52d90ce9e4910a, type: 2}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations:
+    - serializedVersion: 16
+      name: walk (1)
+      takeName: Take 001
+      firstFrame: 0
+      lastFrame: 25
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      hasAdditiveReferencePose: 0
+      loopTime: 1
+      loopBlend: 0
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events: []
+      transformMask: []
+      maskType: 3
+      maskSource: {instanceID: 0}
+      additiveReferencePoseFrame: 0
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 1
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautAnimationController.controller b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautAnimationController.controller
new file mode 100644
index 0000000000000000000000000000000000000000..76cf0f900f12e882b22bc5ed686d68415a02856f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautAnimationController.controller
@@ -0,0 +1,153 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: AstronautAnimationController
+  serializedVersion: 5
+  m_AnimatorParameters:
+  - m_Name: IsWalking
+    m_Type: 4
+    m_DefaultFloat: 0
+    m_DefaultInt: 0
+    m_DefaultBool: 0
+    m_Controller: {fileID: 9100000}
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: 1107038828423977690}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1101 &1101236688352986620
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 1
+    m_ConditionEvent: IsWalking
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 1102064175453669028}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.975
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1101 &1101549264328282640
+AnimatorStateTransition:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: 
+  m_Conditions:
+  - m_ConditionMode: 2
+    m_ConditionEvent: IsWalking
+    m_EventTreshold: 0
+  m_DstStateMachine: {fileID: 0}
+  m_DstState: {fileID: 1102851800074813182}
+  m_Solo: 0
+  m_Mute: 0
+  m_IsExit: 0
+  serializedVersion: 3
+  m_TransitionDuration: 0.25
+  m_TransitionOffset: 0
+  m_ExitTime: 0.76
+  m_HasExitTime: 0
+  m_HasFixedDuration: 1
+  m_InterruptionSource: 0
+  m_OrderedInterruption: 1
+  m_CanTransitionToSelf: 1
+--- !u!1102 &1102064175453669028
+AnimatorState:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: walk (1)
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions:
+  - {fileID: 1101549264328282640}
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400002, guid: fc9c407526569a040aff73ce885504c1, type: 3}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!1102 &1102851800074813182
+AnimatorState:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: idle
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions:
+  - {fileID: 1101236688352986620}
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: 60910c35c31b61e429ee83165006de91, type: 3}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!1107 &1107038828423977690
+AnimatorStateMachine:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: 1102851800074813182}
+    m_Position: {x: 300, y: 228, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 1102064175453669028}
+    m_Position: {x: 487.17944, y: 395.78204, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: 1102851800074813182}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautAnimationController.controller.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautAnimationController.controller.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a6e8482f617b7b325a89d334593d8ea6e7b8db7c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautAnimationController.controller.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9604f897cddd77b40953b99469abcdbd
+timeCreated: 1529090057
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 9100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautDirections.cs b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautDirections.cs
new file mode 100644
index 0000000000000000000000000000000000000000..832bf73d1b2876c85816c0b01713bfba506aaa92
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautDirections.cs
@@ -0,0 +1,55 @@
+using UnityEngine;
+using Mapbox.Directions;
+using System.Collections.Generic;
+using Mapbox.Unity.Map;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Utils;
+using Mapbox.Unity.Utilities;
+using Mapbox.Unity;
+using System;
+
+namespace Mapbox.Examples
+{
+	public class AstronautDirections : MonoBehaviour
+	{
+		AbstractMap _map;
+		Directions.Directions _directions;
+		Action<List<Vector3>> callback;
+
+		void Awake()
+		{
+			_directions = MapboxAccess.Instance.Directions;
+		}
+
+		public void Query(Action<List<Vector3>> vecs, Transform start, Transform end, AbstractMap map)
+		{
+			if (callback == null)
+				callback = vecs;
+
+			_map = map;
+
+			var wp = new Vector2d[2];
+			wp[0] = start.GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
+			wp[1] = end.GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
+			var _directionResource = new DirectionResource(wp, RoutingProfile.Walking);
+			_directionResource.Steps = true;
+			_directions.Query(_directionResource, HandleDirectionsResponse);
+		}
+
+		void HandleDirectionsResponse(DirectionsResponse response)
+		{
+			if (null == response.Routes || response.Routes.Count < 1)
+			{
+				return;
+			}
+
+			var dat = new List<Vector3>();
+			foreach (var point in response.Routes[0].Geometry)
+			{
+				dat.Add(Conversions.GeoToWorldPosition(point.x, point.y, _map.CenterMercator, _map.WorldRelativeScale).ToVector3xz());
+			}
+
+			callback(dat);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautDirections.cs.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautDirections.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35ab59c8a44ad92991043141470fda71afa310d6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautDirections.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 3590ab21d4bcb49ba8fd090c53a5fc51
+timeCreated: 1529445124
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautMouseController.cs b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautMouseController.cs
new file mode 100644
index 0000000000000000000000000000000000000000..db038515a5cd9f6879230dad457d80e850224fb6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautMouseController.cs
@@ -0,0 +1,223 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Examples
+{
+	public class AstronautMouseController : MonoBehaviour
+	{
+		[Header("Character")]
+		[SerializeField]
+		GameObject character;
+		[SerializeField]
+		float characterSpeed;
+		[SerializeField]
+		Animator characterAnimator;
+
+		[Header("References")]
+		[SerializeField]
+		AstronautDirections directions;
+		[SerializeField]
+		Transform startPoint;
+		[SerializeField]
+		Transform endPoint;
+		[SerializeField]
+		AbstractMap map;
+		[SerializeField]
+		GameObject rayPlane;
+		[SerializeField]
+		Transform _movementEndPoint;
+
+		[SerializeField]
+		LayerMask layerMask;
+
+		Ray ray;
+		RaycastHit hit;
+		LayerMask raycastPlane;
+		float clicktime;
+		bool moving;
+		bool characterDisabled;
+
+		void Start()
+		{
+			characterAnimator = GetComponentInChildren<Animator>();
+			if (!Application.isEditor)
+			{
+				this.enabled = false;
+				return;
+			}
+		}
+
+		void Update()
+		{
+			if (characterDisabled)
+				return;
+
+			CamControl();
+
+			bool click = false;
+
+			if (Input.GetMouseButtonDown(0))
+			{
+				clicktime = Time.time;
+			}
+			if (Input.GetMouseButtonUp(0))
+			{
+				if (Time.time - clicktime < 0.15f)
+				{
+					click = true;
+				}
+			}
+
+			if (click)
+			{
+				ray = cam.ScreenPointToRay(Input.mousePosition);
+
+				if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask))
+				{
+					startPoint.position = transform.localPosition;
+					endPoint.position = hit.point;
+					MovementEndpointControl(hit.point, true);
+
+					directions.Query(GetPositions, startPoint, endPoint, map);
+				}
+			}
+		}
+
+		#region Character : Movement
+		List<Vector3> futurePositions;
+		bool interruption;
+		void GetPositions(List<Vector3> vecs)
+		{
+			futurePositions = vecs;
+
+			if (futurePositions != null && moving)
+			{
+				interruption = true;
+			}
+			if (!moving)
+			{
+				interruption = false;
+				MoveToNextPlace();
+			}
+		}
+
+		Vector3 nextPos;
+		void MoveToNextPlace()
+		{
+			if (futurePositions.Count > 0)
+			{
+				nextPos = futurePositions[0];
+				futurePositions.Remove(nextPos);
+
+				moving = true;
+				characterAnimator.SetBool("IsWalking", true);
+				StartCoroutine(MoveTo());
+			}
+			else if (futurePositions.Count <= 0)
+			{
+				moving = false;
+				characterAnimator.SetBool("IsWalking", false);
+			}
+		}
+
+		Vector3 prevPos;
+		IEnumerator MoveTo()
+		{
+			prevPos = transform.localPosition;
+
+			float time = CalculateTime();
+			float t = 0;
+
+			StartCoroutine(LookAtNextPos());
+
+			while (t < 1 && !interruption)
+			{
+				t += Time.deltaTime / time;
+
+				transform.localPosition = Vector3.Lerp(prevPos, nextPos, t);
+
+				yield return null;
+			}
+
+			interruption = false;
+			MoveToNextPlace();
+		}
+
+		float CalculateTime()
+		{
+			float timeToMove = 0;
+
+			timeToMove = Vector3.Distance(prevPos, nextPos) / characterSpeed;
+
+			return timeToMove;
+		}
+		#endregion
+
+		#region Character : Rotation
+		IEnumerator LookAtNextPos()
+		{
+			Quaternion neededRotation = Quaternion.LookRotation(nextPos - character.transform.position);
+			Quaternion thisRotation = character.transform.localRotation;
+
+			float t = 0;
+			while (t < 1.0f)
+			{
+				t += Time.deltaTime / 0.25f;
+				var rotationValue = Quaternion.Slerp(thisRotation, neededRotation, t);
+				character.transform.rotation = Quaternion.Euler(0, rotationValue.eulerAngles.y, 0);
+				yield return null;
+			}
+		}
+		#endregion
+
+		#region CameraControl
+		[Header("CameraSettings")]
+		[SerializeField]
+		Camera cam;
+		Vector3 previousPos = Vector3.zero;
+		Vector3 deltaPos = Vector3.zero;
+
+		void CamControl()
+		{
+			deltaPos = transform.position - previousPos;
+			deltaPos.y = 0;
+			cam.transform.position = Vector3.Lerp(cam.transform.position, cam.transform.position + deltaPos, Time.time);
+			previousPos = transform.position;
+		}
+		#endregion
+
+		#region Utility
+		public void DisableCharacter()
+		{
+			characterDisabled = true;
+			moving = false;
+			StopAllCoroutines();
+			character.SetActive(false);
+		}
+
+		public void EnableCharacter()
+		{
+			characterDisabled = false;
+			character.SetActive(true);
+		}
+
+		public void LayerChangeOn()
+		{
+			Debug.Log("OPEN");
+		}
+
+		public void LayerChangeOff()
+		{
+			Debug.Log("CLOSE");
+		}
+
+		void MovementEndpointControl(Vector3 pos, bool active)
+		{
+			_movementEndPoint.position = new Vector3(pos.x, 0.2f, pos.z);
+			_movementEndPoint.gameObject.SetActive(active);
+		}
+		#endregion
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautMouseController.cs.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautMouseController.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0d47e4bdc88f21c7795a227739304a9c0814b345
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/AstronautMouseController.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 7131041864ed14f44865fa1d8e27b411
+timeCreated: 1529443440
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/CharacterMovement.cs b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/CharacterMovement.cs
new file mode 100644
index 0000000000000000000000000000000000000000..74336da834a5ff5c3650804d0d73448e07b19020
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/CharacterMovement.cs
@@ -0,0 +1,45 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Mapbox.Examples
+{
+	public class CharacterMovement : MonoBehaviour
+	{
+		public Material[] Materials;
+		public Transform Target;
+		public Animator CharacterAnimator;
+		public float Speed;
+		AstronautMouseController _controller;
+		void Start()
+		{
+			_controller = GetComponent<AstronautMouseController>();
+		}
+
+		void Update()
+		{
+			
+			if (_controller.enabled)// Because the mouse control script interferes with this script
+			{
+				return;
+			}
+
+			foreach (var item in Materials)
+			{
+				item.SetVector("_CharacterPosition", transform.position);
+			}
+
+			var distance = Vector3.Distance(transform.position, Target.position);
+			if (distance > 0.1f)
+			{
+				transform.LookAt(Target.position);
+				transform.Translate(Vector3.forward * Speed);
+				CharacterAnimator.SetBool("IsWalking", true);
+			}
+			else
+			{
+				CharacterAnimator.SetBool("IsWalking", false);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/CharacterMovement.cs.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/CharacterMovement.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..04bb81f16925c497dac85787bf734e71f072b57e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/CharacterMovement.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5798356d101127847ac0719a2d1ab574
+timeCreated: 1526565096
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Falloff.psd b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Falloff.psd
new file mode 100644
index 0000000000000000000000000000000000000000..2dea3342ec3b1c6899e884d4f7962493549deec4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Falloff.psd differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Falloff.psd.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Falloff.psd.meta
new file mode 100644
index 0000000000000000000000000000000000000000..adb899ebb74db37998e655bafd9c549df0f0595b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/Falloff.psd.meta
@@ -0,0 +1,52 @@
+fileFormatVersion: 2
+guid: 23740055e2b119e40a939138ab8070f8
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 1
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: .25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 1
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 8
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 256
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: 1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: .5, y: .5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  textureType: 5
+  buildTargetSettings: []
+  spriteSheet:
+    sprites: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.fbx b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..4736d90593df90ffb8a870ab4d82cf3924800841
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f4996466b634d4d08484f3ba085e1f588bd13c1f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.fbx.meta
@@ -0,0 +1,173 @@
+fileFormatVersion: 2
+guid: d5c7249b3f2369b42b2dbf63a8035989
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: Astronaut:polySurface1
+    100002: //RootNode
+    100004: QuickRigCharacter_Head
+    100006: QuickRigCharacter_Hips
+    100008: QuickRigCharacter_LeftArm
+    100010: QuickRigCharacter_LeftFoot
+    100012: QuickRigCharacter_LeftForeArm
+    100014: QuickRigCharacter_LeftHand
+    100016: QuickRigCharacter_LeftLeg
+    100018: QuickRigCharacter_LeftShoulder
+    100020: QuickRigCharacter_LeftToeBase
+    100022: QuickRigCharacter_LeftUpLeg
+    100024: QuickRigCharacter_Neck
+    100026: QuickRigCharacter_Reference
+    100028: QuickRigCharacter_RightArm
+    100030: QuickRigCharacter_RightFoot
+    100032: QuickRigCharacter_RightForeArm
+    100034: QuickRigCharacter_RightHand
+    100036: QuickRigCharacter_RightLeg
+    100038: QuickRigCharacter_RightShoulder
+    100040: QuickRigCharacter_RightToeBase
+    100042: QuickRigCharacter_RightUpLeg
+    100044: QuickRigCharacter_Spine
+    100046: QuickRigCharacter_Spine1
+    100048: QuickRigCharacter_Spine2
+    400000: Astronaut:polySurface1
+    400002: //RootNode
+    400004: QuickRigCharacter_Head
+    400006: QuickRigCharacter_Hips
+    400008: QuickRigCharacter_LeftArm
+    400010: QuickRigCharacter_LeftFoot
+    400012: QuickRigCharacter_LeftForeArm
+    400014: QuickRigCharacter_LeftHand
+    400016: QuickRigCharacter_LeftLeg
+    400018: QuickRigCharacter_LeftShoulder
+    400020: QuickRigCharacter_LeftToeBase
+    400022: QuickRigCharacter_LeftUpLeg
+    400024: QuickRigCharacter_Neck
+    400026: QuickRigCharacter_Reference
+    400028: QuickRigCharacter_RightArm
+    400030: QuickRigCharacter_RightFoot
+    400032: QuickRigCharacter_RightForeArm
+    400034: QuickRigCharacter_RightHand
+    400036: QuickRigCharacter_RightLeg
+    400038: QuickRigCharacter_RightShoulder
+    400040: QuickRigCharacter_RightToeBase
+    400042: QuickRigCharacter_RightUpLeg
+    400044: QuickRigCharacter_Spine
+    400046: QuickRigCharacter_Spine1
+    400048: QuickRigCharacter_Spine2
+    2100000: Astronaut_initialShadingGroup1
+    4300000: Astronaut:polySurface1
+    7400000: Take 001
+    9500000: //RootNode
+    13700000: Astronaut:polySurface1
+  externalObjects:
+  - first:
+      type: UnityEngine:Material
+      assembly: UnityEngine.CoreModule
+      name: Astronaut_initialShadingGroup1
+    second: {fileID: 2100000, guid: 2a98223a0ce402e42b52d90ce9e4910a, type: 2}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations:
+    - serializedVersion: 16
+      name: Take 001
+      takeName: Take 001
+      firstFrame: 0
+      lastFrame: 24
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      hasAdditiveReferencePose: 0
+      loopTime: 1
+      loopBlend: 0
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events: []
+      transformMask: []
+      maskType: 3
+      maskSource: {instanceID: 0}
+      additiveReferencePoseFrame: 0
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.mat b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.mat
new file mode 100644
index 0000000000000000000000000000000000000000..2ba485cd03b33cfa8a4a801ca9ab96d76fc5871b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.mat
@@ -0,0 +1,80 @@
+%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: MapboxAstronaut
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 6f824ebc83678c64dbc8ce6ba03a458d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 2bc2b101a9422c74682327ba26483e9a, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: f12c7b4f859417447a5b89065836984e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 049d968ff5737894f88a9e322c78528e, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.mat.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..65c43feb9a9795a79fe10926d14f0487e738368e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2a98223a0ce402e42b52d90ce9e4910a
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.prefab b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..ba1cc75a73931b0fa9bf00da7ac9d90cdba68ae1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.prefab
@@ -0,0 +1,890 @@
+%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: 1438539700862716}
+  m_IsPrefabParent: 1
+--- !u!1 &1018339591855172
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4326241562144436}
+  - component: {fileID: 137659039767429366}
+  m_Layer: 0
+  m_Name: Astronaut:polySurface1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1051047931922824
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4328357964448866}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_Spine
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1120235977255474
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4271299031416982}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_RightToeBase
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1131952555801694
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4309005642959794}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_LeftShoulder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1151238910651548
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4266259974256674}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_RightShoulder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1161743746614012
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4439320858165566}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_LeftForeArm
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1239020667436276
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4564062467931404}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_Spine1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1262282356535722
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4913571476090730}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_Hips
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1265412051168968
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4167421931201016}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_LeftUpLeg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1423015371872446
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4669577574833798}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_LeftFoot
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1437424794265834
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4168549534757134}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_RightArm
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1438539700862716
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4601729990306218}
+  - component: {fileID: 95022966287224496}
+  - component: {fileID: 114672260392319182}
+  m_Layer: 0
+  m_Name: MapboxAstronaut
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1453784097573610
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4938951062107052}
+  - component: {fileID: 119216056316028198}
+  m_Layer: 0
+  m_Name: Projector (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1477690152525932
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4462291593921826}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_RightHand
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1537010061390152
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4754232024427722}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_Head
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1559740618356954
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4114513281126880}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_Spine2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1585646714775650
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4607153088108762}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_LeftLeg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1686897850784496
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4056355216674710}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_Reference
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1727642194359892
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4436377829613292}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_Neck
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1773329532817944
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4940254246729492}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_LeftHand
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1801857366295214
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4389057685693142}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_RightLeg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1826772582437090
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4171306828873776}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_RightUpLeg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1851664548656556
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4192611460441496}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_RightForeArm
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1871747426080712
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4146356069190516}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_RightFoot
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1874974206781822
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4557674090849938}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_LeftToeBase
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1998947903308918
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4537023896473028}
+  m_Layer: 0
+  m_Name: QuickRigCharacter_LeftArm
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4056355216674710
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1686897850784496}
+  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:
+  - {fileID: 4913571476090730}
+  m_Father: {fileID: 4601729990306218}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4114513281126880
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1559740618356954}
+  m_LocalRotation: {x: 0.0065308507, y: -0.003558385, z: -0.013351026, w: 0.99988323}
+  m_LocalPosition: {x: -0.0037185934, y: -2.980852e-11, z: 2.478923e-10}
+  m_LocalScale: {x: 1, y: 1, z: 0.99999994}
+  m_Children:
+  - {fileID: 4309005642959794}
+  - {fileID: 4436377829613292}
+  - {fileID: 4266259974256674}
+  m_Father: {fileID: 4564062467931404}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4146356069190516
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1871747426080712}
+  m_LocalRotation: {x: 0.031909835, y: 0.043549217, z: 0.5575851, w: 0.82836235}
+  m_LocalPosition: {x: 0.017951814, y: -0.000000010655119, z: 0.0000000020416815}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4271299031416982}
+  m_Father: {fileID: 4389057685693142}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4167421931201016
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1265412051168968}
+  m_LocalRotation: {x: -0.09830838, y: -0.020667719, z: 0.93788064, w: -0.33209673}
+  m_LocalPosition: {x: -0.00009336389, y: 0.00003145373, z: 0.004962634}
+  m_LocalScale: {x: 1.0000001, y: 1, z: 1.0000001}
+  m_Children:
+  - {fileID: 4607153088108762}
+  m_Father: {fileID: 4913571476090730}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4168549534757134
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1437424794265834}
+  m_LocalRotation: {x: 0.6068378, y: 0.28072712, z: 0.43377393, w: 0.6039706}
+  m_LocalPosition: {x: 0.008354803, y: 0.0000000010597165, z: -7.468467e-11}
+  m_LocalScale: {x: 1, y: 1, z: 0.99999994}
+  m_Children:
+  - {fileID: 4192611460441496}
+  m_Father: {fileID: 4266259974256674}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4171306828873776
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1826772582437090}
+  m_LocalRotation: {x: -0.06987549, y: -0.05569781, z: 0.23184182, w: 0.96864057}
+  m_LocalPosition: {x: -0.00009335928, y: 0.00003145476, z: -0.0049626334}
+  m_LocalScale: {x: 1.0000001, y: 1.0000002, z: 1.0000002}
+  m_Children:
+  - {fileID: 4389057685693142}
+  m_Father: {fileID: 4913571476090730}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4192611460441496
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1851664548656556}
+  m_LocalRotation: {x: 0.08597265, y: 0.11181077, z: -0.19832954, w: 0.9699343}
+  m_LocalPosition: {x: 0.01399455, y: 0.000000013585478, z: -0.0000000050478035}
+  m_LocalScale: {x: 1.0000002, y: 1.0000001, z: 1.0000002}
+  m_Children:
+  - {fileID: 4462291593921826}
+  m_Father: {fileID: 4168549534757134}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4266259974256674
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1151238910651548}
+  m_LocalRotation: {x: 0.4646267, y: 0.533031, z: -0.4646267, w: 0.533031}
+  m_LocalPosition: {x: -0.010268877, y: -0.002205077, z: -0.0055698785}
+  m_LocalScale: {x: 1.0000005, y: 0.99999994, z: 1}
+  m_Children:
+  - {fileID: 4168549534757134}
+  m_Father: {fileID: 4114513281126880}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4271299031416982
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1120235977255474}
+  m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.005459396, y: 0.0000000010519265, z: 2.619453e-10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4146356069190516}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4309005642959794
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1131952555801694}
+  m_LocalRotation: {x: 0.53303105, y: -0.4646267, z: -0.53303105, w: -0.4646267}
+  m_LocalPosition: {x: -0.010268882, y: -0.002205078, z: 0.0055698785}
+  m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 1}
+  m_Children:
+  - {fileID: 4537023896473028}
+  m_Father: {fileID: 4114513281126880}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4326241562144436
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1018339591855172}
+  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: 4601729990306218}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4328357964448866
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1051047931922824}
+  m_LocalRotation: {x: 0.0038052925, y: -0.03496981, z: -0.05434704, w: 0.99790233}
+  m_LocalPosition: {x: -0.0037344925, y: 3.2352382e-10, z: -8.3385954e-10}
+  m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994}
+  m_Children:
+  - {fileID: 4564062467931404}
+  m_Father: {fileID: 4913571476090730}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4389057685693142
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1801857366295214}
+  m_LocalRotation: {x: 0.031938277, y: -0.021123407, z: -0.42938194, w: 0.90231085}
+  m_LocalPosition: {x: 0.017342335, y: -0.00000030320967, z: -0.000000015620794}
+  m_LocalScale: {x: 1, y: 1, z: 1.0000001}
+  m_Children:
+  - {fileID: 4146356069190516}
+  m_Father: {fileID: 4171306828873776}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4436377829613292
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1727642194359892}
+  m_LocalRotation: {x: -0.004768896, y: 0.010209406, z: 0.060827162, w: 0.9980847}
+  m_LocalPosition: {x: -0.009738837, y: 2.7466177e-10, z: 1.9736175e-10}
+  m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+  m_Children:
+  - {fileID: 4754232024427722}
+  m_Father: {fileID: 4114513281126880}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4439320858165566
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1161743746614012}
+  m_LocalRotation: {x: 0.11627633, y: 0.08750619, z: -0.26753813, w: 0.95249456}
+  m_LocalPosition: {x: -0.013994555, y: -0.000000009058284, z: 0.000000015539312}
+  m_LocalScale: {x: 1, y: 1, z: 0.99999994}
+  m_Children:
+  - {fileID: 4940254246729492}
+  m_Father: {fileID: 4537023896473028}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4462291593921826
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1477690152525932}
+  m_LocalRotation: {x: 0.122114204, y: -0.04972775, z: 0.04432569, w: 0.990278}
+  m_LocalPosition: {x: 0.01334448, y: -0.0000000013707159, z: -0.0000000019116413}
+  m_LocalScale: {x: 1.0000001, y: 1, z: 1.0000001}
+  m_Children: []
+  m_Father: {fileID: 4192611460441496}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4537023896473028
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1998947903308918}
+  m_LocalRotation: {x: 0.6096787, y: 0.39446825, z: 0.2829573, w: 0.6265955}
+  m_LocalPosition: {x: -0.008354806, y: 0.0000000010597165, z: -7.4684654e-11}
+  m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+  m_Children:
+  - {fileID: 4439320858165566}
+  m_Father: {fileID: 4309005642959794}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4557674090849938
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1874974206781822}
+  m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -0.0054593896, y: -4.695604e-10, z: 0.0000000020544708}
+  m_LocalScale: {x: 1, y: 1, z: 1.0000001}
+  m_Children: []
+  m_Father: {fileID: 4669577574833798}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4564062467931404
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1239020667436276}
+  m_LocalRotation: {x: 0.0064950855, y: -0.003623345, z: -0.0033857115, w: 0.9999666}
+  m_LocalPosition: {x: -0.003718596, y: -3.634042e-10, z: -1.5313096e-11}
+  m_LocalScale: {x: 0.99999994, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4114513281126880}
+  m_Father: {fileID: 4328357964448866}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4601729990306218
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1438539700862716}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 55, y: 55, z: 55}
+  m_Children:
+  - {fileID: 4326241562144436}
+  - {fileID: 4056355216674710}
+  - {fileID: 4938951062107052}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4607153088108762
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1585646714775650}
+  m_LocalRotation: {x: -0.023921445, y: -0.016432943, z: -0.67036194, w: 0.7414665}
+  m_LocalPosition: {x: -0.017342316, y: 0.00000002713737, z: 0.000000014038754}
+  m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+  m_Children:
+  - {fileID: 4669577574833798}
+  m_Father: {fileID: 4167421931201016}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4669577574833798
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1423015371872446}
+  m_LocalRotation: {x: 0.013900649, y: -0.012589402, z: 0.4407407, w: 0.8974385}
+  m_LocalPosition: {x: -0.017951814, y: -0.000000006995375, z: -8.741234e-10}
+  m_LocalScale: {x: 1, y: 1, z: 1.0000001}
+  m_Children:
+  - {fileID: 4557674090849938}
+  m_Father: {fileID: 4607153088108762}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4754232024427722
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1537010061390152}
+  m_LocalRotation: {x: -0.026559422, y: -0.016412104, z: -0.023500547, w: 0.9992362}
+  m_LocalPosition: {x: -0.01159087, y: 0.0000000039981063, z: -6.965685e-10}
+  m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+  m_Children: []
+  m_Father: {fileID: 4436377829613292}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4913571476090730
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1262282356535722}
+  m_LocalRotation: {x: 0.54166025, y: -0.4820441, z: -0.47034374, w: 0.50300545}
+  m_LocalPosition: {x: 0.00010534134, y: 0.04237548, z: -0.0031394344}
+  m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+  m_Children:
+  - {fileID: 4167421931201016}
+  - {fileID: 4171306828873776}
+  - {fileID: 4328357964448866}
+  m_Father: {fileID: 4056355216674710}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4938951062107052
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1453784097573610}
+  m_LocalRotation: {x: 0.18463755, y: 0, z: 0, w: 0.9828067}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.07272727, y: 0.07272727, z: 0.07272728}
+  m_Children: []
+  m_Father: {fileID: 4601729990306218}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 21.28, y: 0, z: 0}
+--- !u!4 &4940254246729492
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1773329532817944}
+  m_LocalRotation: {x: 0.1256803, y: -0.097072944, z: -0.00018825765, w: 0.9873101}
+  m_LocalPosition: {x: -0.013344488, y: -0.000000008915071, z: -7.580456e-10}
+  m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4439320858165566}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!95 &95022966287224496
+Animator:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1438539700862716}
+  m_Enabled: 1
+  m_Avatar: {fileID: 9000000, guid: d5c7249b3f2369b42b2dbf63a8035989, type: 3}
+  m_Controller: {fileID: 9100000, guid: 9604f897cddd77b40953b99469abcdbd, type: 2}
+  m_CullingMode: 1
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+--- !u!114 &114672260392319182
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1438539700862716}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5798356d101127847ac0719a2d1ab574, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Materials:
+  - {fileID: 2100000, guid: 6ec7317f2ac57e2448326cdc68816797, type: 2}
+  - {fileID: 2100000, guid: 0f9e3de68a3085e469bd62c8b40e9487, type: 2}
+  Target: {fileID: 0}
+  CharacterAnimator: {fileID: 95022966287224496}
+  Speed: 0.005
+--- !u!119 &119216056316028198
+Projector:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1453784097573610}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_NearClipPlane: 0.01
+  m_FarClipPlane: 22
+  m_FieldOfView: 85.6
+  m_AspectRatio: -6.6
+  m_Orthographic: 0
+  m_OrthographicSize: 4.01
+  m_Material: {fileID: 2100000, guid: 2221fa9c198f67749a5fe7803ff89eda, type: 2}
+  m_IgnoreLayers:
+    serializedVersion: 2
+    m_Bits: 0
+--- !u!137 &137659039767429366
+SkinnedMeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1018339591855172}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 2a98223a0ce402e42b52d90ce9e4910a, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  serializedVersion: 2
+  m_Quality: 0
+  m_UpdateWhenOffscreen: 0
+  m_SkinnedMotionVectors: 1
+  m_Mesh: {fileID: 4300000, guid: d5c7249b3f2369b42b2dbf63a8035989, type: 3}
+  m_Bones:
+  - {fileID: 4913571476090730}
+  - {fileID: 4167421931201016}
+  - {fileID: 4607153088108762}
+  - {fileID: 4669577574833798}
+  - {fileID: 4557674090849938}
+  - {fileID: 4171306828873776}
+  - {fileID: 4389057685693142}
+  - {fileID: 4146356069190516}
+  - {fileID: 4271299031416982}
+  - {fileID: 4328357964448866}
+  - {fileID: 4564062467931404}
+  - {fileID: 4114513281126880}
+  - {fileID: 4309005642959794}
+  - {fileID: 4537023896473028}
+  - {fileID: 4439320858165566}
+  - {fileID: 4940254246729492}
+  - {fileID: 4266259974256674}
+  - {fileID: 4168549534757134}
+  - {fileID: 4192611460441496}
+  - {fileID: 4462291593921826}
+  - {fileID: 4436377829613292}
+  - {fileID: 4754232024427722}
+  m_BlendShapeWeights: []
+  m_RootBone: {fileID: 4913571476090730}
+  m_AABB:
+    m_Center: {x: -0.0038077123, y: 0.003856523, z: 0.0011322275}
+    m_Extent: {x: 0.049188334, y: 0.023567023, z: 0.03146985}
+  m_DirtyAABB: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2df57c5303174173fcf244cae1dc60f0bbc3e29b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b4281c0219e45624e855839527bdc6f1
+timeCreated: 1529090036
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_albedo.tif b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_albedo.tif
new file mode 100644
index 0000000000000000000000000000000000000000..f28ed6d087962056014c386dce35b456c14817ea
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_albedo.tif differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_albedo.tif.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_albedo.tif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..954b6be86135f38c75f17531c574222fcdd89c8f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_albedo.tif.meta
@@ -0,0 +1,84 @@
+fileFormatVersion: 2
+guid: 2bc2b101a9422c74682327ba26483e9a
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 5
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_metallic.tif b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_metallic.tif
new file mode 100644
index 0000000000000000000000000000000000000000..21ccefd6ffe17e78a1215793f84784820e296cb7
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_metallic.tif differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_metallic.tif.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_metallic.tif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e8946dc5def689d4ba17c4e49d4d30b7af34cc2f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_metallic.tif.meta
@@ -0,0 +1,84 @@
+fileFormatVersion: 2
+guid: f12c7b4f859417447a5b89065836984e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 5
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_normal.tif b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_normal.tif
new file mode 100644
index 0000000000000000000000000000000000000000..d84bbc5087f75d4355a93b87d55d32c69ad7533c
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_normal.tif differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_normal.tif.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_normal.tif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d50352782b607a95acf37bb926356708ef18f3d2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_normal.tif.meta
@@ -0,0 +1,84 @@
+fileFormatVersion: 2
+guid: 6f824ebc83678c64dbc8ce6ba03a458d
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 5
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_roughness.tif b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_roughness.tif
new file mode 100644
index 0000000000000000000000000000000000000000..2b070087589c9a87bbc8fafc5079ce07c5efd2a6
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_roughness.tif differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_roughness.tif.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_roughness.tif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..86adbca6dce87fc99be514b004897785bc548935
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/MapboxAstronaut_roughness.tif.meta
@@ -0,0 +1,84 @@
+fileFormatVersion: 2
+guid: 049d968ff5737894f88a9e322c78528e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 5
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/ProjectorLight.shader b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/ProjectorLight.shader
new file mode 100644
index 0000000000000000000000000000000000000000..d7d040ff8ea39145f9ba0e4a89f29ed5ba31f44c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/ProjectorLight.shader
@@ -0,0 +1,64 @@
+// Upgrade NOTE: replaced '_Projector' with 'unity_Projector'
+// Upgrade NOTE: replaced '_ProjectorClip' with 'unity_ProjectorClip'
+
+Shader "Projector/Light" {
+	Properties {
+		_Color ("Main Color", Color) = (1,1,1,1)
+		_ShadowTex ("Cookie", 2D) = "" {}
+		_FalloffTex ("FallOff", 2D) = "" {}
+	}
+	
+	Subshader {
+		Tags {"Queue"="Transparent"}
+		Pass {
+			ZWrite Off
+			ColorMask RGB
+			Blend DstColor One
+			Offset -1, -1
+	
+			CGPROGRAM
+			#pragma vertex vert
+			#pragma fragment frag
+			#pragma multi_compile_fog
+			#include "UnityCG.cginc"
+			
+			struct v2f {
+				float4 uvShadow : TEXCOORD0;
+				float4 uvFalloff : TEXCOORD1;
+				UNITY_FOG_COORDS(2)
+				float4 pos : SV_POSITION;
+			};
+			
+			float4x4 unity_Projector;
+			float4x4 unity_ProjectorClip;
+			
+			v2f vert (float4 vertex : POSITION)
+			{
+				v2f o;
+				o.pos = UnityObjectToClipPos(vertex);
+				o.uvShadow = mul (unity_Projector, vertex);
+				o.uvFalloff = mul (unity_ProjectorClip, vertex);
+				UNITY_TRANSFER_FOG(o,o.pos);
+				return o;
+			}
+			
+			fixed4 _Color;
+			sampler2D _ShadowTex;
+			sampler2D _FalloffTex;
+			
+			fixed4 frag (v2f i) : SV_Target
+			{
+				fixed4 texS = tex2Dproj (_ShadowTex, UNITY_PROJ_COORD(i.uvShadow));
+				texS.rgb *= _Color.rgb;
+				texS.a = 1.0-texS.a;
+	
+				fixed4 texF = tex2Dproj (_FalloffTex, UNITY_PROJ_COORD(i.uvFalloff));
+				fixed4 res = texS * texF.a * 5;
+
+				UNITY_APPLY_FOG_COLOR(i.fogCoord, res, fixed4(0,0,0,0));
+				return res;
+			}
+			ENDCG
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/ProjectorLight.shader.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/ProjectorLight.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a5d302fb4726dac885600817c8af76cb6bb8c28
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/ProjectorLight.shader.meta
@@ -0,0 +1,6 @@
+fileFormatVersion: 2
+guid: c0ace1ca4bc0718448acf798c93d52d9
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7fc273813c6b37c84b9abca082143c276c58a46
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c1a419d9574328af72fc673a6da71faf77e6c12e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: 5905abb8fdf60f640a467d3255cc776a
+timeCreated: 1527088033
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection2.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection2.png
new file mode 100644
index 0000000000000000000000000000000000000000..38cdebfc4a01e648706b6ed3b065f38497630775
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection2.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection2.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection2.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cb8fe5b3a92b52caef2dd1e08965958efd5b94a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelection2.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: c5c2dcd795afd7e419a9784d3e5ffa0f
+timeCreated: 1527089245
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 1
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 0
+    mipBias: -1
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelector.mat b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelector.mat
new file mode 100644
index 0000000000000000000000000000000000000000..9553fe3068cabce0011392296fabe1ebc7f1ca6f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelector.mat
@@ -0,0 +1,84 @@
+%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: RobotSelector
+  m_Shader: {fileID: 4800000, guid: c0ace1ca4bc0718448acf798c93d52d9, type: 3}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  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: 2800000, guid: 5905abb8fdf60f640a467d3255cc776a, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _FalloffTex:
+        m_Texture: {fileID: 2800000, guid: 23740055e2b119e40a939138ab8070f8, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: c5c2dcd795afd7e419a9784d3e5ffa0f, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ShadowTex:
+        m_Texture: {fileID: 2800000, guid: c5c2dcd795afd7e419a9784d3e5ffa0f, type: 3}
+        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
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 0.5448277, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0.07510345, b: 0.09, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelector.mat.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelector.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ad6103a8c1cdbb6e36124588db89b14abf2af02e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Astronaut/RobotSelector.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2221fa9c198f67749a5fe7803ff89eda
+timeCreated: 1527087768
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4d4b207c582be90a520975c5a85c0d1abccee485
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b762a1d4d4468af40a70e01b4d9c13ab
+folderAsset: yes
+timeCreated: 1527094742
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/3YvXH.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/3YvXH.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd6c49b887000badc4f9ab4823820a338e1f7e07
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/3YvXH.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/3YvXH.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/3YvXH.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3652c21a34b8afb67a8b6b5207846d29685421e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/3YvXH.png.meta
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: 1cd3051fbf6150c46bbb8d117deb860b
+timeCreated: 1526558159
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingSideMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..dbc87a28865852d25ebd6e06c8561c14a979f1a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingSideMaterial.mat
@@ -0,0 +1,101 @@
+%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: BuildingSideMaterial
+  m_Shader: {fileID: 4800000, guid: b1ff8392b8844df42be7268d6a58fd62, type: 3}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BotTexture0:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 2800000, guid: 1cd3051fbf6150c46bbb8d117deb860b, type: 3}
+        m_Scale: {x: 1, y: 2.76}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 1cd3051fbf6150c46bbb8d117deb860b, type: 3}
+        m_Scale: {x: 1, y: 2.76}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MidTexture0:
+        m_Texture: {fileID: 2800000, guid: 1cd3051fbf6150c46bbb8d117deb860b, type: 3}
+        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}
+    - _Texture:
+        m_Texture: {fileID: 2800000, guid: 1cd3051fbf6150c46bbb8d117deb860b, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _texcoord:
+        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
+    - _EmissionPower: 2.06
+    - _FadeEnd: 3.06
+    - _FadeMax: 8.14
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 1
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _Range: 53.87
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Tile: 2.18
+    - _UVSec: 0
+    - _WallOffset: -0.15
+    - _ZWrite: 1
+    - __dirty: 0
+    m_Colors:
+    - _BaseColor: {r: 0, g: 0, b: 0, a: 0}
+    - _CharacterPosition: {r: -11.430234, g: 0, b: -14.458305, a: 0}
+    - _Color: {r: 0, g: 0.5034485, b: 1, a: 1}
+    - _EmissionColor: {r: 1, g: 0.2275863, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bba42a93658291dc4e70efd542b8e2f61a2a7606
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingSideMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6ec7317f2ac57e2448326cdc68816797
+timeCreated: 1526558167
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingTopMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..8bf62b802fa5dd9ecd2c5c3352987a0bb970ad05
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingTopMaterial.mat
@@ -0,0 +1,101 @@
+%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: BuildingTopMaterial
+  m_Shader: {fileID: 4800000, guid: b1ff8392b8844df42be7268d6a58fd62, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 0
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BotTexture0:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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}
+    - _MidTexture0:
+        m_Texture: {fileID: 2800000, guid: 1cd3051fbf6150c46bbb8d117deb860b, type: 3}
+        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}
+    - _Texture:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _texcoord:
+        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
+    - _EmissionPower: 0
+    - _FadeEnd: 55
+    - _FadeMax: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _Range: 53.87
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Tile: 0
+    - _UVSec: 0
+    - _WallOffset: 0
+    - _ZWrite: 1
+    - __dirty: 0
+    m_Colors:
+    - _BaseColor: {r: 0.125, g: 0.113970585, b: 0.113970585, a: 0}
+    - _CharacterPosition: {r: -11.430234, g: 0, b: -14.458305, a: 0}
+    - _Color: {r: 0, g: 0.037068963, b: 0.125, a: 0}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b2752ae9eeeac986035ae6241bb323b79fa3b118
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/BuildingTopMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 0f9e3de68a3085e469bd62c8b40e9487
+timeCreated: 1526558180
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/CharacterBuildingShader.shader b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/CharacterBuildingShader.shader
new file mode 100644
index 0000000000000000000000000000000000000000..9b78f80f5b8a4f11d4a991504824bcf5a5705c8d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/CharacterBuildingShader.shader
@@ -0,0 +1,284 @@
+// Made with Amplify Shader Editor
+// Available at the Unity Asset Store - http://u3d.as/y3X 
+Shader "CharacterBuildingShader"
+{
+	Properties
+	{
+		[HideInInspector] __dirty( "", Int ) = 1
+		_Texture("Texture", 2D) = "white" {}
+		_CharacterPosition("CharacterPosition", Vector) = (0,0,0,0)
+		_Range("Range", Float) = 0
+		_Tile("Tile", Float) = 1
+		_FadeEnd("FadeEnd", Float) = 2
+		_Color("Color", Color) = (0,0,0,0)
+		_BaseColor("BaseColor", Color) = (0,0,0,0)
+	}
+
+	SubShader
+	{
+		Tags{ "RenderType" = "Opaque"  "Queue" = "Geometry+0" "IsEmissive" = "true"  }
+		Cull Back
+		CGINCLUDE
+		#include "UnityShaderVariables.cginc"
+		#include "UnityPBSLighting.cginc"
+		#include "Lighting.cginc"
+		#pragma target 3.0
+		#ifdef UNITY_PASS_SHADOWCASTER
+			#undef INTERNAL_DATA
+			#undef WorldReflectionVector
+			#undef WorldNormalVector
+			#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
+			#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
+			#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
+		#endif
+		struct Input
+		{
+			float3 worldPos;
+			float3 worldNormal;
+			INTERNAL_DATA
+		};
+
+		uniform float4 _BaseColor;
+		uniform sampler2D _Texture;
+		uniform float _Tile;
+		uniform float4 _Color;
+		uniform float _FadeEnd;
+		uniform float3 _CharacterPosition;
+		uniform float _Range;
+
+
+		inline float4 TriplanarSampling( sampler2D topTexMap, sampler2D midTexMap, sampler2D botTexMap, float3 worldPos, float3 worldNormal, float falloff, float tilling, float vertex )
+		{
+			float3 projNormal = ( pow( abs( worldNormal ), falloff ) );
+			projNormal /= projNormal.x + projNormal.y + projNormal.z;
+			float3 nsign = sign( worldNormal );
+			half4 xNorm; half4 yNorm; half4 zNorm;
+			if(vertex == 1){
+			xNorm = ( tex2Dlod( topTexMap, float4((tilling * worldPos.zy * float2( nsign.x, 1.0 )).xy,0,0) ) );
+			yNorm = ( tex2Dlod( topTexMap, float4((tilling * worldPos.zx).xy,0,0) ) );
+			zNorm = ( tex2Dlod( topTexMap, float4((tilling * worldPos.xy * float2( -nsign.z, 1.0 )).xy,0,0) ) );
+			} else {
+			xNorm = ( tex2D( topTexMap, tilling * worldPos.zy * float2( nsign.x, 1.0 ) ) );
+			yNorm = ( tex2D( topTexMap, tilling * worldPos.zx ) );
+			zNorm = ( tex2D( topTexMap, tilling * worldPos.xy * float2( -nsign.z, 1.0 ) ) );
+			}
+			return xNorm* projNormal.x + yNorm* projNormal.y + zNorm* projNormal.z;
+		}
+
+
+		float3 mod289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
+
+		float2 mod289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
+
+		float3 permute( float3 x ) { return mod289( ( ( x * 34.0 ) + 1.0 ) * x ); }
+
+		float snoise( float2 v )
+		{
+			const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 );
+			float2 i = floor( v + dot( v, C.yy ) );
+			float2 x0 = v - i + dot( i, C.xx );
+			float2 i1;
+			i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 );
+			float4 x12 = x0.xyxy + C.xxzz;
+			x12.xy -= i1;
+			i = mod289( i );
+			float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) );
+			float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 );
+			m = m * m;
+			m = m * m;
+			float3 x = 2.0 * frac( p * C.www ) - 1.0;
+			float3 h = abs( x ) - 0.5;
+			float3 ox = floor( x + 0.5 );
+			float3 a0 = x - ox;
+			m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h );
+			float3 g;
+			g.x = a0.x * x0.x + h.x * x0.y;
+			g.yz = a0.yz * x12.xz + h.yz * x12.yw;
+			return 130.0 * dot( m, g );
+		}
+
+
+		void vertexDataFunc( inout appdata_full v, out Input o )
+		{
+			UNITY_INITIALIZE_OUTPUT( Input, o );
+			float3 ase_worldPos = mul(unity_ObjectToWorld, v.vertex);
+			float2 componentMask36 = ase_worldPos.xz;
+			float2 componentMask37 = _CharacterPosition.xz;
+			float clampResult16 = clamp( (0.0 + (pow( distance( componentMask36 , componentMask37 ) , 3.0 ) - 0.0) * (1.0 - 0.0) / (pow( _Range , 3.0 ) - 0.0)) , 0.0 , 1.0 );
+			float lerpResult19 = lerp( 0.0 , ase_worldPos.y , ( 1.0 - clampResult16 ));
+			float4 appendResult17 = (float4(0.0 , ( lerpResult19 * -0.94 ) , 0.0 , 0.0));
+			v.vertex.xyz += appendResult17.xyz;
+		}
+
+		void surf( Input i , inout SurfaceOutputStandard o )
+		{
+			o.Normal = float3(0,0,1);
+			float3 ase_worldPos = i.worldPos;
+			float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) );
+			float4 triplanar41 = TriplanarSampling( _Texture, _Texture, _Texture, ase_worldPos, ase_worldNormal, 1.0, _Tile, 0 );
+			float2 componentMask69 = ase_worldPos.xz;
+			float mulTime75 = _Time.y * 0.2;
+			float simplePerlin2D68 = snoise( ( ( componentMask69 / float2( 8,8 ) ) + mulTime75 ) );
+			float clampResult66 = clamp( (0.0 + (( simplePerlin2D68 + ase_worldPos.y ) - 0.0) * (1.0 - 0.0) / (_FadeEnd - 0.0)) , 0.0 , 1.0 );
+			float clampResult53 = clamp( ( 1.0 - clampResult66 ) , 0.1 , 1.0 );
+			float4 lerpResult48 = lerp( _BaseColor , ( triplanar41 * _Color ) , clampResult53);
+			o.Albedo = lerpResult48.xyz;
+			o.Emission = lerpResult48.xyz;
+			o.Alpha = 1;
+		}
+
+		ENDCG
+		CGPROGRAM
+		#pragma surface surf Standard keepalpha fullforwardshadows vertex:vertexDataFunc 
+
+		ENDCG
+		Pass
+		{
+			Name "ShadowCaster"
+			Tags{ "LightMode" = "ShadowCaster" }
+			ZWrite On
+			CGPROGRAM
+			#pragma vertex vert
+			#pragma fragment frag
+			#pragma target 3.0
+			#pragma multi_compile_shadowcaster
+			#pragma multi_compile UNITY_PASS_SHADOWCASTER
+			#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
+			# include "HLSLSupport.cginc"
+			#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
+				#define CAN_SKIP_VPOS
+			#endif
+			#include "UnityCG.cginc"
+			#include "Lighting.cginc"
+			#include "UnityPBSLighting.cginc"
+			sampler3D _DitherMaskLOD;
+			struct v2f
+			{
+				V2F_SHADOW_CASTER;
+				float3 worldPos : TEXCOORD6;
+				float4 tSpace0 : TEXCOORD1;
+				float4 tSpace1 : TEXCOORD2;
+				float4 tSpace2 : TEXCOORD3;
+				UNITY_VERTEX_INPUT_INSTANCE_ID
+			};
+			v2f vert( appdata_full v )
+			{
+				v2f o;
+				UNITY_SETUP_INSTANCE_ID( v );
+				UNITY_INITIALIZE_OUTPUT( v2f, o );
+				UNITY_TRANSFER_INSTANCE_ID( v, o );
+				Input customInputData;
+				vertexDataFunc( v, customInputData );
+				float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
+				half3 worldNormal = UnityObjectToWorldNormal( v.normal );
+				fixed3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
+				fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;
+				fixed3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
+				o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
+				o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
+				o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
+				o.worldPos = worldPos;
+				TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
+				return o;
+			}
+			fixed4 frag( v2f IN	) : SV_Target
+			{
+				UNITY_SETUP_INSTANCE_ID( IN );
+				Input surfIN;
+				UNITY_INITIALIZE_OUTPUT( Input, surfIN );
+				float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
+				fixed3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
+				surfIN.worldPos = worldPos;
+				surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
+				surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
+				surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
+				surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
+				SurfaceOutputStandard o;
+				UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o )
+				surf( surfIN, o );
+				#if defined( CAN_SKIP_VPOS )
+				float2 vpos = IN.pos;
+				#endif
+				SHADOW_CASTER_FRAGMENT( IN )
+			}
+			ENDCG
+		}
+	}
+	Fallback "Diffuse"
+	CustomEditor "ASEMaterialInspector"
+}
+/*ASEBEGIN
+Version=13101
+7;29;1936;1116;1388.344;1201.545;1.713429;True;True
+Node;AmplifyShaderEditor.WorldPosInputsNode;46;-1380.454,-379.1331;Float;False;0;4;FLOAT3;FLOAT;FLOAT;FLOAT
+Node;AmplifyShaderEditor.ComponentMaskNode;69;-1094.655,-494.2093;Float;False;True;False;True;True;1;0;FLOAT3;0,0,0,0;False;1;FLOAT2
+Node;AmplifyShaderEditor.Vector3Node;12;-1637.411,401.8673;Float;False;Property;_CharacterPosition;CharacterPosition;1;0;0,0,0;0;4;FLOAT3;FLOAT;FLOAT;FLOAT
+Node;AmplifyShaderEditor.WorldPosInputsNode;14;-1579.564,131.9189;Float;False;0;4;FLOAT3;FLOAT;FLOAT;FLOAT
+Node;AmplifyShaderEditor.SimpleDivideOpNode;73;-818.0357,-490.5296;Float;False;2;0;FLOAT2;0.0;False;1;FLOAT2;8,8;False;1;FLOAT2
+Node;AmplifyShaderEditor.SimpleTimeNode;75;-860.8231,-379.5167;Float;False;1;0;FLOAT;0.2;False;1;FLOAT
+Node;AmplifyShaderEditor.ComponentMaskNode;37;-1299.427,400.2594;Float;False;True;False;True;True;1;0;FLOAT3;0,0,0;False;1;FLOAT2
+Node;AmplifyShaderEditor.ComponentMaskNode;36;-1284.967,127.0973;Float;False;True;False;True;True;1;0;FLOAT3;0,0,0,0;False;1;FLOAT2
+Node;AmplifyShaderEditor.SimpleAddOpNode;74;-617.1793,-401.9212;Float;False;2;2;0;FLOAT2;0.0;False;1;FLOAT;0,0;False;1;FLOAT2
+Node;AmplifyShaderEditor.RangedFloatNode;18;-969.5876,416.3288;Float;False;Property;_Range;Range;2;0;0;0;0;0;1;FLOAT
+Node;AmplifyShaderEditor.DistanceOpNode;13;-995.2973,252.4317;Float;False;2;0;FLOAT2;0.0;False;1;FLOAT2;0.0,0,0;False;1;FLOAT
+Node;AmplifyShaderEditor.NoiseGeneratorNode;68;-429.8528,-381.6138;Float;False;Simplex2D;1;0;FLOAT2;100,100;False;1;FLOAT
+Node;AmplifyShaderEditor.PowerNode;22;-754.2711,249.217;Float;False;2;0;FLOAT;0.0;False;1;FLOAT;3.0;False;1;FLOAT
+Node;AmplifyShaderEditor.PowerNode;23;-757.4841,421.1487;Float;False;2;0;FLOAT;0.0;False;1;FLOAT;3.0;False;1;FLOAT
+Node;AmplifyShaderEditor.SimpleAddOpNode;72;-159.4099,-353.3119;Float;False;2;2;0;FLOAT;0.0;False;1;FLOAT;0.0;False;1;FLOAT
+Node;AmplifyShaderEditor.TFHCRemap;15;-548.5963,250.8247;Float;False;5;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;20.0;False;3;FLOAT;0.0;False;4;FLOAT;1.0;False;1;FLOAT
+Node;AmplifyShaderEditor.RangedFloatNode;56;-181.0639,-235.8129;Float;False;Property;_FadeEnd;FadeEnd;4;0;2;0;0;0;1;FLOAT
+Node;AmplifyShaderEditor.ClampOpNode;16;-325.2466,250.8249;Float;False;3;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;1;FLOAT
+Node;AmplifyShaderEditor.TFHCRemap;52;111.2249,-362.403;Float;False;5;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;3;FLOAT;0.0;False;4;FLOAT;1.0;False;1;FLOAT
+Node;AmplifyShaderEditor.ClampOpNode;66;344.3752,-360.1194;Float;False;3;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;1;FLOAT
+Node;AmplifyShaderEditor.TexturePropertyNode;1;-517.5781,-948.9332;Float;True;Property;_Texture;Texture;0;0;None;False;white;Auto;0;1;SAMPLER2D
+Node;AmplifyShaderEditor.RangedFloatNode;43;-310.076,-726.5656;Float;False;Property;_Tile;Tile;3;0;1;0;0;0;1;FLOAT
+Node;AmplifyShaderEditor.OneMinusNode;20;-116.3576,249.218;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
+Node;AmplifyShaderEditor.OneMinusNode;55;539.5688,-364.1947;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
+Node;AmplifyShaderEditor.ColorNode;60;59.77039,-631.2576;Float;False;Property;_Color;Color;5;0;0,0,0,0;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
+Node;AmplifyShaderEditor.LerpOp;19;256.4929,157.6283;Float;False;3;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;0.0;False;1;FLOAT
+Node;AmplifyShaderEditor.TriplanarNode;41;1139.025,-323.3693;Float;True;Spherical;World;False;Top Texture 0;_TopTexture0;white;6;None;Mid Texture 0;_MidTexture0;white;7;None;Bot Texture 0;_BotTexture0;white;8;None;Triplanar Sampler;5;0;SAMPLER2D;;False;1;SAMPLER2D;;False;2;SAMPLER2D;;False;3;FLOAT;1.0;False;4;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;61;515.9266,-657.8391;Float;False;2;2;0;FLOAT4;0.0,0,0,0;False;1;COLOR;0,0,0,0;False;1;FLOAT4
+Node;AmplifyShaderEditor.ClampOpNode;53;734.0475,-367.4904;Float;False;3;0;FLOAT;0.0;False;1;FLOAT;0.1;False;2;FLOAT;1.0;False;1;FLOAT
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;33;471.8105,99.7816;Float;False;2;2;0;FLOAT;0.0;False;1;FLOAT;-0.94;False;1;FLOAT
+Node;AmplifyShaderEditor.ColorNode;67;503.5923,-900.1298;Float;False;Property;_BaseColor;BaseColor;6;0;0,0,0,0;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
+Node;AmplifyShaderEditor.LerpOp;48;841.2689,-681.2978;Float;False;3;0;COLOR;0.0,0,0,0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT;0.0;False;1;FLOAT4
+Node;AmplifyShaderEditor.DynamicAppendNode;17;753.7844,56.63725;Float;False;FLOAT4;4;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;0.0;False;3;FLOAT;0.0;False;1;FLOAT4
+Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;1364.302,-286.3154;Float;False;True;2;Float;ASEMaterialInspector;0;0;Standard;CharacterBuildingShader;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;0;False;0;0;Opaque;0.5;True;True;0;False;Opaque;Geometry;All;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;False;0;255;255;0;0;0;0;False;0;4;10;25;False;0.5;True;0;Zero;Zero;0;Zero;Zero;Add;Add;0;False;0;0,0,0,0;VertexOffset;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;0;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0.0;False;4;FLOAT;0.0;False;5;FLOAT;0.0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0.0;False;9;FLOAT;0.0;False;10;OBJECT;0.0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
+WireConnection;69;0;46;0
+WireConnection;73;0;69;0
+WireConnection;37;0;12;0
+WireConnection;36;0;14;0
+WireConnection;74;0;73;0
+WireConnection;74;1;75;0
+WireConnection;13;0;36;0
+WireConnection;13;1;37;0
+WireConnection;68;0;74;0
+WireConnection;22;0;13;0
+WireConnection;23;0;18;0
+WireConnection;72;0;68;0
+WireConnection;72;1;46;2
+WireConnection;15;0;22;0
+WireConnection;15;2;23;0
+WireConnection;16;0;15;0
+WireConnection;52;0;72;0
+WireConnection;52;2;56;0
+WireConnection;66;0;52;0
+WireConnection;20;0;16;0
+WireConnection;55;0;66;0
+WireConnection;19;1;14;2
+WireConnection;19;2;20;0
+WireConnection;41;0;1;0
+WireConnection;41;3;43;0
+WireConnection;61;0;41;0
+WireConnection;61;1;60;0
+WireConnection;53;0;55;0
+WireConnection;33;0;19;0
+WireConnection;48;0;67;0
+WireConnection;48;1;61;0
+WireConnection;48;2;53;0
+WireConnection;17;1;33;0
+WireConnection;0;0;48;0
+WireConnection;0;2;48;0
+WireConnection;0;11;17;0
+ASEEND*/
+//CHKSM=A284E886CB8D7C3EA8E4575607D42C64D3005429
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/CharacterBuildingShader.shader.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/CharacterBuildingShader.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b6e4de5774973b910c4eeecc971a8497fc580549
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/CharacterBuildingShader.shader.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b1ff8392b8844df42be7268d6a58fd62
+timeCreated: 1527102858
+licenseType: Pro
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/LocationBuildingMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/LocationBuildingMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..5eebb174b615ba5208d91d3381050a2aff4fda45
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/LocationBuildingMaterialModifier.asset
@@ -0,0 +1,24 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: LocationBuildingMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 0}
+    - Materials:
+      - {fileID: 0}
+    atlasInfo: {fileID: 0}
+    colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/LocationBuildingMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/LocationBuildingMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..40b6d150ceea6ae8423a536299d54dbcbc057c4d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Building/LocationBuildingMaterialModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d819a9dc4ee96d94abd9b7391fef02c7
+timeCreated: 1528798448
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0104b1d63ef4f6636bc3fc6014e096304d2eca88
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7fc845b8ae9ab02439132be245e63bb0
+folderAsset: yes
+timeCreated: 1527094732
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/LocationGameSpawnTreeModifier.asset b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/LocationGameSpawnTreeModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a3f0b852e597c0d786235c8bbd1e5ffd48e0f4c1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/LocationGameSpawnTreeModifier.asset
@@ -0,0 +1,24 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 420705c61d1b6435c8aa7b1cbd0ce80a, type: 3}
+  m_Name: LocationGameSpawnTreeModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _spawnRateInSquareMeters: 20
+  _maxSpawn: 1000
+  _prefabs:
+  - {fileID: 1770149645188902, guid: 96a250c7c7df44d4ba4f55de10638fed, type: 2}
+  _layerMask:
+    serializedVersion: 2
+    m_Bits: 512
+  _scaleDownWithWorld: 1
+  _randomizeScale: 1
+  _randomizeRotation: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/LocationGameSpawnTreeModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/LocationGameSpawnTreeModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..15b473fbff8018db0c6712a367644ccca7e13262
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/LocationGameSpawnTreeModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e425dc440a40d9a4080794105e9f66ef
+timeCreated: 1526568427
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/ParkMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/ParkMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..80179facb5bf73e89e3c2c5a25a9733359049cb4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/ParkMaterial.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: ParkMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 2800000, guid: 994bf5fa3f419b14ca0097cc9ba8276d, type: 3}
+        m_Scale: {x: 0.1, y: 0.1}
+        m_Offset: {x: -10.5428505, y: 0.2}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 750b1bd7ba8bd28489650de6d0a95cc5, type: 3}
+        m_Scale: {x: 0.1, y: 0.1}
+        m_Offset: {x: -11.211949, y: 0.2}
+    - _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.482
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 0.38235295, b: 0.05010147, a: 1}
+    - _EmissionColor: {r: 0, g: 0.157, b: 0.020572435, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/ParkMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/ParkMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..28c9806bb75cf9229c162b381f8f49496bbbc48b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/ParkMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: dd22d0eb52da4594e90fbb4dd7ae0baf
+timeCreated: 1527094303
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.FBX b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.FBX
new file mode 100644
index 0000000000000000000000000000000000000000..d7bce9b31c4fe418b640c1c455c80b11cdcfc6de
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.FBX differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.FBX.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.FBX.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8fa67731260b0e9dc32d2b3862db89e1eb16c753
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.FBX.meta
@@ -0,0 +1,95 @@
+fileFormatVersion: 2
+guid: 6645c679635ea0446a3fa13bd1aa0ed3
+ModelImporter:
+  serializedVersion: 23
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: No Name
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: cone
+    2186277476908879412: ImportLogs
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    importConstraints: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+    previousCalculatedGlobalScale: 1
+    hasPreviousCalculatedGlobalScale: 0
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.prefab b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..5acced663fd0dfdad412685555289f957444d6fc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.prefab
@@ -0,0 +1,84 @@
+%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: 1770149645188902}
+  m_IsPrefabParent: 1
+--- !u!1 &1770149645188902
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4048927722497916}
+  - component: {fileID: 33896207508445512}
+  - component: {fileID: 23083784263073502}
+  m_Layer: 0
+  m_Name: cone
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4048927722497916
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1770149645188902}
+  m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 4}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23083784263073502
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1770149645188902}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 86f71d3c44c394b9c851347cec33b98f, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33896207508445512
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1770149645188902}
+  m_Mesh: {fileID: 4300000, guid: 6645c679635ea0446a3fa13bd1aa0ed3, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fe8c9620c10d1fa72e1f5ebab5864ccd459276b6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Park/cone.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 96a250c7c7df44d4ba4f55de10638fed
+timeCreated: 1526568346
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ccf69741a15bb64ee9791622a14b3f39e6b207ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 39e3380639030b4458056bd73a87e694
+folderAsset: yes
+timeCreated: 1526682408
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadLoftModifier.asset b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadLoftModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..61e01c8ef4ae2a291f37f1708f806e1d91e30f84
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadLoftModifier.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 634e53b543236f246833fc88fea03aa0, type: 3}
+  m_Name: LocationRoadLoftModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  Slice: {fileID: 1161984165156050, guid: a89fda20d92b63e46ab2900a8e978041, type: 2}
+  _closeEdges: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadLoftModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadLoftModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..69872fbf34c3cdf7c493ff6ce499ae4f96193750
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadLoftModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ed4da4864f7b7394399b675a217cd637
+timeCreated: 1528796202
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..072b0676fa85f570cbef8c82933393ddc7860669
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadMaterialModifier.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: LocationRoadMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    style: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 5ac0ac96d738c0845b30185d2838f299, type: 2}
+    - Materials:
+      - {fileID: 2100000, guid: 5ac0ac96d738c0845b30185d2838f299, type: 2}
+    atlasInfo: {fileID: 0}
+    lightStyleOpacity: 1
+    darkStyleOpacity: 1
+    colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+    samplePalettes: 0
+    colorPalette: {fileID: 0}
+    customStyleOptions:
+      texturingType: 0
+      materials:
+      - Materials:
+        - {fileID: 2100000, guid: 5ac0ac96d738c0845b30185d2838f299, type: 2}
+      - Materials:
+        - {fileID: 2100000, guid: 5ac0ac96d738c0845b30185d2838f299, type: 2}
+      atlasInfo: {fileID: 0}
+      colorPalette: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..85c25063ed94b1aacbfbface6ad3861b6320bbae
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/LocationRoadMaterialModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5ad7c36a7a62f8b4cbcbcea8139a12a5
+timeCreated: 1528796397
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a7cc2131906d04657f06012d7f73c465b597d506
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadMaterial.mat
@@ -0,0 +1,83 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: RoadMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51d3e9ec6fa1cec4791cbeaa26816cb4, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 2800000, guid: 8d97105b69182cd48a279b7135b33a47, type: 3}
+        m_Scale: {x: 0.05, y: 1}
+        m_Offset: {x: -6.2891436, y: 0}
+    - _Illum:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 8d97105b69182cd48a279b7135b33a47, type: 3}
+        m_Scale: {x: 0.05, y: 1}
+        m_Offset: {x: -8.908975, y: 0.2}
+    - _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
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.08
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.5294118, g: 0.5294118, b: 0.5294118, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..41253fa89fbc7a61a5d83ade4df4d3a579522f33
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5ac0ac96d738c0845b30185d2838f299
+timeCreated: 1485393337
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadSlice.prefab b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadSlice.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..6d387030a36f5556df36460dd5a4ced80b5cd231
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadSlice.prefab
@@ -0,0 +1,636 @@
+%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: 1161984165156050}
+  m_IsPrefabParent: 1
+--- !u!1 &1014341770108588
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4320696528874690}
+  - component: {fileID: 33795227758536376}
+  - component: {fileID: 65894142963762806}
+  - component: {fileID: 23151482314804926}
+  m_Layer: 0
+  m_Name: Cube (6)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1144577679552368
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4714369015871938}
+  - component: {fileID: 33573019115664312}
+  - component: {fileID: 65338160062403628}
+  - component: {fileID: 23848238480155322}
+  m_Layer: 0
+  m_Name: Cube (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1161984165156050
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4411628395683128}
+  m_Layer: 0
+  m_Name: RoadSlice
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1175857478215490
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4430937073362248}
+  - component: {fileID: 33816409550163800}
+  - component: {fileID: 65246377699379278}
+  - component: {fileID: 23999697393040390}
+  m_Layer: 0
+  m_Name: Cube (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1437198706738222
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4538936464900750}
+  - component: {fileID: 33066950782688640}
+  - component: {fileID: 65578604050514706}
+  - component: {fileID: 23769352329004230}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1656916067148594
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4273898168544688}
+  - component: {fileID: 33266841859643536}
+  - component: {fileID: 65314352095715038}
+  - component: {fileID: 23000562899228224}
+  m_Layer: 0
+  m_Name: Cube (4)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1756977712892734
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4682292525823846}
+  - component: {fileID: 33640905039559556}
+  - component: {fileID: 65899202141863522}
+  - component: {fileID: 23808444978977306}
+  m_Layer: 0
+  m_Name: Cube (5)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1919377652435984
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4708368756372684}
+  - component: {fileID: 33243335014363410}
+  - component: {fileID: 65683939734519726}
+  - component: {fileID: 23843985281509754}
+  m_Layer: 0
+  m_Name: Cube (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4273898168544688
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1656916067148594}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -0.151, y: 0.579, z: 0}
+  m_LocalScale: {x: 0.03766, y: 0.02024, z: 0.03766}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4320696528874690
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1014341770108588}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.129, y: 0.57867, z: 0}
+  m_LocalScale: {x: 0.03766, y: 0.02024, z: 0.03766}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4411628395683128
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1161984165156050}
+  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:
+  - {fileID: 4538936464900750}
+  - {fileID: 4708368756372684}
+  - {fileID: 4273898168544688}
+  - {fileID: 4682292525823846}
+  - {fileID: 4320696528874690}
+  - {fileID: 4430937073362248}
+  - {fileID: 4714369015871938}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4430937073362248
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1175857478215490}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 1.0345, y: 0.579, z: 0}
+  m_LocalScale: {x: 0.037662093, y: 0.020243362, z: 0.037662093}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4538936464900750
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1437198706738222}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -1.455, y: -0.025110006, z: 0}
+  m_LocalScale: {x: 0.037662096, y: 0.020243363, z: 0.037662096}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4682292525823846
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1756977712892734}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -0.011, y: 0.133, z: 0}
+  m_LocalScale: {x: 0.03766, y: 0.02024, z: 0.03766}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4708368756372684
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1919377652435984}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -1.101, y: 0.579, z: 0}
+  m_LocalScale: {x: 0.037662093, y: 0.020243362, z: 0.037662093}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4714369015871938
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1144577679552368}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 1.4328998, y: 0.01, z: 0}
+  m_LocalScale: {x: 0.037662093, y: 0.020243362, z: 0.037662093}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23000562899228224
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1656916067148594}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23151482314804926
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1014341770108588}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23769352329004230
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1437198706738222}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23808444978977306
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1756977712892734}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23843985281509754
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1919377652435984}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23848238480155322
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1144577679552368}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23999697393040390
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1175857478215490}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33066950782688640
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1437198706738222}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33243335014363410
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1919377652435984}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33266841859643536
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1656916067148594}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33573019115664312
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1144577679552368}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33640905039559556
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1756977712892734}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33795227758536376
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1014341770108588}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33816409550163800
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1175857478215490}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65246377699379278
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1175857478215490}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65314352095715038
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1656916067148594}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65338160062403628
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1144577679552368}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65578604050514706
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1437198706738222}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65683939734519726
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1919377652435984}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65894142963762806
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1014341770108588}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65899202141863522
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1756977712892734}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadSlice.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadSlice.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..713345a54d70d309b05b60ad4f48a519369b7309
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/RoadSlice.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a89fda20d92b63e46ab2900a8e978041
+timeCreated: 1509997131
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic2.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic2.png
new file mode 100644
index 0000000000000000000000000000000000000000..48321ecfbe09304161be3a6e728879db87eb0900
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic2.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic2.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic2.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7b3110b150e579225e81e9bf51e90769940512e2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic2.png.meta
@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: e085a9121904c9b489f2cab3ee5c17c0
+timeCreated: 1526659854
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic3.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic3.png
new file mode 100644
index 0000000000000000000000000000000000000000..405fb29fa7f7707567356522e6b210adf818532a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic3.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic3.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic3.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ab53ed63b03a1930627a79ebe89e00dff3d37f37
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic3.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: 750692085947f114487a02326d8401e0
+timeCreated: 1526682460
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic4.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic4.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a0e73bfdda8c57e242854fdef4957ebad58f04d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic4.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic4.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic4.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b428d8737715de8a64b97a8f990f9e4fb7ce95d8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/traffic4.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: 8d97105b69182cd48a279b7135b33a47
+timeCreated: 1527085126
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficHeight2.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficHeight2.png
new file mode 100644
index 0000000000000000000000000000000000000000..21d9137d5c0a42925daa9b3eb76f7b7ea256a0b4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficHeight2.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficHeight2.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficHeight2.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d0455d80c56ef237a2171338e4826a5571524d97
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficHeight2.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: 12e7d749f709dcd4791267fa7bbebc85
+timeCreated: 1526659794
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm2.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm2.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9e1c8027f41f775f027a16355559173413fb6d9
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm2.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm2.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm2.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aa9ccab7b7d7c59898b737155d3abbbbbd51df93
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm2.png.meta
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: c1eca697f699f2244ac7c55b7f5ea199
+timeCreated: 1526659888
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm3.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm3.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4def904c41e5d1568d4358ac35888c3c79b611d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm3.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm3.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm3.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..03b7910d886e8841d4af13662d0ebbc88e12bfc6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm3.png.meta
@@ -0,0 +1,87 @@
+fileFormatVersion: 2
+guid: ab72bd9433c198c42ab7462e5e6bfab3
+timeCreated: 1526684763
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm4.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm4.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f9e1ce159550681d5a90f1fc1dfa83ceffb7ac4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm4.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm4.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm4.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..53b06ff0b1ebfff8b4970bf4715e2a0978d00517
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/AstronautGame/Road/trafficNorm4.png.meta
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: 51d3e9ec6fa1cec4791cbeaa26816cb4
+timeCreated: 1527085462
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d38781dcb99f0c79c64a191b4eef229a5636c616
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8d074fb2c1e7b459e9bbe3294052428f
+folderAsset: yes
+timeCreated: 1529432678
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots/AstronautGame.png b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots/AstronautGame.png
new file mode 100644
index 0000000000000000000000000000000000000000..a021e2fb8c286d35976de0d6f22c23bf7cb3e6a0
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots/AstronautGame.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots/AstronautGame.png.meta b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots/AstronautGame.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9e5e4ace12498ae618902af747946b990eb76817
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/2_AstronautGame/ScreenShots/AstronautGame.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 260f5f572e80f479bbfb37b17a01ae03
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 47385c1b53c52cb48add0e22416ae10f
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e10dcb48bd744836871b2ace3532c01905fff49a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b2a92e3867dce4a86bc35292a11d246a
+folderAsset: yes
+timeCreated: 1525985177
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e1b9fbb9d7a8b93e0cc9fa6337088a47a14f15ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: eb0c09a0a3cf9406386943cdbecbf362
+folderAsset: yes
+timeCreated: 1524001615
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ArtsPoiLabelModifier.asset b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ArtsPoiLabelModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..04a6b890bcf2ca8a998a144d2cfbc8fff13b7b5f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ArtsPoiLabelModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: ArtsPoiLabelModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 0}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ArtsPoiLabelModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ArtsPoiLabelModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ad1f05ebe8aa3a04d7d3590dc58d33dbc27b3fa1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ArtsPoiLabelModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4aeb61055bc3e481795eabb6cbf767f0
+timeCreated: 1523481480
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/DefaultPoiLabelModifier.asset b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/DefaultPoiLabelModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..b7a4530690642a57de3a9d6c59ee55448e99034a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/DefaultPoiLabelModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: DefaultPoiLabelModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 0}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/DefaultPoiLabelModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/DefaultPoiLabelModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e56b7b3253e9490666ba4b96f60aae2d36737266
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/DefaultPoiLabelModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7b125502e39484477998874eb8af79b6
+timeCreated: 1523481480
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/FoodPoiLabelModifier.asset b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/FoodPoiLabelModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e986b984aeac2bb9ffcc0892bfd74c0f599cc979
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/FoodPoiLabelModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: FoodPoiLabelModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 0}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/FoodPoiLabelModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/FoodPoiLabelModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1ccddd27175d8f63396e0ee1ab5805ec3b1a0baa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/FoodPoiLabelModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8ee9ac4689ba548d585a1f37049fc88e
+timeCreated: 1523481480
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/NightlifePoiLabelModifier.asset b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/NightlifePoiLabelModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..55e6bf0ab635a9fcbee5a2e2e86daab6d88738d1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/NightlifePoiLabelModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: NightlifePoiLabelModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 0}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/NightlifePoiLabelModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/NightlifePoiLabelModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5c81024ca1a3a23ddd693e917e5f16ade22ea23d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/NightlifePoiLabelModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 0a171c045131a40e9bffc2832091a08d
+timeCreated: 1523481480
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/OutdoorPoiLabelModifier.asset b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/OutdoorPoiLabelModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..9a6f8037e833b79352d6e76d0e48ad0bf8d0e8cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/OutdoorPoiLabelModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: OutdoorPoiLabelModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 0}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/OutdoorPoiLabelModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/OutdoorPoiLabelModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2af2d8de6519edcadadc710299d341fbebc8f82c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/OutdoorPoiLabelModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 01f07cb46320549b5bcda51ff47f52ce
+timeCreated: 1523481480
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ServicePoiLabelModifier.asset b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ServicePoiLabelModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7627300634ad62e15e238d49025af29d41425ee3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ServicePoiLabelModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: ServicePoiLabelModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 0}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ServicePoiLabelModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ServicePoiLabelModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..567df2b02b48a2a4eb4eecc97d84b28045765df8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ServicePoiLabelModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bdbde0a2dd0ce4ec89c8cfe967a1f456
+timeCreated: 1523481480
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ShopPoiLabelModifier.asset b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ShopPoiLabelModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a0a281296bf944fdf3de2080f2b3086a0cc17f4a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ShopPoiLabelModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: ShopPoiLabelModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 0}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ShopPoiLabelModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ShopPoiLabelModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..baa5370f7309a115e522892fa002b903b95789b3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/ShopPoiLabelModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 535e01727644e411f852954088a59281
+timeCreated: 1523481480
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/TransportationPoiLabelModifier.asset b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/TransportationPoiLabelModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..0a89f5acbf3a51990f8b30e8c18c57abd78b60f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/TransportationPoiLabelModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: TransportationPoiLabelModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 0}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/TransportationPoiLabelModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/TransportationPoiLabelModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..87939389b891388e4456c3bc9dd413544bbca328
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Modifiers/TransportationPoiLabelModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b6825aebfa29f44be9c0d3c374a66d90
+timeCreated: 1523481480
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacement.unity b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacement.unity
new file mode 100644
index 0000000000000000000000000000000000000000..31ce8dece2b6ca2ce351711cd227b89cbde3bd3a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacement.unity
@@ -0,0 +1,2713 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641252, b: 0.574817, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &150549877
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 150549879}
+  - component: {fileID: 150549878}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &150549878
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 150549877}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &150549879
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 150549877}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &292492997
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 292492998}
+  - component: {fileID: 292493000}
+  - component: {fileID: 292492999}
+  m_Layer: 5
+  m_Name: Fill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &292492998
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 292492997}
+  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: 650732809}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.8, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 10, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &292492999
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 292492997}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &292493000
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 292492997}
+--- !u!1 &331047608
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 331047609}
+  m_Layer: 5
+  m_Name: Handle Slide Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &331047609
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 331047608}
+  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:
+  - {fileID: 2086915429}
+  m_Father: {fileID: 1025723466}
+  m_RootOrder: 2
+  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: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &621795784
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 621795785}
+  - component: {fileID: 621795786}
+  m_Layer: 0
+  m_Name: LabelCamera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &621795785
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 621795784}
+  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: 1681481106}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 37.510002, y: 0, z: 0}
+--- !u!20 &621795786
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 621795784}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 10
+  far clip plane: 2000
+  field of view: 10
+  orthographic: 0
+  orthographic size: 143.6
+  m_Depth: 1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 1024
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 1
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!1 &650732808
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 650732809}
+  m_Layer: 5
+  m_Name: Fill Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &650732809
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 650732808}
+  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:
+  - {fileID: 292492998}
+  m_Father: {fileID: 1025723466}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: -5, y: 0}
+  m_SizeDelta: {x: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &790657048
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 790657049}
+  - component: {fileID: 790657051}
+  - component: {fileID: 790657050}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &790657049
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 790657048}
+  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: 1025723466}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &790657050
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 790657048}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &790657051
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 790657048}
+--- !u!21 &838017926
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &967308905
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 967308907}
+  - component: {fileID: 967308906}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &967308906
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 967308905}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.784179, -122.401583
+      zoom: 16
+    extentOptions:
+      extentType: 1
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 1681481105}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 1681481106}
+          visibleBuffer: 1
+          disposeBuffer: 1
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 1
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 1
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/outdoors-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 1
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - country_label
+        - housenum_label
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Terrain
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Building
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 3
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 1
+          texturingType: 3
+          materials:
+          - Materials:
+            - {fileID: 2118494539}
+          - Materials:
+            - {fileID: 1614558210}
+          atlasInfo: {fileID: 11400000, guid: 4df87964fe5004278acef942d9a878d4, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 11400000, guid: e1b79d6caac0144adada0c548ef06705,
+            type: 2}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 1325882990}
+            - Materials:
+              - {fileID: 838017926}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList:
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Arts and Entertainment
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: 
+          filters:
+          - Key: maki
+            KeyDescription: 
+            PropertyValue: art-gallery,cinema,stadium,museum,library,zoo,music,theatre,amusement-park
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: localrank
+            KeyDescription: 
+            PropertyValue: 
+            Min: 15
+            Max: 0
+            filterOperator: 3
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials: []
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+        spawnPrefabOptions:
+          prefab: {fileID: 1895949781674336, guid: 29d1abf5ba6514d81a7974353f130ca8,
+            type: 2}
+          scaleDownWithWorld: 1
+        findByType: 0
+        categories: 1
+        nameString: 
+        coordinates: []
+        density: 15
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Food
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: 
+          filters:
+          - Key: maki
+            KeyDescription: 
+            PropertyValue: cafe,bakery,fast-food,grocery,ice-cream,restaurant
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: localrank
+            KeyDescription: 
+            PropertyValue: 
+            Min: 15
+            Max: 0
+            filterOperator: 3
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials: []
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+        spawnPrefabOptions:
+          prefab: {fileID: 1707885508695930, guid: fafbd32423ea04e379d8321b4d370fea,
+            type: 2}
+          scaleDownWithWorld: 1
+        findByType: 0
+        categories: 2
+        nameString: 
+        coordinates: []
+        density: 15
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Nightlife
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: 
+          filters:
+          - Key: maki
+            KeyDescription: 
+            PropertyValue: bar,beer
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: localrank
+            KeyDescription: 
+            PropertyValue: 
+            Min: 15
+            Max: 0
+            filterOperator: 3
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials: []
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+        spawnPrefabOptions:
+          prefab: {fileID: 1424114192387644, guid: 61bcd2d324dd34bb9b722d856749c28c,
+            type: 2}
+          scaleDownWithWorld: 1
+        findByType: 0
+        categories: 4
+        nameString: 
+        coordinates: []
+        density: 15
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Outdoors and Recreation
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: 
+          filters:
+          - Key: maki
+            KeyDescription: 
+            PropertyValue: aquarium,campsite,attraction,castle,cemetery,dog-park,drinking-water,garden,golf,monument,park,picnic-site,playground,swimming
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: localrank
+            KeyDescription: 
+            PropertyValue: 
+            Min: 15
+            Max: 0
+            filterOperator: 3
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials: []
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+        spawnPrefabOptions:
+          prefab: {fileID: 1004221095257992, guid: b0e54a880e97f4c5ead7dcc1c0918e05,
+            type: 2}
+          scaleDownWithWorld: 1
+        findByType: 0
+        categories: 8
+        nameString: 
+        coordinates: []
+        density: 15
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Services
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: 
+          filters:
+          - Key: maki
+            KeyDescription: 
+            PropertyValue: bank,dentist,toilet,veterinary,pharmacy,college,school,hospital,place-of-worship,religious-christian,religious-jewish,religious-muslim,police,post,doctor,fire-station,information,town-hall,prison,embassy,fuel,laundry,lodging
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: localrank
+            KeyDescription: 
+            PropertyValue: 
+            Min: 10
+            Max: 0
+            filterOperator: 3
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials: []
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+        spawnPrefabOptions:
+          prefab: {fileID: 1550249727436304, guid: 60a41cfc23d514878814f0d425912eff,
+            type: 2}
+          scaleDownWithWorld: 1
+        findByType: 0
+        categories: 16
+        nameString: 
+        coordinates: []
+        density: 10
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Shops
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: 
+          filters:
+          - Key: maki
+            KeyDescription: 
+            PropertyValue: alcohol-shop,clothing-store,shop
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: localrank
+            KeyDescription: 
+            PropertyValue: 
+            Min: 15
+            Max: 0
+            filterOperator: 3
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials: []
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+        spawnPrefabOptions:
+          prefab: {fileID: 1665298560487606, guid: 49bc5d782d9184533a37abea20ed30e4,
+            type: 2}
+          scaleDownWithWorld: 1
+        findByType: 0
+        categories: 32
+        nameString: 
+        coordinates: []
+        density: 15
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: Transportation
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: 
+          filters:
+          - Key: maki
+            KeyDescription: 
+            PropertyValue: bus,car,bicycle-share,bicycle,airfield,ferry,harbor,heliport
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          - Key: localrank
+            KeyDescription: 
+            PropertyValue: 
+            Min: 15
+            Max: 0
+            filterOperator: 3
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials: []
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+        spawnPrefabOptions:
+          prefab: {fileID: 1295758952425276, guid: 22150daba6e8b47b69fd30f00b9c56cd,
+            type: 2}
+          scaleDownWithWorld: 1
+        findByType: 0
+        categories: 64
+        nameString: 
+        coordinates: []
+        density: 15
+      - coreOptions:
+          sourceId: 
+          isActive: 0
+          sublayerName: All POIs
+          geometryType: 0
+          layerName: poi_label
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: 
+          filters:
+          - Key: maki
+            KeyDescription: 
+            PropertyValue: art-gallery,cinema,stadium,museum,library,zoo,music,theatre,amusement-park,cafe,bakery,fast-food,grocery,ice-cream,restaurant,bar,beer,aquarium,campsite,attraction,castle,cemetery,dog-park,drinking-water,garden,golf,monument,park,picnic-site,playground,swimming,bank,dentist,toilet,veterinary,pharmacy,college,school,hospital,place-of-worship,religious-christian,religious-jewish,religious-muslim,police,post,doctor,fire-station,information,town-hall,prison,embassy,fuel,laundry,lodging,alcohol-shop,clothing-store,shop,bus,car,bicycle-share,bicycle,airfield,ferry,harbor,heliport
+            Min: 0
+            Max: 0
+            filterOperator: 0
+          combinerType: 1
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 0
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials: []
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 1
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 4
+        _maskValue: 0
+        selectedTypes: 
+        spawnPrefabOptions:
+          prefab: {fileID: 1396740541782364, guid: d748e6a0b26334f4d933c1438339484d,
+            type: 2}
+          scaleDownWithWorld: 1
+        findByType: 0
+        categories: -1
+        nameString: 
+        coordinates: []
+        density: 30
+  _tileProvider: {fileID: 0}
+  _previewOptions:
+    isPreviewEnabled: 0
+--- !u!4 &967308907
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 967308905}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: -2.453024, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &987810028
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 987810029}
+  - component: {fileID: 987810031}
+  - component: {fileID: 987810030}
+  m_Layer: 5
+  m_Name: ZoomLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &987810029
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 987810028}
+  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: 2141323938}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &987810030
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 987810028}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Zoom
+--- !u!222 &987810031
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 987810028}
+--- !u!1 &996977025
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 996977028}
+  - component: {fileID: 996977027}
+  - component: {fileID: 996977026}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &996977026
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 996977025}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &996977027
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 996977025}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &996977028
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 996977025}
+  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: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1025723464
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1025723466}
+  - component: {fileID: 1025723465}
+  m_Layer: 5
+  m_Name: Slider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1025723465
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1025723464}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 2086915431}
+  m_FillRect: {fileID: 292492998}
+  m_HandleRect: {fileID: 2086915429}
+  m_Direction: 0
+  m_MinValue: 0
+  m_MaxValue: 20
+  m_WholeNumbers: 1
+  m_Value: 16
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!224 &1025723466
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1025723464}
+  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:
+  - {fileID: 790657049}
+  - {fileID: 650732809}
+  - {fileID: 331047609}
+  m_Father: {fileID: 2141323938}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -11}
+  m_SizeDelta: {x: 0, y: 10}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1077699859
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1077699860}
+  - component: {fileID: 1077699862}
+  - component: {fileID: 1077699861}
+  m_Layer: 5
+  m_Name: SearchText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1077699860
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1077699859}
+  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: 1435841542}
+  m_RootOrder: 1
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1077699861
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1077699859}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &1077699862
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1077699859}
+--- !u!1 &1185540384
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1185540385}
+  - component: {fileID: 1185540388}
+  - component: {fileID: 1185540387}
+  - component: {fileID: 1185540386}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1185540385
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1185540384}
+  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:
+  - {fileID: 1856430728}
+  - {fileID: 2141323938}
+  m_Father: {fileID: 1780367441}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 250, y: 30}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &1185540386
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1185540384}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.678}
+  m_RaycastTarget: 1
+  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 &1185540387
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1185540384}
+--- !u!114 &1185540388
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1185540384}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 12
+    m_Right: 7
+    m_Top: 7
+    m_Bottom: 3
+  m_ChildAlignment: 0
+  m_Spacing: 4
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!1 &1301353179
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1301353180}
+  - component: {fileID: 1301353182}
+  - component: {fileID: 1301353181}
+  m_Layer: 5
+  m_Name: GeocoderLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1301353180
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1301353179}
+  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: 1856430728}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 1, y: 0}
+--- !u!114 &1301353181
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1301353179}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Search
+--- !u!222 &1301353182
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1301353179}
+--- !u!21 &1325882990
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &1435841541
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1435841542}
+  - component: {fileID: 1435841545}
+  - component: {fileID: 1435841544}
+  - component: {fileID: 1435841543}
+  - component: {fileID: 1435841546}
+  m_Layer: 5
+  m_Name: UserInput
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1435841542
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1435841541}
+  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:
+  - {fileID: 1705615811}
+  - {fileID: 1077699860}
+  m_Father: {fileID: 1856430728}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1435841543
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1435841541}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1435841544}
+  m_TextComponent: {fileID: 1077699861}
+  m_Placeholder: {fileID: 1705615812}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: ForwardGeocoder
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 0.85
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &1435841544
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1435841541}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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 &1435841545
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1435841541}
+--- !u!114 &1435841546
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1435841541}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!21 &1614558210
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: SimpleSideMaterial
+  m_Shader: {fileID: 4800000, guid: 02ca05f28416c4bbab659e473fa74ec6, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _Emission: 0.5
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
+--- !u!1 &1681481099
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1681481106}
+  - component: {fileID: 1681481105}
+  - component: {fileID: 1681481104}
+  - component: {fileID: 1681481103}
+  - component: {fileID: 1681481102}
+  - component: {fileID: 1681481100}
+  - component: {fileID: 1681481101}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1681481100
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1681481099}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce97be288e861a243b6c6df4cc790edc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  ShadowDistance: 1000
+--- !u!114 &1681481101
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1681481099}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9527fd56bc6a0c549a1e550219f9b16e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 967308906}
+  _panSpeed: 2
+  _zoomSpeed: 50
+  _referenceCamera: {fileID: 1681481105}
+--- !u!81 &1681481102
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1681481099}
+  m_Enabled: 1
+--- !u!124 &1681481103
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1681481099}
+  m_Enabled: 1
+--- !u!92 &1681481104
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1681481099}
+  m_Enabled: 1
+--- !u!20 &1681481105
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1681481099}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 10
+  far clip plane: 3000
+  field of view: 10
+  orthographic: 0
+  orthographic size: 143.6
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294966271
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 1
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1681481106
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1681481099}
+  m_LocalRotation: {x: 0.2588191, y: 0, z: 0, w: 0.9659258}
+  m_LocalPosition: {x: 0, y: 225, z: -400}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 621795785}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 30, y: 0, z: 0}
+--- !u!1 &1705615810
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1705615811}
+  - component: {fileID: 1705615813}
+  - component: {fileID: 1705615812}
+  m_Layer: 5
+  m_Name: Placeholder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1705615811
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705615810}
+  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: 1435841542}
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1705615812
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705615810}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 2
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter your location
+--- !u!222 &1705615813
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705615810}
+--- !u!1 &1780367436
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1780367441}
+  - component: {fileID: 1780367440}
+  - component: {fileID: 1780367439}
+  - component: {fileID: 1780367438}
+  - component: {fileID: 1780367437}
+  m_Layer: 5
+  m_Name: ReloadMapCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1780367437
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1780367436}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c00b1c78fb49f4ebd834aac587275216, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _forwardGeocoder: {fileID: 1435841546}
+  _zoomSlider: {fileID: 1025723465}
+--- !u!114 &1780367438
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1780367436}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &1780367439
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1780367436}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 400, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &1780367440
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1780367436}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1
+  m_TargetDisplay: 0
+--- !u!224 &1780367441
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1780367436}
+  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_Children:
+  - {fileID: 1185540385}
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!1 &1856430727
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1856430728}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1856430728
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1856430727}
+  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:
+  - {fileID: 1301353180}
+  - {fileID: 1435841542}
+  m_Father: {fileID: 1185540385}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &2086915428
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2086915429}
+  - component: {fileID: 2086915430}
+  - component: {fileID: 2086915431}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2086915429
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2086915428}
+  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: 331047609}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.8, y: 0}
+  m_AnchorMax: {x: 0.8, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2086915430
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2086915428}
+--- !u!114 &2086915431
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2086915428}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10913, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!21 &2118494539
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: SimpleTopMaterial
+  m_Shader: {fileID: 4800000, guid: 02ca05f28416c4bbab659e473fa74ec6, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
+--- !u!1 &2141323937
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2141323938}
+  m_Layer: 5
+  m_Name: Zoom
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &2141323938
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2141323937}
+  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:
+  - {fileID: 987810029}
+  - {fileID: 1025723466}
+  m_Father: {fileID: 1185540385}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 127.5, y: -23}
+  m_SizeDelta: {x: 231, y: 8}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacement.unity.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacement.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5334a9f7c3154e015cfa6c9253a9fcee13b916a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacement.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c600a8b272a5846a1b71bdc2d0796637
+timeCreated: 1525984360
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacementScriptExample.cs b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacementScriptExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6c93937ce6500adfd89daaff6ce9e0cb5be11d5d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacementScriptExample.cs
@@ -0,0 +1,37 @@
+namespace Mapbox.Examples
+{
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+
+	using Mapbox.Unity.Map;
+	using Mapbox.Utils;
+
+	public class POIPlacementScriptExample : MonoBehaviour
+	{
+		public AbstractMap map;
+
+		//prefab to spawn
+		public GameObject prefab;
+		//cache of spawned gameobjects
+		private List<GameObject> _prefabInstances;
+
+		// Use this for initialization
+		void Start()
+		{
+			//add layers before initializing the map
+			map.VectorData.SpawnPrefabByCategory(prefab, LocationPrefabCategories.ArtsAndEntertainment, 10, HandlePrefabSpawned, true, "SpawnFromScriptLayer");
+			map.Initialize(new Vector2d(37.784179, -122.401583), 16);
+		}
+
+		//handle callbacks
+		void HandlePrefabSpawned(List<GameObject> instances)
+		{
+			if (instances.Count > 0)
+			{
+				Debug.Log(instances[0].name);
+			}
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacementScriptExample.cs.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacementScriptExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c7e203d56cf14733ece073a1bc82f67c7690c7c4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/POIPlacementScriptExample.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 97eb57b11eab14c76b0e0281afe0ce53
+timeCreated: 1525984539
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources.meta
new file mode 100644
index 0000000000000000000000000000000000000000..777cfaa1b1331c89143f6520a9e8ffb02776fa2e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 93ceadc5862b00c4f8fe863f98a18e01
+folderAsset: yes
+timeCreated: 1526382059
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ArtsPoiLabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ArtsPoiLabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..9e04e1da3824aebd28c7775f690336e2ce688544
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ArtsPoiLabelPrefab.prefab
@@ -0,0 +1,363 @@
+%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: 1895949781674336}
+  m_IsPrefabParent: 1
+--- !u!1 &1348505215756078
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224696713710260372}
+  - component: {fileID: 222470863973442320}
+  - component: {fileID: 114938141246306308}
+  - component: {fileID: 114050678122733478}
+  - component: {fileID: 114776992940635054}
+  m_Layer: 10
+  m_Name: TextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1718399521123926
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4724048298677076}
+  - component: {fileID: 212086518383404294}
+  m_Layer: 10
+  m_Name: LabelIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1895949781674336
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224008978619379300}
+  - component: {fileID: 114289697198773512}
+  - component: {fileID: 223575821624634810}
+  - component: {fileID: 114250159056332880}
+  m_Layer: 10
+  m_Name: ArtsPoiLabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1926862074818246
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224637640871225912}
+  - component: {fileID: 222787186898692958}
+  - component: {fileID: 114772597570723800}
+  - component: {fileID: 114629509233654474}
+  m_Layer: 10
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4724048298677076
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1718399521123926}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -14, y: 3.75, z: 0}
+  m_LocalScale: {x: 2.143244, y: 2.143244, z: 2.143244}
+  m_Children: []
+  m_Father: {fileID: 224008978619379300}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114050678122733478
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1348505215756078}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114250159056332880
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1895949781674336}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba99666da3af044c0ae878f372ea4115, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _text: {fileID: 114772597570723800}
+  _background: {fileID: 114938141246306308}
+--- !u!114 &114289697198773512
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1895949781674336}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114629509233654474
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1926862074818246}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114772597570723800
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1926862074818246}
+  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: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 180
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Placeholder Text
+--- !u!114 &114776992940635054
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1348505215756078}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114938141246306308
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1348505215756078}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.7294118, g: 0.23137255, b: 0.24705882, a: 1}
+  m_RaycastTarget: 1
+  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!212 &212086518383404294
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1718399521123926}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: 808e85b573ffd4216a301aa2c9e1293f, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 2.18, y: 2.46}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222470863973442320
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1348505215756078}
+--- !u!222 &222787186898692958
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1926862074818246}
+--- !u!223 &223575821624634810
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1895949781674336}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224008978619379300
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1895949781674336}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children:
+  - {fileID: 224696713710260372}
+  - {fileID: 4724048298677076}
+  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: -14, y: 3}
+  m_SizeDelta: {x: 5, y: 5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224637640871225912
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1926862074818246}
+  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: 224696713710260372}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 698, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224696713710260372
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1348505215756078}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.020000001, y: 0.020000001, z: 0.020000001}
+  m_Children:
+  - {fileID: 224637640871225912}
+  m_Father: {fileID: 224008978619379300}
+  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: -14, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ArtsPoiLabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ArtsPoiLabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..17a0013edb52f66543bf546ebb9133d17a5bd030
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ArtsPoiLabelPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 29d1abf5ba6514d81a7974353f130ca8
+timeCreated: 1527197170
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/DefaultPoiLabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/DefaultPoiLabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..d915ed187f129162e0dc49c6c082c1db34a845af
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/DefaultPoiLabelPrefab.prefab
@@ -0,0 +1,363 @@
+%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: 1396740541782364}
+  m_IsPrefabParent: 1
+--- !u!1 &1292503684160346
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4313779964940754}
+  - component: {fileID: 212222304942764664}
+  m_Layer: 10
+  m_Name: LabelIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1396740541782364
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224030423811238682}
+  - component: {fileID: 114257982971136964}
+  - component: {fileID: 223969381223222710}
+  - component: {fileID: 114413777003902038}
+  m_Layer: 10
+  m_Name: DefaultPoiLabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1746901838054686
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224924182702299544}
+  - component: {fileID: 222882829815511386}
+  - component: {fileID: 114326163339638534}
+  - component: {fileID: 114159563624705982}
+  m_Layer: 10
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1845169531071616
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224766342451082296}
+  - component: {fileID: 222480346266569002}
+  - component: {fileID: 114578215827768836}
+  - component: {fileID: 114202162810099450}
+  - component: {fileID: 114692116265799192}
+  m_Layer: 10
+  m_Name: TextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4313779964940754
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1292503684160346}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -14, y: 3.75, z: -1.33}
+  m_LocalScale: {x: 2.143244, y: 2.143244, z: 2.143244}
+  m_Children: []
+  m_Father: {fileID: 224030423811238682}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114159563624705982
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1746901838054686}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114202162810099450
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845169531071616}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114257982971136964
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1396740541782364}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114326163339638534
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1746901838054686}
+  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: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 180
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Placeholder Text
+--- !u!114 &114413777003902038
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1396740541782364}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba99666da3af044c0ae878f372ea4115, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _text: {fileID: 114326163339638534}
+  _background: {fileID: 114578215827768836}
+--- !u!114 &114578215827768836
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845169531071616}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.15294118, g: 0.23921569, b: 0.3372549, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114692116265799192
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845169531071616}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!212 &212222304942764664
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1292503684160346}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: 240e67c92465d4af09e98ac0ff6cb4e5, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 2.18, y: 2.46}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222480346266569002
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845169531071616}
+--- !u!222 &222882829815511386
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1746901838054686}
+--- !u!223 &223969381223222710
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1396740541782364}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224030423811238682
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1396740541782364}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children:
+  - {fileID: 224766342451082296}
+  - {fileID: 4313779964940754}
+  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: -14, y: 3}
+  m_SizeDelta: {x: 5, y: 5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224766342451082296
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845169531071616}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.020000001, y: 0.020000001, z: 0.020000001}
+  m_Children:
+  - {fileID: 224924182702299544}
+  m_Father: {fileID: 224030423811238682}
+  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: -14, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224924182702299544
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1746901838054686}
+  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: 224766342451082296}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 698, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/DefaultPoiLabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/DefaultPoiLabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ed52ca504100111389daf2da60dc753983375324
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/DefaultPoiLabelPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d748e6a0b26334f4d933c1438339484d
+timeCreated: 1527197790
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/FoodPoiLabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/FoodPoiLabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..7f70bfc154d3fd66b61eb7a2066816cadb843f6f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/FoodPoiLabelPrefab.prefab
@@ -0,0 +1,363 @@
+%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: 1707885508695930}
+  m_IsPrefabParent: 1
+--- !u!1 &1189325480219374
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224624196988776878}
+  - component: {fileID: 222370072117198688}
+  - component: {fileID: 114349136819514582}
+  - component: {fileID: 114045605651210526}
+  m_Layer: 10
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1457276987270130
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224412850433162780}
+  - component: {fileID: 222149120586535960}
+  - component: {fileID: 114704683156925328}
+  - component: {fileID: 114998721219635902}
+  - component: {fileID: 114647201446152978}
+  m_Layer: 10
+  m_Name: TextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1707885508695930
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224247300890674866}
+  - component: {fileID: 114862004446283512}
+  - component: {fileID: 223163049547055646}
+  - component: {fileID: 114778088783653994}
+  m_Layer: 10
+  m_Name: FoodPoiLabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1733686239018384
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4162236002511050}
+  - component: {fileID: 212008642798578640}
+  m_Layer: 10
+  m_Name: LabelIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4162236002511050
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1733686239018384}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -13.8, y: 4.2, z: -1.33}
+  m_LocalScale: {x: 2.1432443, y: 2.143244, z: 2.143244}
+  m_Children: []
+  m_Father: {fileID: 224247300890674866}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114045605651210526
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1189325480219374}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114349136819514582
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1189325480219374}
+  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: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 180
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Placeholder Text
+--- !u!114 &114647201446152978
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1457276987270130}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114704683156925328
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1457276987270130}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.7294118, g: 0.4509804, b: 0.20392157, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114778088783653994
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1707885508695930}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba99666da3af044c0ae878f372ea4115, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _text: {fileID: 114349136819514582}
+  _background: {fileID: 114704683156925328}
+--- !u!114 &114862004446283512
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1707885508695930}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114998721219635902
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1457276987270130}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!212 &212008642798578640
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1733686239018384}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: b9cd915d8be92437c936b03eedf3631c, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 2.18, y: 2.46}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222149120586535960
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1457276987270130}
+--- !u!222 &222370072117198688
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1189325480219374}
+--- !u!223 &223163049547055646
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1707885508695930}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224247300890674866
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1707885508695930}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children:
+  - {fileID: 224412850433162780}
+  - {fileID: 4162236002511050}
+  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: -14, y: 3}
+  m_SizeDelta: {x: 5, y: 5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224412850433162780
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1457276987270130}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.020000001, y: 0.020000001, z: 0.020000001}
+  m_Children:
+  - {fileID: 224624196988776878}
+  m_Father: {fileID: 224247300890674866}
+  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: -14, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224624196988776878
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1189325480219374}
+  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: 224412850433162780}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 698, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/FoodPoiLabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/FoodPoiLabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de94dfeedc998e15a48ed0d4020dfa15586522a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/FoodPoiLabelPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fafbd32423ea04e379d8321b4d370fea
+timeCreated: 1523314292
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/NightlifePoiLabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/NightlifePoiLabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..97edd779580138228838b2bb31b422b1d281a246
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/NightlifePoiLabelPrefab.prefab
@@ -0,0 +1,363 @@
+%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: 1424114192387644}
+  m_IsPrefabParent: 1
+--- !u!1 &1139598083911944
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224422428331375356}
+  - component: {fileID: 222242750269825858}
+  - component: {fileID: 114692428661833728}
+  - component: {fileID: 114824037733315064}
+  m_Layer: 10
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1424114192387644
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224210809402533110}
+  - component: {fileID: 114347475860375664}
+  - component: {fileID: 223791692523062612}
+  - component: {fileID: 114079454347144290}
+  m_Layer: 10
+  m_Name: NightlifePoiLabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1564163789704960
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4249837737002090}
+  - component: {fileID: 212187017409953766}
+  m_Layer: 10
+  m_Name: LabelIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1962226126752764
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224154799150308216}
+  - component: {fileID: 222879563942261794}
+  - component: {fileID: 114470481600307948}
+  - component: {fileID: 114573363496354548}
+  - component: {fileID: 114363323314846268}
+  m_Layer: 10
+  m_Name: TextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4249837737002090
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1564163789704960}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -14, y: 3.75, z: -1.33}
+  m_LocalScale: {x: 2.143244, y: 2.143244, z: 2.143244}
+  m_Children: []
+  m_Father: {fileID: 224210809402533110}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114079454347144290
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1424114192387644}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba99666da3af044c0ae878f372ea4115, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _text: {fileID: 114692428661833728}
+  _background: {fileID: 114470481600307948}
+--- !u!114 &114347475860375664
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1424114192387644}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114363323314846268
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1962226126752764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114470481600307948
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1962226126752764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.3529412, g: 0.24705882, b: 0.7529412, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114573363496354548
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1962226126752764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114692428661833728
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1139598083911944}
+  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: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 180
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Placeholder Text
+--- !u!114 &114824037733315064
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1139598083911944}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!212 &212187017409953766
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1564163789704960}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: 88cacb42af7fe47338fa175ad6114e09, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 2.18, y: 2.46}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222242750269825858
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1139598083911944}
+--- !u!222 &222879563942261794
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1962226126752764}
+--- !u!223 &223791692523062612
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1424114192387644}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224154799150308216
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1962226126752764}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.020000001, y: 0.020000001, z: 0.020000001}
+  m_Children:
+  - {fileID: 224422428331375356}
+  m_Father: {fileID: 224210809402533110}
+  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: -14, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224210809402533110
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1424114192387644}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children:
+  - {fileID: 224154799150308216}
+  - {fileID: 4249837737002090}
+  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: -14, y: 3}
+  m_SizeDelta: {x: 5, y: 5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224422428331375356
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1139598083911944}
+  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: 224154799150308216}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 698, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/NightlifePoiLabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/NightlifePoiLabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3aed98346b27b0939de945a596ac16dde7daacbc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/NightlifePoiLabelPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 61bcd2d324dd34bb9b722d856749c28c
+timeCreated: 1527197998
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/OutdoorPoiLabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/OutdoorPoiLabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..891a1d7f72928dc5094dfbddb8add798b09777d8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/OutdoorPoiLabelPrefab.prefab
@@ -0,0 +1,363 @@
+%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: 1004221095257992}
+  m_IsPrefabParent: 1
+--- !u!1 &1004221095257992
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224697045332689684}
+  - component: {fileID: 114230065919782620}
+  - component: {fileID: 223268923490078138}
+  - component: {fileID: 114346654055798904}
+  m_Layer: 10
+  m_Name: OutdoorPoiLabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1085748494245196
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4196941624106064}
+  - component: {fileID: 212457671412055602}
+  m_Layer: 10
+  m_Name: LabelIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1324167948117656
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224268754250336072}
+  - component: {fileID: 222833602635793852}
+  - component: {fileID: 114728776789975380}
+  - component: {fileID: 114727558933577938}
+  - component: {fileID: 114012080040735814}
+  m_Layer: 10
+  m_Name: TextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1334765807688498
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224325099516681702}
+  - component: {fileID: 222661059492819030}
+  - component: {fileID: 114354945941583394}
+  - component: {fileID: 114219887372327000}
+  m_Layer: 10
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4196941624106064
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1085748494245196}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -14, y: 3.75, z: -1.33}
+  m_LocalScale: {x: 2.143244, y: 2.143244, z: 2.143244}
+  m_Children: []
+  m_Father: {fileID: 224697045332689684}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114012080040735814
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1324167948117656}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114219887372327000
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1334765807688498}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114230065919782620
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1004221095257992}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114346654055798904
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1004221095257992}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba99666da3af044c0ae878f372ea4115, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _text: {fileID: 114354945941583394}
+  _background: {fileID: 114728776789975380}
+--- !u!114 &114354945941583394
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1334765807688498}
+  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: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 180
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Placeholder Text
+--- !u!114 &114727558933577938
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1324167948117656}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114728776789975380
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1324167948117656}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.14901961, g: 0.58431375, b: 0.38039216, a: 1}
+  m_RaycastTarget: 1
+  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!212 &212457671412055602
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1085748494245196}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: 08d14ec5687ea47fcb3de9ac267391b5, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 2.18, y: 2.46}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222661059492819030
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1334765807688498}
+--- !u!222 &222833602635793852
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1324167948117656}
+--- !u!223 &223268923490078138
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1004221095257992}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224268754250336072
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1324167948117656}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.020000001, y: 0.020000001, z: 0.020000001}
+  m_Children:
+  - {fileID: 224325099516681702}
+  m_Father: {fileID: 224697045332689684}
+  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: -14, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224325099516681702
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1334765807688498}
+  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: 224268754250336072}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 698, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224697045332689684
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1004221095257992}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children:
+  - {fileID: 224268754250336072}
+  - {fileID: 4196941624106064}
+  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: -14, y: 3}
+  m_SizeDelta: {x: 5, y: 5}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/OutdoorPoiLabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/OutdoorPoiLabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b49f7d96de7d5a67ddc9aba1b06cd4ba9d466fa1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/OutdoorPoiLabelPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b0e54a880e97f4c5ead7dcc1c0918e05
+timeCreated: 1527198080
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ServicePoiLabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ServicePoiLabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..d233de11534b2733590288da5916113f184a48d9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ServicePoiLabelPrefab.prefab
@@ -0,0 +1,363 @@
+%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: 1550249727436304}
+  m_IsPrefabParent: 1
+--- !u!1 &1388528484174694
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224561070649640738}
+  - component: {fileID: 222816397402481402}
+  - component: {fileID: 114269471373682478}
+  - component: {fileID: 114135850898149578}
+  - component: {fileID: 114618566063731686}
+  m_Layer: 10
+  m_Name: TextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1550249727436304
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224564660901456998}
+  - component: {fileID: 114411151926404462}
+  - component: {fileID: 223687135526774410}
+  - component: {fileID: 114958483898210508}
+  m_Layer: 10
+  m_Name: ServicePoiLabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1703732941097044
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224439370673493072}
+  - component: {fileID: 222677277816497252}
+  - component: {fileID: 114834841667761492}
+  - component: {fileID: 114244664709860616}
+  m_Layer: 10
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1811557742726476
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4443302213748912}
+  - component: {fileID: 212657809318268000}
+  m_Layer: 10
+  m_Name: LabelIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4443302213748912
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1811557742726476}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -14, y: 3.75, z: -1.33}
+  m_LocalScale: {x: 2.143244, y: 2.143244, z: 2.143244}
+  m_Children: []
+  m_Father: {fileID: 224564660901456998}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114135850898149578
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388528484174694}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114244664709860616
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1703732941097044}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114269471373682478
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388528484174694}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.6431373, g: 0.6509804, b: 0.1764706, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114411151926404462
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1550249727436304}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114618566063731686
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388528484174694}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114834841667761492
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1703732941097044}
+  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: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 180
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Placeholder Text
+--- !u!114 &114958483898210508
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1550249727436304}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba99666da3af044c0ae878f372ea4115, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _text: {fileID: 114834841667761492}
+  _background: {fileID: 114269471373682478}
+--- !u!212 &212657809318268000
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1811557742726476}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: b8b01d4fa12054e23ac744c58f0ce422, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 2.18, y: 2.46}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222677277816497252
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1703732941097044}
+--- !u!222 &222816397402481402
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388528484174694}
+--- !u!223 &223687135526774410
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1550249727436304}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224439370673493072
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1703732941097044}
+  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: 224561070649640738}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 698, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224561070649640738
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1388528484174694}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.020000001, y: 0.020000001, z: 0.020000001}
+  m_Children:
+  - {fileID: 224439370673493072}
+  m_Father: {fileID: 224564660901456998}
+  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: -14, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224564660901456998
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1550249727436304}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children:
+  - {fileID: 224561070649640738}
+  - {fileID: 4443302213748912}
+  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: -14, y: 3}
+  m_SizeDelta: {x: 5, y: 5}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ServicePoiLabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ServicePoiLabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f1a199b4bbbbe6f24d05d3b987a41fdf39c5413e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ServicePoiLabelPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 60a41cfc23d514878814f0d425912eff
+timeCreated: 1527198268
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ShopPoiLabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ShopPoiLabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..0264a0f399488e626efbbd557da99d32ae087e99
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ShopPoiLabelPrefab.prefab
@@ -0,0 +1,363 @@
+%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: 1665298560487606}
+  m_IsPrefabParent: 1
+--- !u!1 &1444467056296288
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224098334656958960}
+  - component: {fileID: 222340057222360330}
+  - component: {fileID: 114366715499295196}
+  - component: {fileID: 114230558117708252}
+  m_Layer: 10
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1665298560487606
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224217757915894418}
+  - component: {fileID: 114028682954861286}
+  - component: {fileID: 223040127970496470}
+  - component: {fileID: 114773685892043796}
+  m_Layer: 10
+  m_Name: ShopPoiLabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1780759975101526
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224798898366651696}
+  - component: {fileID: 222076934418866904}
+  - component: {fileID: 114413730570487816}
+  - component: {fileID: 114276377448501972}
+  - component: {fileID: 114437480781528488}
+  m_Layer: 10
+  m_Name: TextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1979517982270276
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4114189036734000}
+  - component: {fileID: 212138595724354360}
+  m_Layer: 10
+  m_Name: LabelIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4114189036734000
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1979517982270276}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -14, y: 3.75, z: -1.33}
+  m_LocalScale: {x: 2.143244, y: 2.143244, z: 2.143244}
+  m_Children: []
+  m_Father: {fileID: 224217757915894418}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114028682954861286
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1665298560487606}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114230558117708252
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1444467056296288}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114276377448501972
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780759975101526}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114366715499295196
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1444467056296288}
+  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: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 180
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Placeholder Text
+--- !u!114 &114413730570487816
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780759975101526}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.7058824, g: 0.23137255, b: 0.44313726, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114437480781528488
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780759975101526}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114773685892043796
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1665298560487606}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba99666da3af044c0ae878f372ea4115, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _text: {fileID: 114366715499295196}
+  _background: {fileID: 114413730570487816}
+--- !u!212 &212138595724354360
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1979517982270276}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: e6aebe3a73e184e0d8196a1362a5c72e, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 2.18, y: 2.46}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222076934418866904
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780759975101526}
+--- !u!222 &222340057222360330
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1444467056296288}
+--- !u!223 &223040127970496470
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1665298560487606}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224098334656958960
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1444467056296288}
+  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: 224798898366651696}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 698, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224217757915894418
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1665298560487606}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children:
+  - {fileID: 224798898366651696}
+  - {fileID: 4114189036734000}
+  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: -14, y: 3}
+  m_SizeDelta: {x: 5, y: 5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224798898366651696
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780759975101526}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.020000001, y: 0.020000001, z: 0.020000001}
+  m_Children:
+  - {fileID: 224098334656958960}
+  m_Father: {fileID: 224217757915894418}
+  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: -14, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ShopPoiLabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ShopPoiLabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bced6b30ff9b08262ce8188a1fa33cd1cf0ab114
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/ShopPoiLabelPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 49bc5d782d9184533a37abea20ed30e4
+timeCreated: 1527198325
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/TransportationPoiLabelPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/TransportationPoiLabelPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..4a6d53f3beeaf962add3efc957a3674a48e2bb3f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/TransportationPoiLabelPrefab.prefab
@@ -0,0 +1,363 @@
+%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: 1295758952425276}
+  m_IsPrefabParent: 1
+--- !u!1 &1208586745600294
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4881803303959862}
+  - component: {fileID: 212423247285982060}
+  m_Layer: 10
+  m_Name: LabelIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1295758952425276
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224719232094423712}
+  - component: {fileID: 114065061957675814}
+  - component: {fileID: 223504752897195498}
+  - component: {fileID: 114652372319761880}
+  m_Layer: 10
+  m_Name: TransportationPoiLabelPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1418439391676942
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224294137039291060}
+  - component: {fileID: 222746265049925354}
+  - component: {fileID: 114702148998547232}
+  - component: {fileID: 114997537271173470}
+  - component: {fileID: 114042121892678640}
+  m_Layer: 10
+  m_Name: TextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1800864131950862
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224083837097222782}
+  - component: {fileID: 222710272256179442}
+  - component: {fileID: 114331597656622048}
+  - component: {fileID: 114604851063711006}
+  m_Layer: 10
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4881803303959862
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1208586745600294}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -14, y: 3.75, z: -1.33}
+  m_LocalScale: {x: 2.143244, y: 2.143244, z: 2.143244}
+  m_Children: []
+  m_Father: {fileID: 224719232094423712}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114042121892678640
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1418439391676942}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114065061957675814
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1295758952425276}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114331597656622048
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1800864131950862}
+  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: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 180
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Placeholder Text
+--- !u!114 &114604851063711006
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1800864131950862}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114652372319761880
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1295758952425276}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ba99666da3af044c0ae878f372ea4115, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _text: {fileID: 114331597656622048}
+  _background: {fileID: 114702148998547232}
+--- !u!114 &114702148998547232
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1418439391676942}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19215687, g: 0.29803923, b: 0.8039216, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114997537271173470
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1418439391676942}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!212 &212423247285982060
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1208586745600294}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: fec5572521f52453397f564f556c168e, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 2.18, y: 2.46}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222710272256179442
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1800864131950862}
+--- !u!222 &222746265049925354
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1418439391676942}
+--- !u!223 &223504752897195498
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1295758952425276}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224083837097222782
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1800864131950862}
+  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: 224294137039291060}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 698, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224294137039291060
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1418439391676942}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.020000001, y: 0.020000001, z: 0.020000001}
+  m_Children:
+  - {fileID: 224083837097222782}
+  m_Father: {fileID: 224719232094423712}
+  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: -14, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224719232094423712
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1295758952425276}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children:
+  - {fileID: 224294137039291060}
+  - {fileID: 4881803303959862}
+  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: -14, y: 3}
+  m_SizeDelta: {x: 5, y: 5}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/TransportationPoiLabelPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/TransportationPoiLabelPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0c62843b87faa2c8707a176d1dc45ec79d000fcf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/TransportationPoiLabelPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 22150daba6e8b47b69fd30f00b9c56cd
+timeCreated: 1527198391
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-arts.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-arts.png
new file mode 100644
index 0000000000000000000000000000000000000000..543fe12661915100cf859a12a97c55bd1bc5db4a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-arts.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-arts.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-arts.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3fe1affb153294b45a3fca215fe82c3ffc6130d1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-arts.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 808e85b573ffd4216a301aa2c9e1293f
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 4cca791404630404cac73ea3269b744a
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-default.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-default.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fd79ba294372c942e4c21a735cbc40b52c7fad4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-default.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-default.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-default.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..14371f050244e1ba452af760289f557977d5b3dc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-default.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 240e67c92465d4af09e98ac0ff6cb4e5
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 4da26de81e991f44c8decdf9e92e8c02
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-food.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-food.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac02e3361d72a265e9596f87ffac82ff622dad81
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-food.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-food.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-food.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..22460fa467475b8057e3710e487be278bb31069c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-food.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: b9cd915d8be92437c936b03eedf3631c
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 6f8952c18eab4e44fa9c33b664d16c76
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-nightlife.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-nightlife.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd9f6798cf0226fd0bdb0f2967e516a1f9f322b2
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-nightlife.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-nightlife.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-nightlife.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d83610c0c7df7d3970e559e7918dfda2755857d9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-nightlife.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 88cacb42af7fe47338fa175ad6114e09
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 501c8e9657dbaf745ba4718f33d51ff3
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-outdoors.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-outdoors.png
new file mode 100644
index 0000000000000000000000000000000000000000..551365bfb51de29cb9e9f0bbd62a0a694ccc720d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-outdoors.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-outdoors.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-outdoors.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4e370dced691a9d20139b6472d40feb4f4956f66
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-outdoors.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 08d14ec5687ea47fcb3de9ac267391b5
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 06830ac335955f34d869f17978ed5942
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-services.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-services.png
new file mode 100644
index 0000000000000000000000000000000000000000..7275f8515a7d62ca2b8f5d11517d89e65147c3d1
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-services.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-services.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-services.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2f9ccc64258b75ddd7f7122a57b104b57239636f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-services.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: b8b01d4fa12054e23ac744c58f0ce422
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 715a954fe8421d445b417093bb087e31
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-shops.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-shops.png
new file mode 100644
index 0000000000000000000000000000000000000000..18deb7b821ae354003dba4d6098c505b509070b1
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-shops.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-shops.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-shops.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7fec75d8d7ad7428b578d408b79371e51294ab51
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-shops.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: e6aebe3a73e184e0d8196a1362a5c72e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: db0fb6ffe62c0fe4189153facfc384d0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-transportation.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-transportation.png
new file mode 100644
index 0000000000000000000000000000000000000000..6cbee34a87fe1ff270e18f1ab2616313ad5d6cac
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-transportation.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-transportation.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-transportation.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1681d4824746c6c131109fc28da17c74d612d218
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Resources/poi-icon-transportation.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: fec5572521f52453397f564f556c168e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 8c4986df1cbf3a84aa6dbbffcc063076
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots.meta
new file mode 100644
index 0000000000000000000000000000000000000000..334ae7ee6e643d086dc5a0c59efd7d703c1a21a4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 56e82a2b2d57941cc8efe151672b09ab
+folderAsset: yes
+timeCreated: 1528324686
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots/POIPlacement.png b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots/POIPlacement.png
new file mode 100644
index 0000000000000000000000000000000000000000..86c26c3bda61023f73323a6255f183517646e9b2
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots/POIPlacement.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots/POIPlacement.png.meta b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots/POIPlacement.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..30137df9c28f86294ced423e54231ef29b70c940
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/3_POIPlacement/Screenshots/POIPlacement.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: c2103bdd982e845a0a07bc8ee6649a17
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f1b13fb231b270041bbbb3a5bbddaba3
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..db4a2bb3d57284551250e0012801ba2d2a013a52
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6001130ed86fa45a791d75cee022c9d6
+folderAsset: yes
+timeCreated: 1526669716
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/IconicBuildings.unity b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/IconicBuildings.unity
new file mode 100644
index 0000000000000000000000000000000000000000..9e2c8f4370e956a5dee07f67bce58e9a89cb59f3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/IconicBuildings.unity
@@ -0,0 +1,2002 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641252, b: 0.574817, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!21 &102519578
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &154141535
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 154141537}
+  - component: {fileID: 154141536}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &154141536
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 154141535}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 1
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &154141537
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 154141535}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &327784168
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 327784171}
+  - component: {fileID: 327784170}
+  - component: {fileID: 327784169}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &327784169
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 327784168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &327784170
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 327784168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &327784171
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 327784168}
+  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: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &641490001
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: '<b> Iconic Buildings</b>
+
+
+        This demonstrates the use of the ReplaceFeatureCollection modifier, which
+        allows key locations to be replaced with unique prefabs, such as a iconic
+        skyscrapers or historic landmarks. Click to buttons above to see various features
+        from around the world replaced with custom 3d models.'
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224518340005525372, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 137
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Value
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114905903597709784, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Color.a
+      value: 0.772
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &859772058
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &913336893
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1006191783
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &1106422598
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224425051509257448, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224686408172547806, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224686408172547806, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224686408172547806, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224686408172547806, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224686408172547806, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224686408172547806, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224356744738298800, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224356744738298800, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224356744738298800, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224356744738298800, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224356744738298800, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224356744738298800, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224155703514620438, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224155703514620438, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224155703514620438, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224155703514620438, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224155703514620438, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224155703514620438, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224818571309711206, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224818571309711206, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224818571309711206, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224818571309711206, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224818571309711206, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224818571309711206, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224968602837931276, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224968602837931276, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224968602837931276, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224968602837931276, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224968602837931276, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224968602837931276, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224608461375035254, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224608461375035254, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224608461375035254, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224608461375035254, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224608461375035254, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224608461375035254, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224625635005382102, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224625635005382102, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224625635005382102, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224625635005382102, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224625635005382102, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224625635005382102, guid: aaa51caf037dd4424bab8d45ef3be316,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: aaa51caf037dd4424bab8d45ef3be316, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &1327541260
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].GoModifiers.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4732696979201430, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4732696979201430, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: -0.86675084
+      objectReference: {fileID: 0}
+    - target: {fileID: 4732696979201430, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4732696979201430, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4732696979201430, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4732696979201430, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4732696979201430, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4732696979201430, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].filterOptions._selectedLayerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].honorBuildingIdSetting
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].presetFeatureType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1721527003}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1651882590}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.sourceId
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.isActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.sublayerName
+      value: Buildings
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.geometryType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.layerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.snapToTerrain
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.Width
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.MiterLimit
+      value: 0.2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.RoundLimit
+      value: 1.05
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.JoinType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.CapType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].filterOptions._selectedLayerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions._selectedLayerName
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.extrusionType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.propertyName
+      value: height
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.propertyDescription
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.extrusionScaleFactor
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.style
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.texturingType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 102519578}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1006191783}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301,
+        type: 2}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.lightStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.darkStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.r
+      value: 0.1764706
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.g
+      value: 0.8509805
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.a
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorPalette
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.texturingType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 859772058}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 913336893}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+        type: 2}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+        type: 2}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].performanceOptions.isEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].performanceOptions.entityPerCoroutine
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].honorBuildingIdSetting
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].buildingsWithUniqueIds
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].GoModifiers.Array.data[0]
+      value: 
+      objectReference: {fileID: 11400000, guid: 9cc65532303e9448e8ecbe284fc7f035,
+        type: 2}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.isActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.sublayerName
+      value: Roads
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.geometryType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.layerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.snapToTerrain
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.Width
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.MiterLimit
+      value: 0.2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.RoundLimit
+      value: 1.05
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.JoinType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.CapType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions._selectedLayerName
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.extrusionType
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.propertyName
+      value: height
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.maximumHeight
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.extrusionScaleFactor
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.style
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2031654922}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1821153362}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.lightStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.darkStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.r
+      value: 0.1764706
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.g
+      value: 0.8509805
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.a
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].performanceOptions.isEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].performanceOptions.entityPerCoroutine
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.maximumHeight
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 59ca6a03aa1ab4d5797fc37bc0f37797,
+        type: 2}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+        type: 2}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+        type: 2}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].buildingsWithUniqueIds
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.texturingType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _tileProvider
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114585160210174956, guid: 4cd0111f17b6043cf817880e3fd57cd1,
+        type: 2}
+      propertyPath: _previewOptions.isPreviewEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 4cd0111f17b6043cf817880e3fd57cd1, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &1651882590
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1721527003
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1821153362
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
+--- !u!1 &2001912278
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2001912282}
+  - component: {fileID: 2001912281}
+  - component: {fileID: 2001912280}
+  - component: {fileID: 2001912279}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &2001912279
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2001912278}
+  m_Enabled: 1
+--- !u!124 &2001912280
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2001912278}
+  m_Enabled: 1
+--- !u!20 &2001912281
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2001912278}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &2001912282
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2001912278}
+  m_LocalRotation: {x: 0.11924687, y: 0.098070905, z: 0.0012959492, w: 0.98800844}
+  m_LocalPosition: {x: 0.67, y: 35.12041, z: -54.84}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 13.614, y: 11.52, z: 1.529996}
+--- !u!21 &2031654922
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/IconicBuildings.unity.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/IconicBuildings.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dc3532614cb5ef07b1add322ff6065f5e7a7a99f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/IconicBuildings.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2047e93df64ce478c91225d834c82f3d
+timeCreated: 1534464973
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..57fc32e1a5f014d04822b8f96fef5fe39c96b446
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 3ba73d6f3a89a45e0915fb7dc68847e7
+folderAsset: yes
+timeCreated: 1527012907
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials/FuturisticBuilding.mat b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials/FuturisticBuilding.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a2fdc248ee34488af243c38177e1fd489310f9fc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials/FuturisticBuilding.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: FuturisticBuilding
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 35f9d408432e04487bba4cd10a5e389a, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials/FuturisticBuilding.mat.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials/FuturisticBuilding.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..043e7e1f31e9095bd9cf50274850ae794cdd5a00
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Materials/FuturisticBuilding.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bcdc978d68ad74fdfbf505307563a8af
+timeCreated: 1527012834
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1a0f39d245d14c84cd136659158f342eade4296f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 3db1ccb2525054408aaf6644d622695b
+folderAsset: yes
+timeCreated: 1527012901
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models/Building.fbx b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models/Building.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..d2786ffaf498b4d3c123d30634ad9b21e7605028
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models/Building.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models/Building.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models/Building.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fb2f89eba200ad1f0dd4b1232c7e5fdb0eeacd74
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Models/Building.fbx.meta
@@ -0,0 +1,93 @@
+fileFormatVersion: 2
+guid: 2141b6d18b38b426a9b2f49077af7bc1
+timeCreated: 1527012834
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: Building1
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: FuturisticBuilding
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 10
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1b973a49285f868eff57ad482391a24d6d08c82d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1494cb8f024e74382b1833fd0c9c5d1b
+folderAsset: yes
+timeCreated: 1527012918
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs/Building Pivot.prefab b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs/Building Pivot.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..bc18f4ccdd0a817360d705d7ace4ecde03099969
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs/Building Pivot.prefab	
@@ -0,0 +1,166 @@
+%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: 1557236772398302}
+  m_IsPrefabParent: 1
+--- !u!1 &1444201703355662
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4389725340166072}
+  - component: {fileID: 33402775852504282}
+  - component: {fileID: 23611109054619142}
+  m_Layer: 0
+  m_Name: Building
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1557236772398302
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4903565309632786}
+  m_Layer: 0
+  m_Name: Building Pivot
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1970543083324894
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4545093131443120}
+  - component: {fileID: 122037596422965424}
+  - component: {fileID: 114556322251953184}
+  m_Layer: 0
+  m_Name: Point light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4389725340166072
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1444201703355662}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.757, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4903565309632786}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4545093131443120
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1970543083324894}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1.564, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4903565309632786}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4903565309632786
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1557236772398302}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 100, y: 100, z: 100}
+  m_Children:
+  - {fileID: 4389725340166072}
+  - {fileID: 4545093131443120}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23611109054619142
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1444201703355662}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: bcdc978d68ad74fdfbf505307563a8af, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33402775852504282
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1444201703355662}
+  m_Mesh: {fileID: 4300000, guid: 2141b6d18b38b426a9b2f49077af7bc1, type: 3}
+--- !u!114 &114556322251953184
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1970543083324894}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 42a992266d3e1416a9b8a41a17635f42, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!122 &122037596422965424
+Halo:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1970543083324894}
+  m_Enabled: 1
+  m_Color:
+    serializedVersion: 2
+    rgba: 4278190256
+  m_Size: 0.98
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs/Building Pivot.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs/Building Pivot.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a2d4760e4aa2907988850a22d63bc702e9f5baf4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Prefabs/Building Pivot.prefab.meta	
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c71927789464440f59ea08b68c2f1073
+timeCreated: 1527013576
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatureModifier.asset b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatureModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..b88d70fd19302f83f2bf642352e13f488554b525
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatureModifier.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f386309a8f86f48aaabbbd02b9f95059, type: 3}
+  m_Name: ReplaceFeatureModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 1557236772398302, guid: c71927789464440f59ea08b68c2f1073, type: 2}
+    scaleDownWithWorld: 1
+  _prefabLocations:
+  - 37.8024, -122.405833
+  _explicitlyBlockedFeatureIds: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatureModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatureModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6daaadb7e2c750c316fcf4d21f046c15a5280f0b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatureModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ad0d5eb721d8a4e4ba2d7356ce1fba7e
+timeCreated: 1525817592
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatures.unity b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatures.unity
new file mode 100644
index 0000000000000000000000000000000000000000..dee315f537cf42ff404fe0143fa5dab7d17701cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatures.unity
@@ -0,0 +1,1214 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641252, b: 0.574817, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!21 &168417283
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &277018061
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
+--- !u!1001 &559552215
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.size
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].GoModifiers.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].coordinates.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: -10.368036
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _options.locationOptions.latitudeLongitude
+      value: 37.8025, -122.405833
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].filterOptions._selectedLayerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].GoModifiers.Array.data[0]
+      value: 
+      objectReference: {fileID: 11400000, guid: ad0d5eb721d8a4e4ba2d7356ce1fba7e,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].coreOptions.isActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].coreOptions.sublayerName
+      value: Coit tower
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].coreOptions.snapToTerrain
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].categories
+      value: -1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].density
+      value: 15
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].spawnPrefabOptions.prefab
+      value: 
+      objectReference: {fileID: 100004, guid: b093854c080244261b8cacc85953aed7, type: 3}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].findByType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.locationPrefabList.Array.data[0].coordinates.Array.data[0]
+      value: 37.8025, -122.405833
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].filterOptions._selectedLayerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions._selectedLayerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].honorBuildingIdSetting
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].GoModifiers.Array.data[1]
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].moveFeaturePositionTo
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty._sourceType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.sourceOptions.layerSource.Id
+      value: mapbox.3d-buildings,mapbox.mapbox-streets-v7
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].honorBuildingIdSetting
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.groupFeatures
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.style
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.extrusionType
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.extrusionGeometryType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _options.extentOptions.rangeAroundCenterOptions.west
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _options.extentOptions.rangeAroundCenterOptions.north
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _options.extentOptions.rangeAroundCenterOptions.east
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _options.extentOptions.rangeAroundCenterOptions.south
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.isActive
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 663552976}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 168417283}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorPalette
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].presetFeatureType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.texturingType
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: a1aa333e18c0640d7b428eecff9c4af7, type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: c0653693b48614a139a124871d499679, type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].presetFeatureType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.style
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.texturingType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.texturingType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 277018061}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1071420755}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 59ca6a03aa1ab4d5797fc37bc0f37797,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _tileProvider
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _previewOptions.isPreviewEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &663552976
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1071420755
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
+--- !u!1001 &1383075241
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: '<b>Replacing Mapbox building with your own 3D Models</b>
+
+
+        Whether you wish to replace your corporate office locations with a custom
+        branded building model of your own, or spawn a highly detailed historical
+        monument on a 3D map, use our <b>Feature Replacement Modifier</b> to swap
+        out a default extruded building at a given Lat-Lon with your supplied prefab.
+        You can add your Feature Replacement Modifier directly to the list of Game
+        Object modifiers of your buildings visualizer.'
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1621501858
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1621501860}
+  - component: {fileID: 1621501859}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1621501859
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1621501858}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1621501860
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1621501858}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1937886447
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1937886451}
+  - component: {fileID: 1937886450}
+  - component: {fileID: 1937886449}
+  - component: {fileID: 1937886448}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1937886448
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1937886447}
+  m_Enabled: 1
+--- !u!124 &1937886449
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1937886447}
+  m_Enabled: 1
+--- !u!20 &1937886450
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1937886447}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1937886451
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1937886447}
+  m_LocalRotation: {x: -0.044007145, y: 0.90626585, z: -0.09774506, w: -0.40889063}
+  m_LocalPosition: {x: 23.844204, y: 31.281227, z: 27.604948}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 18, y: 0, z: 0}
+--- !u!1001 &2096890157
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 3adcee2515f8c49f4a7afb3bacf2c56e, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatures.unity.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatures.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aceb89fdea595ed65f2769d6b0616c8740f91352
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatures.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 54d1b7ee40bee49559dd74210c7d5a57
+timeCreated: 1526669733
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d8be164969b8a9deb1ad1cbda734d357798df13
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1c6b90b2eae84460fb7c3812651a64fd
+folderAsset: yes
+timeCreated: 1528324725
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots/ReplaceFeatures.png b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots/ReplaceFeatures.png
new file mode 100644
index 0000000000000000000000000000000000000000..1075ecf33c7aff685e93ecbc8f502867077021cb
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots/ReplaceFeatures.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots/ReplaceFeatures.png.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots/ReplaceFeatures.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8d7abaf0a5fe77b8b5da66a9e6c0061d9c2e3f6c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Screenshots/ReplaceFeatures.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 81e4425f6c22e497d9f87b864accb082
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 72c0f9be2b8d52b4a97504b5e9e2ac68
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d2c0d01765d799eb7646332e6a0e2337c457c167
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6ebd1ada4313b460c9bd85e862eea602
+folderAsset: yes
+timeCreated: 1527013956
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts/BlinkLight.cs b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts/BlinkLight.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c8ac074708441b5b9009547f5dfa2118c98f8012
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts/BlinkLight.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BlinkLight : MonoBehaviour {
+
+	float blinkDuration = 2.0f;
+	void Start () {
+		StartCoroutine(BlinkLed());
+	}
+
+	private IEnumerator BlinkLed()
+	{
+		Component halo = gameObject.GetComponent("Halo");
+		while(true)
+		{
+			((Behaviour)halo).enabled = !((Behaviour)halo).enabled;
+			yield return new WaitForSeconds(blinkDuration);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts/BlinkLight.cs.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts/BlinkLight.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..336e19078998fcc2ee52a7931a10eb67310c49c3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Scripts/BlinkLight.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 42a992266d3e1416a9b8a41a17635f42
+timeCreated: 1527013969
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b0893debf74c5c3a082e7f9b9b32747917deb818
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e1bf9f3382f4b45f58bd51356f4dbe3c
+folderAsset: yes
+timeCreated: 1527012912
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures/FuturisticBuilding [Albedo].png b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures/FuturisticBuilding [Albedo].png
new file mode 100644
index 0000000000000000000000000000000000000000..f5d3939c51caaeaedd0c484c6690a6eb61fa53a0
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures/FuturisticBuilding [Albedo].png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures/FuturisticBuilding [Albedo].png.meta b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures/FuturisticBuilding [Albedo].png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c64272d1df46ade8bcb3060d459d70e296393c39
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/4_ReplaceFeatures/Textures/FuturisticBuilding [Albedo].png.meta	
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 35f9d408432e04487bba4cd10a5e389a
+timeCreated: 1527012834
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b7ab30001d728a8b1d708b682279bf859f348019
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9f009fddedf714e3190243d6f01fd4bc
+folderAsset: yes
+timeCreated: 1480556822
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b4884f3efbb6872ef5dcee2806e24c1e16015024
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bd59039d9bee14a6f90b5544ce66788a
+folderAsset: yes
+timeCreated: 1525982888
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/DeviceOrientationMat.mat b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/DeviceOrientationMat.mat
new file mode 100644
index 0000000000000000000000000000000000000000..d4245156ff91d1d29d9af2cf3d4e845e4da68aaa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/DeviceOrientationMat.mat
@@ -0,0 +1,77 @@
+%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: DeviceOrientationMat
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 1, g: 0, b: 0, a: 0.541}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/DeviceOrientationMat.mat.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/DeviceOrientationMat.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..14d2e2baf97ffb0d2f3e98a946c613fc2edba983
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/DeviceOrientationMat.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 107ca5e7bb5e26f46b0ce09f5fc2e817
+timeCreated: 1526382537
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/UserHeadingMat.mat b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/UserHeadingMat.mat
new file mode 100644
index 0000000000000000000000000000000000000000..03d510b4bb30839c9c996a1db87c4734ddd04fbc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/UserHeadingMat.mat
@@ -0,0 +1,77 @@
+%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: UserHeadingMat
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.11724138, g: 1, b: 0, a: 0.39215687}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/UserHeadingMat.mat.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/UserHeadingMat.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1e4bfbebaf59ecdf40fed7626b8b61aac1669e76
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Materials/UserHeadingMat.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9cd87e4a7579b3c4e85d198cf4d7f65f
+timeCreated: 1524792279
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f57cafa220c1e87d85deaba2fda1af522cf8f9da
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6945c6e6fe5104d8082a9b97201c039b
+folderAsset: yes
+timeCreated: 1481919576
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/Directions.unity b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/Directions.unity
new file mode 100644
index 0000000000000000000000000000000000000000..40cd1d8b39f009eaca1c4bbef4ca460deb334a41
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/Directions.unity
@@ -0,0 +1,2111 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.37311918, g: 0.38073993, b: 0.358727, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &74000606
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012090673836, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 74000607}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &74000607
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010221606746, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 74000606}
+  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:
+  - {fileID: 119604262}
+  m_Father: {fileID: 1040864815}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &119604261
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012057558918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 119604262}
+  - component: {fileID: 119604264}
+  - component: {fileID: 213199782}
+  - component: {fileID: 119604263}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &119604262
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012836491396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  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: 74000607}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: -0.000025018184}
+  m_SizeDelta: {x: 453, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &119604263
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013123592098, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!222 &119604264
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012826868666, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+--- !u!114 &213199782
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014054412960, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!1 &284516541
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011042463632, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 284516544}
+  - component: {fileID: 284516543}
+  - component: {fileID: 284516542}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &284516542
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010934554774, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 284516541}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &284516543
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011160364622, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 284516541}
+--- !u!224 &284516544
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010154248770, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 284516541}
+  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: 1893216660}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 360.2, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!1001 &324646656
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0.27610856
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 116.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -138.14226
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 213
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 256.28452
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 276.28452
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>Directions</b>\n\nThis example showcases leveraging Mapbox\u2019s
+        Search and Navigation APIs in Unity to get directions worldwide.\n\nEnter
+        a start location query (eg. \"San Francisco, CA\"), this is a forward geocode
+        request. Then enter a destination query (eg. \"Los Angeles, CA\"), this is
+        also a forward geocode request.\n\nWhen the geocode requests have been completed,
+        a directions request is executed. A new request is sent every time the start
+        or destination user input fields are edited.\n\nDirections results will be
+        logged to the UI when they are available (in the form of JSON)."
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &328319147
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011719224788, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 328319148}
+  - component: {fileID: 328319150}
+  - component: {fileID: 328319149}
+  m_Layer: 5
+  m_Name: 
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &328319148
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012580838024, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+  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: 586426361}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: -0.00000059604645, y: 0}
+  m_SizeDelta: {x: 4.8, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &328319149
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012761145808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &328319150
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000014233813864, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+--- !u!1 &438836051
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011716168404, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 438836052}
+  - component: {fileID: 438836054}
+  - component: {fileID: 438836053}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &438836052
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012528707734, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+  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: 1679962176}
+  m_RootOrder: 1
+  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 &438836053
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013692607888, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78039217, g: 0.78039217, b: 0.78039217, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &438836054
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012640390926, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+--- !u!1 &560162634
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013285438004, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 560162635}
+  - component: {fileID: 560162638}
+  - component: {fileID: 560162637}
+  - component: {fileID: 560162636}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &560162635
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013769072932, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  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:
+  - {fileID: 586426361}
+  m_Father: {fileID: 1679962176}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 7.300049, y: 0.00000011920929}
+  m_SizeDelta: {x: 7.399994, y: -10}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &560162636
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011803193416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 328319149}
+  m_HandleRect: {fileID: 328319148}
+  m_Direction: 2
+  m_Value: 1
+  m_Size: 0.99999994
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &560162637
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013709220146, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.8161765, g: 0.8101752, b: 0.8101752, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &560162638
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012682013954, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+--- !u!1 &586426360
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013952414408, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 586426361}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &586426361
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010601873538, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 586426360}
+  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:
+  - {fileID: 328319148}
+  m_Father: {fileID: 560162635}
+  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: -4.8, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &651160273
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012524931350, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 651160274}
+  - component: {fileID: 651160276}
+  - component: {fileID: 651160275}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &651160274
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013239100144, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+  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: 1251500801}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 234.4, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &651160275
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013078476636, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.72794116, g: 0.72794116, b: 0.72794116, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter Start Location
+--- !u!222 &651160276
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012269050396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+--- !u!1 &706031676
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013003478870, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 706031679}
+  - component: {fileID: 706031678}
+  - component: {fileID: 706031677}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &706031677
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014027178932, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 706031676}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.72794116, g: 0.72794116, b: 0.72794116, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter Destination
+--- !u!222 &706031678
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012150897946, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 706031676}
+--- !u!224 &706031679
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011278674810, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 706031676}
+  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: 1893216660}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 234.4, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &784465565
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013402028214, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &833661034
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 833661036}
+  - component: {fileID: 833661035}
+  m_Layer: 0
+  m_Name: Directions
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &833661035
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 833661034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6813623cf588043fa958028235282143, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _resultsText: {fileID: 213199782}
+  _startLocationGeocoder: {fileID: 784465565}
+  _endLocationGeocoder: {fileID: 1176270060}
+--- !u!4 &833661036
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 833661034}
+  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}
+--- !u!1 &908265034
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010227804882, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 908265035}
+  - component: {fileID: 908265038}
+  - component: {fileID: 908265037}
+  - component: {fileID: 908265036}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &908265035
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011269656230, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  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_Children:
+  - {fileID: 1823223176}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!114 &908265036
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014216839898, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &908265037
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010120010546, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &908265038
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 223000012797831518, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 25
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!1 &1021652607
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013742896850, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1021652608}
+  - component: {fileID: 1021652610}
+  - component: {fileID: 1021652609}
+  m_Layer: 5
+  m_Name: "\x10Header"
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1021652608
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011107200876, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+  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: 1705366097}
+  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 &1021652609
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010302251204, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 35a333d34c953b74c89517a378b697fd, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1021652610
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011168970398, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+--- !u!1 &1040864814
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012379347228, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1040864815}
+  - component: {fileID: 1040864819}
+  - component: {fileID: 1040864818}
+  - component: {fileID: 1040864817}
+  - component: {fileID: 1040864816}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1040864815
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013155699428, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  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:
+  - {fileID: 74000607}
+  m_Father: {fileID: 1679962176}
+  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 &1040864816
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013054162454, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1040864817
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012079054058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+--- !u!114 &1040864818
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013380272794, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &1040864819
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010316493756, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 119604262}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 1
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.1
+  m_ScrollSensitivity: 10
+  m_Viewport: {fileID: 74000607}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 560162636}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 1
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1 &1047447785
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1047447790}
+  - component: {fileID: 1047447789}
+  - component: {fileID: 1047447788}
+  - component: {fileID: 1047447787}
+  - component: {fileID: 1047447786}
+  m_Layer: 0
+  m_Name: Camera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1047447786
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!124 &1047447787
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!92 &1047447788
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!20 &1047447789
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.29411763, g: 0.29411763, b: 0.29411763, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1047447790
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1062076836
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010304022808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1062076837}
+  - component: {fileID: 1062076839}
+  - component: {fileID: 1062076838}
+  m_Layer: 5
+  m_Name: "\x10Header"
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1062076837
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012050639918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+  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: 1705366097}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0.0000038146973, y: -0.0000038146973}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1062076838
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014236819058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 7dfc2e1472ac84e1bb749a8a9f934483, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Get Directions
+--- !u!222 &1062076839
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013946530584, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+--- !u!114 &1176270060
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011200747492, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1893216656}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &1251500800
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011213778780, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1251500801}
+  - component: {fileID: 1251500804}
+  - component: {fileID: 1251500803}
+  - component: {fileID: 1251500802}
+  - component: {fileID: 784465565}
+  m_Layer: 5
+  m_Name: StartInput
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1251500801
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010522313572, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  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:
+  - {fileID: 651160274}
+  - {fileID: 1798115507}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0.000038146973, y: -137.4}
+  m_SizeDelta: {x: -106.60008, y: 59.200012}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1251500802
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010055122868, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1251500803}
+  m_TextComponent: {fileID: 1798115508}
+  m_Placeholder: {fileID: 651160275}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 1.7
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &1251500803
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013882063980, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78676474, g: 0.78676474, b: 0.78676474, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1251500804
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011135710870, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+--- !u!1 &1441675072
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1441675075}
+  - component: {fileID: 1441675074}
+  - component: {fileID: 1441675073}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1441675073
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &1441675074
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &1441675075
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1679962175
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011098435040, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1679962176}
+  - component: {fileID: 1679962178}
+  - component: {fileID: 1679962177}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1679962176
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013901768082, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+  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:
+  - {fileID: 1040864815}
+  - {fileID: 438836052}
+  - {fileID: 560162635}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 3
+  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: -124.275}
+  m_SizeDelta: {x: -106.600006, y: -301.95}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1679962177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013974418978, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.99215686, g: 0.99215686, b: 0.99215686, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1679962178
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012775294268, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+--- !u!1 &1705366096
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012992477582, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1705366097}
+  - component: {fileID: 1705366099}
+  - component: {fileID: 1705366098}
+  m_Layer: 5
+  m_Name: "\x10Header"
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1705366097
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013867893554, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+  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:
+  - {fileID: 1021652608}
+  - {fileID: 1062076837}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -37.5}
+  m_SizeDelta: {x: 0, y: 66.100006}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1705366098
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012459039884, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137257, g: 0.69803923, b: 0.81568635, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1705366099
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012728204416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+--- !u!1 &1798115506
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013422819282, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1798115507}
+  - component: {fileID: 1798115509}
+  - component: {fileID: 1798115508}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1798115507
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010496760426, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+  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: 1251500801}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 360.2, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1798115508
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011337787522, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &1798115509
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011961113724, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+--- !u!1 &1823223175
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000014083494258, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1823223176}
+  - component: {fileID: 1823223178}
+  - component: {fileID: 1823223177}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1823223176
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010309437278, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+  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:
+  - {fileID: 1705366097}
+  - {fileID: 1251500801}
+  - {fileID: 1893216660}
+  - {fileID: 1679962176}
+  m_Father: {fileID: 908265035}
+  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 &1823223177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012738601650, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 00292e5d44a244c4180bdaecec8dc7e8, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1823223178
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013271042504, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+--- !u!1 &1893216656
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012187156162, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1893216660}
+  - component: {fileID: 1893216659}
+  - component: {fileID: 1893216658}
+  - component: {fileID: 1893216657}
+  - component: {fileID: 1176270060}
+  m_Layer: 5
+  m_Name: DestinationInput
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1893216657
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011317894016, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1893216656}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1893216658}
+  m_TextComponent: {fileID: 284516542}
+  m_Placeholder: {fileID: 706031677}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 1.7
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &1893216658
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011657906652, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1893216656}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78676474, g: 0.78676474, b: 0.78676474, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1893216659
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013238274288, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1893216656}
+--- !u!224 &1893216660
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012500896482, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1893216656}
+  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:
+  - {fileID: 706031679}
+  - {fileID: 284516544}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0.000038146973, y: -220.5}
+  m_SizeDelta: {x: -106.60008, y: 59.200012}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/Directions.unity.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/Directions.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..687d3d2919917091c350190afe2e0c419070411c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/Directions.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b650aa71f57a846dc83ef01c3c1755ad
+timeCreated: 1521496787
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ForwardGeocoder.unity b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ForwardGeocoder.unity
new file mode 100644
index 0000000000000000000000000000000000000000..d05654767a83d8812127fabc5f6ed7e241d9da3d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ForwardGeocoder.unity
@@ -0,0 +1,1823 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.37311918, g: 0.38073993, b: 0.358727, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &74000606
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012090673836, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 74000607}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &74000607
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010221606746, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 74000606}
+  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:
+  - {fileID: 119604262}
+  m_Father: {fileID: 1040864815}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &119604261
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012057558918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 119604262}
+  - component: {fileID: 119604264}
+  - component: {fileID: 213199782}
+  - component: {fileID: 119604263}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &119604262
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012836491396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  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: 74000607}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 453, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &119604263
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013123592098, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!222 &119604264
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012826868666, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+--- !u!114 &213199782
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014054412960, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!1001 &225120358
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0.000000059604645
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 116.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -75.56045
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 213
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 131.1209
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -0.000015258789
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>Forward Geocoder</b>\n\nThis example showcases leveraging Mapbox\u2019s
+        Search API to do a forward geocoding request, which means querying a place
+        by name and getting all of its GeoJSON data. A new request is sent every time
+        the user input field is edited.\n\nVisit Mapbox\u2019s API documentation for
+        more information."
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: -17
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &328319147
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011719224788, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 328319148}
+  - component: {fileID: 328319150}
+  - component: {fileID: 328319149}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &328319148
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012580838024, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+  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: 586426361}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: -0.00000059604645, y: 0}
+  m_SizeDelta: {x: 4.8, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &328319149
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012761145808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &328319150
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000014233813864, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+--- !u!1 &438836051
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011716168404, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 438836052}
+  - component: {fileID: 438836054}
+  - component: {fileID: 438836053}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &438836052
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012528707734, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+  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: 1679962176}
+  m_RootOrder: 1
+  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 &438836053
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013692607888, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78039217, g: 0.78039217, b: 0.78039217, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &438836054
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012640390926, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+--- !u!1 &560162634
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013285438004, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 560162635}
+  - component: {fileID: 560162638}
+  - component: {fileID: 560162637}
+  - component: {fileID: 560162636}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &560162635
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013769072932, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  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:
+  - {fileID: 586426361}
+  m_Father: {fileID: 1679962176}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 7.300049, y: 0.00000011920929}
+  m_SizeDelta: {x: 7.399994, y: -10}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &560162636
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011803193416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 328319149}
+  m_HandleRect: {fileID: 328319148}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &560162637
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013709220146, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.8161765, g: 0.8101752, b: 0.8101752, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &560162638
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012682013954, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+--- !u!1 &586426360
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013952414408, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 586426361}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &586426361
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010601873538, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 586426360}
+  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:
+  - {fileID: 328319148}
+  m_Father: {fileID: 560162635}
+  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: -4.8, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &651160273
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012524931350, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 651160274}
+  - component: {fileID: 651160276}
+  - component: {fileID: 651160275}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &651160274
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013239100144, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+  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: 1251500801}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 234.4, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &651160275
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013078476636, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.72794116, g: 0.72794116, b: 0.72794116, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter Location
+--- !u!222 &651160276
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012269050396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+--- !u!114 &784465565
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013402028214, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &833661034
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 833661036}
+  - component: {fileID: 833661035}
+  m_Layer: 0
+  m_Name: ForwardGeocoder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &833661035
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 833661034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9db62c5c7a8e7409e99e6cb401d74611, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _searchLocation: {fileID: 784465565}
+  _resultsText: {fileID: 213199782}
+--- !u!4 &833661036
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 833661034}
+  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}
+--- !u!1 &908265034
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010227804882, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 908265035}
+  - component: {fileID: 908265038}
+  - component: {fileID: 908265037}
+  - component: {fileID: 908265036}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &908265035
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011269656230, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  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_Children:
+  - {fileID: 1823223176}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!114 &908265036
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014216839898, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &908265037
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010120010546, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &908265038
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 223000012797831518, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 25
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!1 &1021652607
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013742896850, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1021652608}
+  - component: {fileID: 1021652610}
+  - component: {fileID: 1021652609}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1021652608
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011107200876, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+  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: 1705366097}
+  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 &1021652609
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010302251204, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 35a333d34c953b74c89517a378b697fd, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1021652610
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011168970398, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+--- !u!1 &1040864814
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012379347228, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1040864815}
+  - component: {fileID: 1040864819}
+  - component: {fileID: 1040864818}
+  - component: {fileID: 1040864817}
+  - component: {fileID: 1040864816}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1040864815
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013155699428, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  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:
+  - {fileID: 74000607}
+  m_Father: {fileID: 1679962176}
+  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 &1040864816
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013054162454, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1040864817
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012079054058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+--- !u!114 &1040864818
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013380272794, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &1040864819
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010316493756, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 119604262}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 1
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.1
+  m_ScrollSensitivity: 10
+  m_Viewport: {fileID: 74000607}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 560162636}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 1
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1 &1047447785
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1047447790}
+  - component: {fileID: 1047447789}
+  - component: {fileID: 1047447788}
+  - component: {fileID: 1047447787}
+  - component: {fileID: 1047447786}
+  m_Layer: 0
+  m_Name: Camera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1047447786
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!124 &1047447787
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!92 &1047447788
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!20 &1047447789
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.29411763, g: 0.29411763, b: 0.29411763, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1047447790
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1062076836
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010304022808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1062076837}
+  - component: {fileID: 1062076839}
+  - component: {fileID: 1062076838}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1062076837
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012050639918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+  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: 1705366097}
+  m_RootOrder: 1
+  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 &1062076838
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014236819058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 7dfc2e1472ac84e1bb749a8a9f934483, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Forward Geocoding
+--- !u!222 &1062076839
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013946530584, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+--- !u!1 &1251500800
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011213778780, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1251500801}
+  - component: {fileID: 1251500804}
+  - component: {fileID: 1251500803}
+  - component: {fileID: 1251500802}
+  - component: {fileID: 784465565}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1251500801
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010522313572, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  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:
+  - {fileID: 651160274}
+  - {fileID: 1798115507}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -137.4}
+  m_SizeDelta: {x: -108, y: 59.200012}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1251500802
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010055122868, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1251500803}
+  m_TextComponent: {fileID: 1798115508}
+  m_Placeholder: {fileID: 651160275}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 1.7
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &1251500803
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013882063980, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78676474, g: 0.78676474, b: 0.78676474, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1251500804
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011135710870, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+--- !u!1 &1441675072
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1441675075}
+  - component: {fileID: 1441675074}
+  - component: {fileID: 1441675073}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1441675073
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &1441675074
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &1441675075
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1679962175
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011098435040, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1679962176}
+  - component: {fileID: 1679962178}
+  - component: {fileID: 1679962177}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1679962176
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013901768082, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+  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:
+  - {fileID: 1040864815}
+  - {fileID: 438836052}
+  - {fileID: 560162635}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 2
+  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: -85.049995}
+  m_SizeDelta: {x: -106.600006, y: -223.5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1679962177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013974418978, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.99215686, g: 0.99215686, b: 0.99215686, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1679962178
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012775294268, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+--- !u!1 &1705366096
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012992477582, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1705366097}
+  - component: {fileID: 1705366099}
+  - component: {fileID: 1705366098}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1705366097
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013867893554, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+  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:
+  - {fileID: 1021652608}
+  - {fileID: 1062076837}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -33}
+  m_SizeDelta: {x: 0, y: 66.100006}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1705366098
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012459039884, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137257, g: 0.69803923, b: 0.81568635, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1705366099
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012728204416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+--- !u!1 &1798115506
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013422819282, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1798115507}
+  - component: {fileID: 1798115509}
+  - component: {fileID: 1798115508}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1798115507
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010496760426, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+  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: 1251500801}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 370.17, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1798115508
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011337787522, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &1798115509
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011961113724, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+--- !u!1 &1823223175
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000014083494258, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1823223176}
+  - component: {fileID: 1823223178}
+  - component: {fileID: 1823223177}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1823223176
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010309437278, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+  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:
+  - {fileID: 1705366097}
+  - {fileID: 1251500801}
+  - {fileID: 1679962176}
+  m_Father: {fileID: 908265035}
+  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 &1823223177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012738601650, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 00292e5d44a244c4180bdaecec8dc7e8, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1823223178
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013271042504, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ForwardGeocoder.unity.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ForwardGeocoder.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9b745ee5d048d867a294c0f09e4f125908b498ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ForwardGeocoder.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9683d5465276540cd9a4c9e89d931293
+timeCreated: 1521496787
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/LocationProvider.unity b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/LocationProvider.unity
new file mode 100644
index 0000000000000000000000000000000000000000..5c1edcf2ac57ea9a69418e818512549e1905ddc7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/LocationProvider.unity
@@ -0,0 +1,2376 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641252, b: 0.574817, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &4433748
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4433749}
+  - component: {fileID: 4433751}
+  - component: {fileID: 4433750}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4433749
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 4433748}
+  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: 1587024385}
+  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: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &4433750
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 4433748}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &4433751
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 4433748}
+--- !u!1 &51652259
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1547511233063230, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 51652261}
+  - component: {fileID: 51652260}
+  m_Layer: 0
+  m_Name: DefaultDeviceLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &51652260
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114511931985414354, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 51652259}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a38712e93231418a84665190b8473d0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _desiredAccuracyInMeters: 1
+  _updateDistanceInMeters: 0.5
+  _updateTimeInMilliSeconds: 500
+  _userHeadingSmoothing: {fileID: 1817388423}
+  _deviceOrientationSmoothing: {fileID: 668206300}
+  _editorDebuggingOnly:
+    _mockUnityInputLocation: 1
+    _locationLogFile: {fileID: 4900000, guid: 5e6bb7224cef35c4788a4817b1c9778d, type: 3}
+--- !u!4 &51652261
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4298281135474838, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 51652259}
+  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:
+  - {fileID: 1643236479}
+  - {fileID: 974291643}
+  - {fileID: 740930902}
+  - {fileID: 1817388422}
+  - {fileID: 1032577427}
+  - {fileID: 1165220200}
+  - {fileID: 655763303}
+  - {fileID: 668206299}
+  m_Father: {fileID: 506430735}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &263442454
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1560769821367572, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 263442456}
+  - component: {fileID: 263442455}
+  m_Layer: 0
+  m_Name: AndroidDeviceLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!114 &263442455
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114312242556060558, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 263442454}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d3d557417079b1446999d2d86ff71dfb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _updateDistanceInMeters: 0.5
+  _updateTimeInMilliSeconds: 500
+--- !u!4 &263442456
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4384223496714738, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 263442454}
+  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: 506430735}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &295714336
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 295714338}
+  - component: {fileID: 295714337}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &295714337
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 295714336}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 0.5
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &295714338
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 295714336}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &424127797
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 424127798}
+  - component: {fileID: 424127800}
+  - component: {fileID: 424127799}
+  - component: {fileID: 424127801}
+  m_Layer: 5
+  m_Name: LocationProviderLogText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &424127798
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 424127797}
+  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: 1304608539}
+  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, y: 0}
+--- !u!114 &424127799
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 424127797}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 27
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: waiting on location provider ...
+--- !u!222 &424127800
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 424127797}
+--- !u!114 &424127801
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 424127797}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -900027084, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 1, g: 1, b: 1, a: 0.5}
+  m_EffectDistance: {x: 0.5, y: -0.5}
+  m_UseGraphicAlpha: 0
+--- !u!1 &503300257
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 503300258}
+  - component: {fileID: 503300260}
+  - component: {fileID: 503300259}
+  - component: {fileID: 503300261}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &503300258
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 503300257}
+  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: 1086928929}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -10.9, y: -0.5}
+  m_SizeDelta: {x: -28, y: -3}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &503300259
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 503300257}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: start logging
+--- !u!222 &503300260
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 503300257}
+--- !u!114 &503300261
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 503300257}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -900027084, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 1, g: 1, b: 1, a: 0.5}
+  m_EffectDistance: {x: 0.5, y: -0.5}
+  m_UseGraphicAlpha: 1
+--- !u!1 &506430733
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1605400046471130, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 506430735}
+  - component: {fileID: 506430734}
+  m_Layer: 0
+  m_Name: LocationProviderFactory
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &506430734
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114834956557871126, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 506430733}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b55f37f9a6f7e44f7bb35e6bc3863847, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  mapManager: {fileID: 1411663281}
+  _deviceLocationProviderUnity: {fileID: 51652260}
+  _deviceLocationProviderAndroid: {fileID: 263442455}
+  _editorLocationProvider: {fileID: 1651943563}
+  _transformLocationProvider: {fileID: 1740896380}
+  _dontDestroyOnLoad: 0
+--- !u!4 &506430735
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4806497037511362, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 506430733}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -18.677399, y: 12.257265, z: 21.646572}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 51652261}
+  - {fileID: 1281356080}
+  - {fileID: 1740896381}
+  - {fileID: 263442456}
+  - {fileID: 1651943562}
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &536971210
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 536971212}
+  - component: {fileID: 536971211}
+  m_Layer: 0
+  m_Name: LogLocationProviderData
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &536971211
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 536971210}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b1e59fc6e7b8a20469944d48968f397f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _logText: {fileID: 424127799}
+  _logToggle: {fileID: 1086928930}
+--- !u!4 &536971212
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 536971210}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -19.623516, y: 0, z: -1.3808823}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &541353170
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 541353175}
+  - component: {fileID: 541353174}
+  - component: {fileID: 541353173}
+  - component: {fileID: 541353172}
+  - component: {fileID: 541353171}
+  m_Layer: 0
+  m_Name: Position
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &541353171
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 541353170}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9ae53785b0839d54aae88d6fc40b8f7a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!23 &541353172
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 541353170}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: d55ccb0db00e54a1696c1e96094d706d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!135 &541353173
+SphereCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 541353170}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &541353174
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 541353170}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &541353175
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 541353170}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 561771269}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &561771267
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 561771269}
+  m_Layer: 0
+  m_Name: Player
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &561771269
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 561771267}
+  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:
+  - {fileID: 541353175}
+  - {fileID: 1383156768}
+  - {fileID: 1972204561}
+  - {fileID: 1390435045}
+  m_Father: {fileID: 0}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &655763301
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1072194836493600, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 655763303}
+  - component: {fileID: 655763302}
+  m_Layer: 0
+  m_Name: OrientationSmoothingLowPass
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &655763302
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114665743543917518, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 655763301}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5bc20e719eeb82d448d4698d29d526c0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 7
+  _smoothingFactor: 0.5
+--- !u!4 &655763303
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4547357477629274, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 655763301}
+  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: 51652261}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &668206298
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 668206299}
+  - component: {fileID: 668206300}
+  m_Layer: 0
+  m_Name: OrientationSmoothingEMA
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &668206299
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 668206298}
+  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: 51652261}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &668206300
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 668206298}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 26ab886ba5422c248b693e60311088c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!1 &740930901
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1359982225887012, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 740930902}
+  - component: {fileID: 740930903}
+  m_Layer: 0
+  m_Name: HeadingSmoothingLowPass
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &740930902
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4976591158707796, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 740930901}
+  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: 51652261}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &740930903
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114889913300336898, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 740930901}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5bc20e719eeb82d448d4698d29d526c0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 2
+  _smoothingFactor: 0.009999999776482582
+--- !u!1 &974291642
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1882429956169314, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 974291643}
+  - component: {fileID: 974291644}
+  m_Layer: 0
+  m_Name: HeadingSmoothingAverage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &974291643
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4698310142003876, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 974291642}
+  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: 51652261}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &974291644
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114924954806116516, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 974291642}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6843ccbf70c208645a89b4c8c37a4ecf, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!1 &1032577426
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1138706396882392, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1032577427}
+  - component: {fileID: 1032577428}
+  m_Layer: 0
+  m_Name: OrientationSmoothingNoOperation
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1032577427
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4040343670449964, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1032577426}
+  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: 51652261}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1032577428
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114050834106129140, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1032577426}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1ea49ff9cb53e9b44b5fa981d0009588, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!1 &1086928928
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1086928929}
+  - component: {fileID: 1086928930}
+  m_Layer: 5
+  m_Name: LoggingToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1086928929
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1086928928}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 2, y: 2, z: 1}
+  m_Children:
+  - {fileID: 1587024385}
+  - {fileID: 503300258}
+  m_Father: {fileID: 1304608539}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 20}
+  m_SizeDelta: {x: 120, y: 20}
+  m_Pivot: {x: 1, y: 0}
+--- !u!114 &1086928930
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1086928928}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1587024386}
+  toggleTransition: 1
+  graphic: {fileID: 4433750}
+  m_Group: {fileID: 0}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 0
+--- !u!1 &1165220199
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1461356201740360, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1165220200}
+  - component: {fileID: 1165220201}
+  m_Layer: 0
+  m_Name: OrientationSmoothingAverage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1165220200
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4657526369587342, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1165220199}
+  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: 51652261}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1165220201
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114585386640868846, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1165220199}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6843ccbf70c208645a89b4c8c37a4ecf, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 10
+--- !u!1 &1281356079
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1126074346445138, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1281356080}
+  - component: {fileID: 1281356081}
+  m_Layer: 0
+  m_Name: EditorLocationArrayProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1281356080
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4571334280868920, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1281356079}
+  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: 506430735}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1281356081
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114189903949029994, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1281356079}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6b5c815d91f9d4c3690891f3ed4c3162, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 1
+  _sendEvent: 0
+  _latitudeLongitude:
+  - 48.859489, 2.32000
+  - 48.859489, 2.32015
+  - 48.859489, 2.32030
+  - 48.859489, 2.32045
+  - 48.859489, 2.32060
+  _heading: 112
+--- !u!1 &1304608535
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1304608539}
+  - component: {fileID: 1304608538}
+  - component: {fileID: 1304608537}
+  - component: {fileID: 1304608536}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1304608536
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1304608535}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &1304608537
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1304608535}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 400
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 600, y: 800}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 441
+  m_DefaultSpriteDPI: 441
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &1304608538
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1304608535}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &1304608539
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1304608535}
+  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_Children:
+  - {fileID: 424127798}
+  - {fileID: 1086928929}
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!1 &1383156764
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1383156768}
+  - component: {fileID: 1383156767}
+  - component: {fileID: 1383156766}
+  - component: {fileID: 1383156765}
+  - component: {fileID: 1383156769}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1383156765
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1383156764}
+  m_Enabled: 1
+--- !u!124 &1383156766
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1383156764}
+  m_Enabled: 1
+--- !u!20 &1383156767
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1383156764}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1383156768
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1383156764}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 50, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 561771269}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!114 &1383156769
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1383156764}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 061d2afb48ace4fd19611279b6cf732f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _useDeviceOrientation: 0
+  _subtractUserHeading: 0
+  _rotationFollowFactor: 2
+  _rotateZ: 0
+  _useNegativeAngle: 0
+  _useTransformLocationProvider: 0
+--- !u!1 &1390435044
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1390435045}
+  - component: {fileID: 1390435050}
+  - component: {fileID: 1390435049}
+  - component: {fileID: 1390435048}
+  - component: {fileID: 1390435047}
+  m_Layer: 0
+  m_Name: UserHeading
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1390435045
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1390435044}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 1.1, z: 0}
+  m_LocalScale: {x: 1, y: 1.0000005, z: 1.0000005}
+  m_Children: []
+  m_Father: {fileID: 561771269}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!114 &1390435047
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1390435044}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9ae53785b0839d54aae88d6fc40b8f7a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!23 &1390435048
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1390435044}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 9cd87e4a7579b3c4e85d198cf4d7f65f, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!64 &1390435049
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1390435044}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Convex: 0
+  m_CookingOptions: 14
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &1390435050
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1390435044}
+  m_Mesh: {fileID: 1856438662}
+--- !u!1 &1411663280
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1411663282}
+  - component: {fileID: 1411663281}
+  - component: {fileID: 1411663284}
+  - component: {fileID: 1411663283}
+  - component: {fileID: 1411663286}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1411663281
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1411663280}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _initializeOnStart: 0
+  _options:
+    locationOptions:
+      latitudeLongitude: 48.85825,2.29450
+      zoom: 16
+    extentOptions:
+      extentType: 1
+      cameraBoundsOptions:
+        camera: {fileID: 1383156767}
+        visibleBuffer: 0
+        disposeBuffer: 0
+      rangeAroundCenterOptions:
+        west: 1
+        north: 1
+        east: 1
+        south: 1
+      rangeAroundTransformOptions:
+        targetTransform: {fileID: 0}
+        visibleBuffer: 0
+        disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 1
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 1
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        addCollider: 0
+        exaggerationFactor: 1
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames: []
+      _sourceType: 1
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Streets
+          Id: mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers: []
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+--- !u!4 &1411663282
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1411663280}
+  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: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1411663283
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1411663280}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b45b6cb0c94914eb6a1fac86abfc6aba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 1411663281}
+  timeTakenDuringLerp: 1
+--- !u!114 &1411663284
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1411663280}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 96f0fa82f89d64bb9a6524c72d538179, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 1411663281}
+--- !u!114 &1411663286
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1411663280}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 061d2afb48ace4fd19611279b6cf732f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _useDeviceOrientation: 0
+  _subtractUserHeading: 0
+  _rotationFollowFactor: 2
+  _rotateZ: 0
+  _useNegativeAngle: 0
+  _useTransformLocationProvider: 0
+--- !u!1001 &1425809359
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 7
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 7
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: '<b>Location Provider</b>
+
+
+        Debugging tool used for logging readings from device location provider.'
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Value
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 0.99999994
+      objectReference: {fileID: 0}
+    - target: {fileID: 1611603657303738, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+      propertyPath: m_Name
+      value: InfoCanvas
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1587024384
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1587024385}
+  - component: {fileID: 1587024387}
+  - component: {fileID: 1587024386}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1587024385
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1587024384}
+  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:
+  - {fileID: 4433749}
+  m_Father: {fileID: 1086928929}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 97.4, y: -10}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1587024386
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1587024384}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1587024387
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1587024384}
+--- !u!1 &1643236478
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1547503680519440, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1643236479}
+  - component: {fileID: 1643236480}
+  m_Layer: 0
+  m_Name: HeadingSmoothingNoOperation
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1643236479
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4327817087063852, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1643236478}
+  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: 51652261}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1643236480
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114545591127719896, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1643236478}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1ea49ff9cb53e9b44b5fa981d0009588, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!1 &1651943561
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1334597763213690, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1651943562}
+  - component: {fileID: 1651943563}
+  m_Layer: 0
+  m_Name: EditorLocationProviderLocationLog
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1651943562
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4831568114114072, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1651943561}
+  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: 506430735}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1651943563
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114346689834948578, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1651943561}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c34c76d6349bc9844998f48d16f0d3bb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 0
+  _autoFireEvent: 1
+  _updateInterval: 0.5
+  _sendEvent: 0
+  _locationLogFile: {fileID: 4900000, guid: 5e6bb7224cef35c4788a4817b1c9778d, type: 3}
+--- !u!1 &1740896379
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1769576109208534, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1740896381}
+  - component: {fileID: 1740896380}
+  m_Layer: 0
+  m_Name: TransformLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1740896380
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114061583707577078, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1740896379}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a034c4eeb3293418aab101c1895844a4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 0
+  _autoFireEvent: 0
+  _updateInterval: 0
+  _sendEvent: 0
+  _targetTransform: {fileID: 1411663282}
+--- !u!4 &1740896381
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 4197629483137308, guid: fa49ad38da3e540fca722d2ca9e1d026,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1740896379}
+  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: 506430735}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1817388421
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1817388422}
+  - component: {fileID: 1817388423}
+  m_Layer: 0
+  m_Name: HeadingSmoothingEMA
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1817388422
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1817388421}
+  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: 51652261}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1817388423
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1817388421}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 26ab886ba5422c248b693e60311088c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 10
+--- !u!43 &1856438662
+Mesh:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: Quad Instance
+  serializedVersion: 8
+  m_SubMeshes:
+  - serializedVersion: 2
+    firstByte: 0
+    indexCount: 6
+    topology: 0
+    baseVertex: 0
+    firstVertex: 0
+    vertexCount: 4
+    localAABB:
+      m_Center: {x: 0, y: 0.125, z: 0}
+      m_Extent: {x: 0.5, y: 1.375, z: 0}
+  m_Shapes:
+    vertices: []
+    shapes: []
+    channels: []
+    fullWeights: []
+  m_BindPose: []
+  m_BoneNameHashes: 
+  m_RootBoneNameHash: 0
+  m_MeshCompression: 0
+  m_IsReadable: 1
+  m_KeepVertices: 1
+  m_KeepIndices: 1
+  m_IndexFormat: 0
+  m_IndexBuffer: 000001000200010000000300
+  m_Skin: []
+  m_VertexData:
+    m_CurrentChannels: 139
+    m_VertexCount: 4
+    m_Channels:
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 3
+    - stream: 0
+      offset: 12
+      format: 0
+      dimension: 3
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 24
+      format: 0
+      dimension: 2
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 32
+      format: 0
+      dimension: 4
+    m_DataSize: 192
+    _typelessdata: 000000bf0000a0bf000000000000000000000000000080bf00000000000000000000803f0000000000000000000080bf000000000000c03f000000800000000000000000000080bf0000803f0000803f0000803f0000000000000000000080bf0000003f0000a0bf000000000000000000000000000080bf0000803f000000000000803f0000000000000000000080bf000000000000c03f00000080000000000000000000000000000000000000803f0000803f0000000000000000000080bf
+  m_CompressedMesh:
+    m_Vertices:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_UV:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Normals:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Tangents:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Weights:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_NormalSigns:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_TangentSigns:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_FloatColors:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_BoneIndices:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Triangles:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_UVInfo: 0
+  m_LocalAABB:
+    m_Center: {x: 0, y: 0.125, z: 0}
+    m_Extent: {x: 0.5, y: 1.375, z: 0}
+  m_MeshUsageFlags: 0
+  m_BakedConvexCollisionMesh: 
+  m_BakedTriangleCollisionMesh: 
+  m_MeshOptimized: 1
+--- !u!1 &1972204560
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1972204561}
+  - component: {fileID: 1972204564}
+  - component: {fileID: 1972204563}
+  - component: {fileID: 1972204562}
+  - component: {fileID: 1972204565}
+  - component: {fileID: 1972204566}
+  m_Layer: 0
+  m_Name: DeviceOrientation
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1972204561
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1972204560}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 1, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 561771269}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!23 &1972204562
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1972204560}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 107ca5e7bb5e26f46b0ce09f5fc2e817, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!64 &1972204563
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1972204560}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Convex: 0
+  m_CookingOptions: 14
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &1972204564
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1972204560}
+  m_Mesh: {fileID: 1856438662}
+--- !u!114 &1972204565
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1972204560}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9ae53785b0839d54aae88d6fc40b8f7a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &1972204566
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1972204560}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 061d2afb48ace4fd19611279b6cf732f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _useDeviceOrientation: 1
+  _subtractUserHeading: 1
+  _rotationFollowFactor: 2
+  _rotateZ: 0
+  _useNegativeAngle: 0
+  _useTransformLocationProvider: 0
+--- !u!1 &2032640978
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2032640981}
+  - component: {fileID: 2032640980}
+  - component: {fileID: 2032640979}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &2032640979
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2032640978}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &2032640980
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2032640978}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &2032640981
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2032640978}
+  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: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/LocationProvider.unity.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/LocationProvider.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ccde1d419337ee1a23055870c5995113172e4aaf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/LocationProvider.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 12e74a80942ad194fb4ddd66ed099b5b
+timeCreated: 1524215094
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RasterTile.unity b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RasterTile.unity
new file mode 100644
index 0000000000000000000000000000000000000000..462ee78e653f8f972a1395c589fa17ae6bedc2d8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RasterTile.unity
@@ -0,0 +1,2722 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.37311918, g: 0.38073993, b: 0.358727, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &29830868
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012524931350, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 29830869}
+  - component: {fileID: 29830871}
+  - component: {fileID: 29830870}
+  m_Layer: 5
+  m_Name: InputField
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &29830869
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013239100144, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 29830868}
+  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: 810754447}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 0, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &29830870
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013078476636, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 29830868}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.72794116, g: 0.72794116, b: 0.72794116, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Search Location
+--- !u!222 &29830871
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012269050396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 29830868}
+--- !u!1 &34037539
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013422819282, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 34037540}
+  - component: {fileID: 34037542}
+  - component: {fileID: 34037541}
+  m_Layer: 5
+  m_Name: InputField
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &34037540
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010496760426, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 34037539}
+  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: 810754447}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: -20, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &34037541
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011337787522, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 34037539}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: San Francisco
+--- !u!222 &34037542
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011961113724, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 34037539}
+--- !u!1 &50838415
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 50838416}
+  m_Layer: 5
+  m_Name: Content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &50838416
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 50838415}
+  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:
+  - {fileID: 1173715193}
+  m_Father: {fileID: 424102028}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 40}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!1 &85139595
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 131982, guid: fe70c514328eea54a88e8d1ff3fb2352, type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 85139596}
+  - component: {fileID: 85139598}
+  - component: {fileID: 85139597}
+  m_Layer: 5
+  m_Name: Fill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &85139596
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22431982, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 85139595}
+  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: 1115990774}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 2.5000014, y: 0}
+  m_SizeDelta: {x: 5, y: 6}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &85139597
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 11431980, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 85139595}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.17165874, g: 0.9338235, b: 0.55536926, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &85139598
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22231978, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 85139595}
+--- !u!1 &175598152
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010227804882, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 175598156}
+  - component: {fileID: 175598155}
+  - component: {fileID: 175598154}
+  - component: {fileID: 175598153}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &175598153
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014216839898, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 175598152}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &175598154
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010120010546, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 175598152}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &175598155
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 223000012797831518, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 175598152}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 25
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &175598156
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011269656230, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 175598152}
+  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_Children:
+  - {fileID: 1854803113}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!1001 &207085209
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 116.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -92.602295
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 213
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 165.20459
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: -17
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: '<b>Raster Tile</b>
+
+
+        Uses a forward geocoder request (search a location by name, not coordinates)
+        to fetch a styled raster tile from. You can change the map styling in the
+        dropdown (and import your own through Mapbox Studio) . A new request is sent
+        whenever the zoom or style are changed, or when the user input field is edited.
+
+
+        See:
+
+        https://www.mapbox.com/help/define-style/ https://www.mapbox.com/api-documentation/maps/#retrieve-raster-tiles-from-styles'
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &268609460
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 268609461}
+  - component: {fileID: 268609463}
+  - component: {fileID: 268609462}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &268609461
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 268609460}
+  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: 857912880}
+  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: -7.5, y: -0.5}
+  m_SizeDelta: {x: -35, y: -13}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &268609462
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 268609460}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Option A
+--- !u!222 &268609463
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 268609460}
+--- !u!1 &372475314
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 372475315}
+  - component: {fileID: 372475317}
+  - component: {fileID: 372475316}
+  - component: {fileID: 372475318}
+  m_Layer: 5
+  m_Name: RasterBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &372475315
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 372475314}
+  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:
+  - {fileID: 724277014}
+  m_Father: {fileID: 1854803113}
+  m_RootOrder: 3
+  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: -85}
+  m_SizeDelta: {x: 0, y: -270}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &372475316
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 372475314}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.5808823, g: 0.5808823, b: 0.5808823, 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_Sprite: {fileID: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 0
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &372475317
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 372475314}
+--- !u!114 &372475318
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 372475314}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1254083943, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_AspectMode: 2
+  m_AspectRatio: 1
+--- !u!1 &424102027
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 424102028}
+  - component: {fileID: 424102031}
+  - component: {fileID: 424102030}
+  - component: {fileID: 424102029}
+  m_Layer: 5
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &424102028
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 424102027}
+  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:
+  - {fileID: 50838416}
+  m_Father: {fileID: 1086007396}
+  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: -18, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &424102029
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 424102027}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10917, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &424102030
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 424102027}
+--- !u!114 &424102031
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 424102027}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_ShowMaskGraphic: 0
+--- !u!1 &475058525
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 475058526}
+  - component: {fileID: 475058528}
+  - component: {fileID: 475058527}
+  m_Layer: 5
+  m_Name: Item Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &475058526
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 475058525}
+  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: 1173715193}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 10, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &475058527
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 475058525}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &475058528
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 475058525}
+--- !u!1 &724277013
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 724277014}
+  - component: {fileID: 724277016}
+  - component: {fileID: 724277015}
+  m_Layer: 5
+  m_Name: Raster
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &724277014
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 724277013}
+  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: 372475315}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &724277015
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 724277013}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!222 &724277016
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 724277013}
+--- !u!1 &743264054
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 743264055}
+  - component: {fileID: 743264057}
+  - component: {fileID: 743264056}
+  m_Layer: 5
+  m_Name: Item Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &743264055
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 743264054}
+  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: 1173715193}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 5, y: -0.5}
+  m_SizeDelta: {x: -30, y: -3}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &743264056
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 743264054}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Option A
+--- !u!222 &743264057
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 743264054}
+--- !u!1 &778545716
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 778545717}
+  - component: {fileID: 778545719}
+  - component: {fileID: 778545718}
+  m_Layer: 5
+  m_Name: Arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &778545717
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 778545716}
+  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: 857912880}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -15, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &778545718
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 778545716}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10915, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &778545719
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 778545716}
+--- !u!1 &810754446
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011213778780, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 810754447}
+  - component: {fileID: 810754451}
+  - component: {fileID: 810754450}
+  - component: {fileID: 810754449}
+  - component: {fileID: 810754448}
+  m_Layer: 5
+  m_Name: InputField
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &810754447
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010522313572, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 810754446}
+  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:
+  - {fileID: 29830869}
+  - {fileID: 34037540}
+  m_Father: {fileID: 1854803113}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -113}
+  m_SizeDelta: {x: -50, y: 60}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &810754448
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013402028214, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 810754446}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+--- !u!114 &810754449
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010055122868, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 810754446}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 810754450}
+  m_TextComponent: {fileID: 34037541}
+  m_Placeholder: {fileID: 29830870}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: San Francisco
+  m_CaretBlinkRate: 1.7
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &810754450
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013882063980, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 810754446}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78676474, g: 0.78676474, b: 0.78676474, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &810754451
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011135710870, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 810754446}
+--- !u!1 &857912879
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 857912880}
+  - component: {fileID: 857912883}
+  - component: {fileID: 857912882}
+  - component: {fileID: 857912881}
+  m_Layer: 5
+  m_Name: Dropdown
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &857912880
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 857912879}
+  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:
+  - {fileID: 268609461}
+  - {fileID: 778545717}
+  - {fileID: 1086007396}
+  m_Father: {fileID: 1854803113}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -180}
+  m_SizeDelta: {x: -50, y: 60}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &857912881
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 857912879}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 853051423, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 857912882}
+  m_Template: {fileID: 1086007396}
+  m_CaptionText: {fileID: 268609462}
+  m_CaptionImage: {fileID: 0}
+  m_ItemText: {fileID: 743264056}
+  m_ItemImage: {fileID: 0}
+  m_Value: 0
+  m_Options:
+    m_Options:
+    - m_Text: Option A
+      m_Image: {fileID: 0}
+    - m_Text: Option B
+      m_Image: {fileID: 0}
+    - m_Text: Option C
+      m_Image: {fileID: 0}
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Dropdown+DropdownEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &857912882
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 857912879}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &857912883
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 857912879}
+--- !u!1 &1047137955
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1047137958}
+  - component: {fileID: 1047137957}
+  - component: {fileID: 1047137956}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!114 &1047137956
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047137955}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &1047137957
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047137955}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &1047137958
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047137955}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1081432922
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1081432923}
+  m_Layer: 5
+  m_Name: Sliding Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1081432923
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1081432922}
+  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:
+  - {fileID: 1754990277}
+  m_Father: {fileID: 1384922112}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1086007395
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1086007396}
+  - component: {fileID: 1086007399}
+  - component: {fileID: 1086007398}
+  - component: {fileID: 1086007397}
+  m_Layer: 5
+  m_Name: Template
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &1086007396
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1086007395}
+  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:
+  - {fileID: 424102028}
+  - {fileID: 1384922112}
+  m_Father: {fileID: 857912880}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 2}
+  m_SizeDelta: {x: 0, y: 180}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &1086007397
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1086007395}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Content: {fileID: 50838416}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 2
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 424102028}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 1384922113}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 2
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &1086007398
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1086007395}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1086007399
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1086007395}
+--- !u!1 &1115990773
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 131974, guid: fe70c514328eea54a88e8d1ff3fb2352, type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1115990774}
+  m_Layer: 5
+  m_Name: FillArea
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1115990774
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22431974, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1115990773}
+  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:
+  - {fileID: 85139596}
+  m_Father: {fileID: 1983756121}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: -7.499997, y: 0}
+  m_SizeDelta: {x: -15, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1151550600
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1151550605}
+  - component: {fileID: 1151550604}
+  - component: {fileID: 1151550603}
+  - component: {fileID: 1151550602}
+  - component: {fileID: 1151550601}
+  m_Layer: 0
+  m_Name: Camera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1151550601
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1151550600}
+  m_Enabled: 1
+--- !u!124 &1151550602
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1151550600}
+  m_Enabled: 1
+--- !u!92 &1151550603
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1151550600}
+  m_Enabled: 1
+--- !u!20 &1151550604
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1151550600}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.29411763, g: 0.29411763, b: 0.29411763, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1151550605
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1151550600}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1173715192
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1173715193}
+  - component: {fileID: 1173715194}
+  m_Layer: 5
+  m_Name: Item
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1173715193
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1173715192}
+  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:
+  - {fileID: 1981150727}
+  - {fileID: 475058526}
+  - {fileID: 743264055}
+  m_Father: {fileID: 50838416}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 40}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1173715194
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1173715192}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1981150728}
+  toggleTransition: 1
+  graphic: {fileID: 475058527}
+  m_Group: {fileID: 0}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 1
+--- !u!1 &1203215278
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010304022808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1203215279}
+  - component: {fileID: 1203215281}
+  - component: {fileID: 1203215280}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1203215279
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012050639918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1203215278}
+  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: 1207442057}
+  m_RootOrder: 1
+  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 &1203215280
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014236819058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1203215278}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 7dfc2e1472ac84e1bb749a8a9f934483, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Fetch Raster Tile
+--- !u!222 &1203215281
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013946530584, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1203215278}
+--- !u!1 &1207442056
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012992477582, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1207442057}
+  - component: {fileID: 1207442059}
+  - component: {fileID: 1207442058}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1207442057
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013867893554, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1207442056}
+  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:
+  - {fileID: 2138126909}
+  - {fileID: 1203215279}
+  m_Father: {fileID: 1854803113}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -37.5}
+  m_SizeDelta: {x: 0, y: 66.100006}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1207442058
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012459039884, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1207442056}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137257, g: 0.69803923, b: 0.81568635, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1207442059
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012728204416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1207442056}
+--- !u!1 &1384922111
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1384922112}
+  - component: {fileID: 1384922115}
+  - component: {fileID: 1384922114}
+  - component: {fileID: 1384922113}
+  m_Layer: 5
+  m_Name: Scrollbar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1384922112
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1384922111}
+  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:
+  - {fileID: 1081432923}
+  m_Father: {fileID: 1086007396}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 0}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &1384922113
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1384922111}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1754990278}
+  m_HandleRect: {fileID: 1754990277}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 0.2
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &1384922114
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1384922111}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1384922115
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1384922111}
+--- !u!1 &1532915798
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 131978, guid: fe70c514328eea54a88e8d1ff3fb2352, type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1532915799}
+  - component: {fileID: 1532915801}
+  - component: {fileID: 1532915800}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1532915799
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22431978, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1532915798}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.8, y: 1.6, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1738506252}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 34.11, y: -3.44}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1532915800
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 11431976, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1532915798}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1532915801
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22231974, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1532915798}
+--- !u!1 &1542120922
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1542120924}
+  - component: {fileID: 1542120923}
+  m_Layer: 0
+  m_Name: RasterTile
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1542120923
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1542120922}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: baa72cd3a86b44e2e9923f1bfb635675, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  _searchLocation: {fileID: 810754448}
+  _zoomSlider: {fileID: 1983756122}
+  _stylesDropdown: {fileID: 857912881}
+  _imageContainer: {fileID: 724277015}
+  _latLon: 37.7648, -122.463
+--- !u!4 &1542120924
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1542120922}
+  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}
+--- !u!1 &1738506251
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 131984, guid: fe70c514328eea54a88e8d1ff3fb2352, type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1738506252}
+  m_Layer: 5
+  m_Name: SlideArea
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1738506252
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22431984, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1738506251}
+  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:
+  - {fileID: 1532915799}
+  m_Father: {fileID: 1983756121}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -3.8, y: 0}
+  m_SizeDelta: {x: -12.5, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1754990276
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1754990277}
+  - component: {fileID: 1754990279}
+  - component: {fileID: 1754990278}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1754990277
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1754990276}
+  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: 1081432923}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0.2}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1754990278
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1754990276}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1754990279
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1754990276}
+--- !u!1 &1785773619
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 131980, guid: fe70c514328eea54a88e8d1ff3fb2352, type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1785773620}
+  - component: {fileID: 1785773622}
+  - component: {fileID: 1785773621}
+  m_Layer: 5
+  m_Name: BG
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1785773620
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22431980, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1785773619}
+  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: 1983756121}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: -5.0000014, y: 0}
+  m_SizeDelta: {x: -10, y: 6}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1785773621
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 11431978, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1785773619}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.6764706, g: 0.6764706, b: 0.6764706, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1785773622
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22231976, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1785773619}
+--- !u!1 &1854803112
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000014083494258, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1854803113}
+  - component: {fileID: 1854803115}
+  - component: {fileID: 1854803114}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1854803113
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010309437278, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1854803112}
+  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:
+  - {fileID: 1207442057}
+  - {fileID: 810754447}
+  - {fileID: 857912880}
+  - {fileID: 372475315}
+  - {fileID: 1983756121}
+  m_Father: {fileID: 175598156}
+  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 &1854803114
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012738601650, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1854803112}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 00292e5d44a244c4180bdaecec8dc7e8, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1854803115
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013271042504, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1854803112}
+--- !u!1 &1911878830
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 131976, guid: fe70c514328eea54a88e8d1ff3fb2352, type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1983756121}
+  - component: {fileID: 1983756122}
+  m_Layer: 5
+  m_Name: ZoomSlider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1981150726
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1981150727}
+  - component: {fileID: 1981150729}
+  - component: {fileID: 1981150728}
+  m_Layer: 5
+  m_Name: Item Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1981150727
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1981150726}
+  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: 1173715193}
+  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 &1981150728
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1981150726}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+  m_RaycastTarget: 1
+  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: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1981150729
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1981150726}
+--- !u!224 &1983756121
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 22431976, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1911878830}
+  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:
+  - {fileID: 1785773620}
+  - {fileID: 1115990774}
+  - {fileID: 1738506252}
+  m_Father: {fileID: 1854803113}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 20}
+  m_SizeDelta: {x: -200, y: 22}
+  m_Pivot: {x: 0.5, y: 0}
+--- !u!114 &1983756122
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 11431974, guid: fe70c514328eea54a88e8d1ff3fb2352,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1911878830}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -113659843, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1532915800}
+  m_FillRect: {fileID: 85139596}
+  m_HandleRect: {fileID: 1532915799}
+  m_Direction: 0
+  m_MinValue: 2
+  m_MaxValue: 18
+  m_WholeNumbers: 1
+  m_Value: 12
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1 &2138126908
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013742896850, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2138126909}
+  - component: {fileID: 2138126911}
+  - component: {fileID: 2138126910}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2138126909
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011107200876, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2138126908}
+  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: 1207442057}
+  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 &2138126910
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010302251204, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2138126908}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name:
+  m_EditorClassIdentifier:
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 35a333d34c953b74c89517a378b697fd, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &2138126911
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011168970398, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2138126908}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RasterTile.unity.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RasterTile.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5bae198c74e7f7f326e4b84f2248b37093053545
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RasterTile.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 893d0b4deb5544335b798dafd12ff9a7
+timeCreated: 1521496787
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RemoveZ-Fighting.unity b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RemoveZ-Fighting.unity
new file mode 100644
index 0000000000000000000000000000000000000000..e44ce252811782f0cf9bef6ee3b423e4f0b20f1d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RemoveZ-Fighting.unity
@@ -0,0 +1,1496 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4465785, g: 0.49641252, b: 0.574817, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!21 &123756757
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1 &221323885
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 221323889}
+  - component: {fileID: 221323888}
+  - component: {fileID: 221323887}
+  - component: {fileID: 221323886}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &221323886
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 221323885}
+  m_Enabled: 1
+--- !u!124 &221323887
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 221323885}
+  m_Enabled: 1
+--- !u!20 &221323888
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 221323885}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &221323889
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 221323885}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &240255710
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].GoModifiers.Array.size
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.size
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: -1.5862975
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4187505068457818, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].GoModifiers.Array.data[0]
+      value: 
+      objectReference: {fileID: 11400000, guid: 68f1c8a1aa79a4a7cb5af3c591ccbea9,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].presetFeatureType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].filterOptions._selectedLayerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].honorBuildingIdSetting
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].presetFeatureType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1511541444}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 504114181}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.texturingType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 439076235}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1398474139}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorPalette
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.texturingType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1613046680}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 582928936}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 59ca6a03aa1ab4d5797fc37bc0f37797,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _tileProvider
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _previewOptions.isPreviewEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.sourceId
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.isActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.sublayerName
+      value: Buildings
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.geometryType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.layerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].coreOptions.snapToTerrain
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.Width
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.MiterLimit
+      value: 0.2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.RoundLimit
+      value: 1.05
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.JoinType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].lineGeometryOptions.CapType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].filterOptions._selectedLayerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions._selectedLayerName
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.extrusionType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.propertyName
+      value: height
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.propertyDescription
+      value: Number. Height of building or part of building.
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.extrusionScaleFactor
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.style
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.lightStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.darkStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.r
+      value: 0.1764706
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.g
+      value: 0.8509805
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.colorStyleColor.a
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.texturingType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 123756757}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 523650973}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].performanceOptions.isEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].performanceOptions.entityPerCoroutine
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].honorBuildingIdSetting
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].buildingsWithUniqueIds
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.isActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.sublayerName
+      value: Roads
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.geometryType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.layerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].coreOptions.snapToTerrain
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.Width
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.MiterLimit
+      value: 0.2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.RoundLimit
+      value: 1.05
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.JoinType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].lineGeometryOptions.CapType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions._selectedLayerName
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.extrusionType
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.propertyName
+      value: height
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.maximumHeight
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.extrusionScaleFactor
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.style
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.lightStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.darkStyleOpacity
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.r
+      value: 0.1764706
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.g
+      value: 0.8509805
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.colorStyleColor.a
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].performanceOptions.isEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].performanceOptions.entityPerCoroutine
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].extrusionOptions.maximumHeight
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].extrusionOptions.propertyDescription
+      value: Number. Height of building or part of building.
+      objectReference: {fileID: 0}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].materialOptions.customStyleOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+        type: 2}
+    - target: {fileID: 114196496685157712, guid: 5bb46bae81bf04608ac699be504c5e66,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[1].buildingsWithUniqueIds
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 5bb46bae81bf04608ac699be504c5e66, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &439076235
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 51c66b5db8c2a4b24a57320af1b9ccba, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 350555390fc65468c902fcfa4326a7ae, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 78882085082044e13b4522161b27799e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &504114181
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &523650973
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: eef5c5fe165da49da9d0ee7a33401d97, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &582928936
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
+--- !u!1 &874846281
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 874846284}
+  - component: {fileID: 874846283}
+  - component: {fileID: 874846282}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &874846282
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 874846281}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &874846283
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 874846281}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &874846284
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 874846281}
+  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: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!21 &1398474139
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: d2a73dbb08d7ca840a90744f29331d48, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b1e095fa97e0735448d692ea5d0f52b5, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: 916910a2b0b27a440970a3f9c651e595, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: d80341d897c46944dac3b14c8311e585, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 523830272e1419a4eae6d3f62dc02761, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1511541444
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1613046680
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DarkTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
+--- !u!1 &2004214922
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2004214924}
+  - component: {fileID: 2004214923}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &2004214923
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2004214922}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &2004214924
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2004214922}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RemoveZ-Fighting.unity.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RemoveZ-Fighting.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f8d04d8e8dcd2806c10691036493e0ea296330f1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/RemoveZ-Fighting.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7cc595021f9e346b2a073e4503d5978a
+timeCreated: 1532996438
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ReverseGeocoder.unity b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ReverseGeocoder.unity
new file mode 100644
index 0000000000000000000000000000000000000000..6399d82719a26cc44321655919ec8cb64e3f0f3b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ReverseGeocoder.unity
@@ -0,0 +1,1817 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.37311918, g: 0.38073993, b: 0.358727, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &74000606
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012090673836, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 74000607}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &74000607
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010221606746, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 74000606}
+  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:
+  - {fileID: 119604262}
+  m_Father: {fileID: 1040864815}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &119604261
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012057558918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 119604262}
+  - component: {fileID: 119604264}
+  - component: {fileID: 213199782}
+  - component: {fileID: 119604263}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &119604262
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012836491396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  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: 74000607}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 453, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &119604263
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013123592098, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!222 &119604264
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012826868666, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+--- !u!1001 &127660048
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 116.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -82.11649
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 213
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 144.23299
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>Reverse Geocoder</b>\n\nThis example showcases leveraging Mapbox\u2019s
+        Search API to do a reverse geocoding request, which means querying a place
+        by latitude and longitude string to get all of the features associated with
+        that location. A new request is sent every time the user input field is edited.\n\nVisit
+        Mapbox\u2019s API documentation for more information."
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: -17
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!114 &213199782
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014054412960, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!1 &328319147
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011719224788, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 328319148}
+  - component: {fileID: 328319150}
+  - component: {fileID: 328319149}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &328319148
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012580838024, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+  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: 586426361}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: -0.00000059604645, y: 0}
+  m_SizeDelta: {x: 4.8, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &328319149
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012761145808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &328319150
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000014233813864, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+--- !u!1 &438836051
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011716168404, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 438836052}
+  - component: {fileID: 438836054}
+  - component: {fileID: 438836053}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &438836052
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012528707734, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+  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: 1679962176}
+  m_RootOrder: 1
+  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 &438836053
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013692607888, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78039217, g: 0.78039217, b: 0.78039217, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &438836054
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012640390926, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+--- !u!1 &560162634
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013285438004, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 560162635}
+  - component: {fileID: 560162638}
+  - component: {fileID: 560162637}
+  - component: {fileID: 560162636}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &560162635
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013769072932, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  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:
+  - {fileID: 586426361}
+  m_Father: {fileID: 1679962176}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 7.300049, y: 0.00000011920929}
+  m_SizeDelta: {x: 7.399994, y: -10}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &560162636
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011803193416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 328319149}
+  m_HandleRect: {fileID: 328319148}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &560162637
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013709220146, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.8161765, g: 0.8101752, b: 0.8101752, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &560162638
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012682013954, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+--- !u!1 &586426360
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013952414408, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 586426361}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &586426361
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010601873538, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 586426360}
+  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:
+  - {fileID: 328319148}
+  m_Father: {fileID: 560162635}
+  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: -4.8, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &651160273
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012524931350, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 651160274}
+  - component: {fileID: 651160276}
+  - component: {fileID: 651160275}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &651160274
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013239100144, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+  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: 1251500801}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 234.4, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &651160275
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013078476636, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.72794116, g: 0.72794116, b: 0.72794116, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Latitude, Longitude
+--- !u!222 &651160276
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012269050396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+--- !u!1 &833661034
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 833661036}
+  - component: {fileID: 833661037}
+  m_Layer: 0
+  m_Name: ReverseGeocoder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &833661036
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 833661034}
+  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}
+--- !u!114 &833661037
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 833661034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d99f8e76925b24aaeaa5f9e5e23f3085, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _searchLocation: {fileID: 1251500805}
+  _resultsText: {fileID: 213199782}
+--- !u!1 &908265034
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010227804882, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 908265035}
+  - component: {fileID: 908265038}
+  - component: {fileID: 908265037}
+  - component: {fileID: 908265036}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &908265035
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011269656230, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  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_Children:
+  - {fileID: 1823223176}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!114 &908265036
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014216839898, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &908265037
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010120010546, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &908265038
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 223000012797831518, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 25
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!1 &1021652607
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013742896850, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1021652608}
+  - component: {fileID: 1021652610}
+  - component: {fileID: 1021652609}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1021652608
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011107200876, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+  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: 1705366097}
+  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 &1021652609
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010302251204, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 35a333d34c953b74c89517a378b697fd, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1021652610
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011168970398, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+--- !u!1 &1040864814
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012379347228, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1040864815}
+  - component: {fileID: 1040864819}
+  - component: {fileID: 1040864818}
+  - component: {fileID: 1040864817}
+  - component: {fileID: 1040864816}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1040864815
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013155699428, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  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:
+  - {fileID: 74000607}
+  m_Father: {fileID: 1679962176}
+  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 &1040864816
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013054162454, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1040864817
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012079054058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+--- !u!114 &1040864818
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013380272794, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &1040864819
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010316493756, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 119604262}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 1
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.1
+  m_ScrollSensitivity: 10
+  m_Viewport: {fileID: 74000607}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 560162636}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 1
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1 &1047447785
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1047447790}
+  - component: {fileID: 1047447789}
+  - component: {fileID: 1047447788}
+  - component: {fileID: 1047447787}
+  - component: {fileID: 1047447786}
+  m_Layer: 0
+  m_Name: Camera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1047447786
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!124 &1047447787
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!92 &1047447788
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!20 &1047447789
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.29411763, g: 0.29411763, b: 0.29411763, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1047447790
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1062076836
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010304022808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1062076837}
+  - component: {fileID: 1062076839}
+  - component: {fileID: 1062076838}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1062076837
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012050639918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+  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: 1705366097}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0.0000038146973, y: -0.0000038146973}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1062076838
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014236819058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 7dfc2e1472ac84e1bb749a8a9f934483, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Reverse Geocoding
+--- !u!222 &1062076839
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013946530584, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+--- !u!1 &1251500800
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011213778780, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1251500801}
+  - component: {fileID: 1251500804}
+  - component: {fileID: 1251500803}
+  - component: {fileID: 1251500802}
+  - component: {fileID: 1251500805}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1251500801
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010522313572, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  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:
+  - {fileID: 651160274}
+  - {fileID: 1798115507}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 54, y: -107.79999}
+  m_SizeDelta: {x: -108, y: 60}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &1251500802
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010055122868, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1251500803}
+  m_TextComponent: {fileID: 1798115508}
+  m_Placeholder: {fileID: 651160275}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 1.7
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &1251500803
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013882063980, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78676474, g: 0.78676474, b: 0.78676474, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1251500804
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011135710870, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+--- !u!114 &1251500805
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 872cc2c04f0c94a39a7647e7ed7667e1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &1441675072
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1441675075}
+  - component: {fileID: 1441675074}
+  - component: {fileID: 1441675073}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1441675073
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &1441675074
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &1441675075
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1679962175
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011098435040, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1679962176}
+  - component: {fileID: 1679962178}
+  - component: {fileID: 1679962177}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1679962176
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013901768082, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+  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:
+  - {fileID: 1040864815}
+  - {fileID: 438836052}
+  - {fileID: 560162635}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 2
+  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: -85.049995}
+  m_SizeDelta: {x: -106.600006, y: -223.5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1679962177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013974418978, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.99215686, g: 0.99215686, b: 0.99215686, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1679962178
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012775294268, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+--- !u!1 &1705366096
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012992477582, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1705366097}
+  - component: {fileID: 1705366099}
+  - component: {fileID: 1705366098}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1705366097
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013867893554, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+  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:
+  - {fileID: 1021652608}
+  - {fileID: 1062076837}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -37.5}
+  m_SizeDelta: {x: 0, y: 66.100006}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1705366098
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012459039884, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137257, g: 0.69803923, b: 0.81568635, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1705366099
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012728204416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+--- !u!1 &1798115506
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013422819282, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1798115507}
+  - component: {fileID: 1798115509}
+  - component: {fileID: 1798115508}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1798115507
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010496760426, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+  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: 1251500801}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 442.5, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1798115508
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011337787522, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &1798115509
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011961113724, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+--- !u!1 &1823223175
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000014083494258, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1823223176}
+  - component: {fileID: 1823223178}
+  - component: {fileID: 1823223177}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1823223176
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010309437278, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+  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:
+  - {fileID: 1705366097}
+  - {fileID: 1251500801}
+  - {fileID: 1679962176}
+  m_Father: {fileID: 908265035}
+  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 &1823223177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012738601650, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 00292e5d44a244c4180bdaecec8dc7e8, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1823223178
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013271042504, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ReverseGeocoder.unity.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ReverseGeocoder.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..80b4866b545cf798429074160f3fed97ed4e1f1e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/ReverseGeocoder.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9a904a5fcec05469db76712a52999b39
+timeCreated: 1521496787
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/VectorTile.unity b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/VectorTile.unity
new file mode 100644
index 0000000000000000000000000000000000000000..edb6fc821d3cb82b6b7ef1d0b787c92278daa949
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/VectorTile.unity
@@ -0,0 +1,1815 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.37311918, g: 0.38073993, b: 0.358727, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &74000606
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012090673836, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 74000607}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &74000607
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010221606746, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 74000606}
+  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:
+  - {fileID: 119604262}
+  m_Father: {fileID: 1040864815}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &119604261
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012057558918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 119604262}
+  - component: {fileID: 119604264}
+  - component: {fileID: 213199782}
+  - component: {fileID: 119604263}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &119604262
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012836491396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  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: 74000607}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 453, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!114 &119604263
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013123592098, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!222 &119604264
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012826868666, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+--- !u!114 &213199782
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014054412960, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 119604261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!1001 &316858161
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0.07698572
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 116.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -108.340675
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 213
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 196.68135
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 216.68135
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: -17
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>Vector Tile</b>\n\nThis example shows using a forward geocoder request
+        (search by location name, not coordinates) to fetch a vector tile. You can
+        leverage vector tile data to do things like procedurally generate decorations
+        or experiences based on building heights, land features, etc. In this example,
+        the result is printed as GeoJSON with a feature collection. A new request
+        is sent whenever the user input field is edited.\n\nVisit Mapbox\u2019s API
+        documentation for more information."
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &328319147
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011719224788, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 328319148}
+  - component: {fileID: 328319150}
+  - component: {fileID: 328319149}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &328319148
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012580838024, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+  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: 586426361}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: -0.00000059604645, y: 0}
+  m_SizeDelta: {x: 4.8, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &328319149
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012761145808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &328319150
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000014233813864, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 328319147}
+--- !u!1 &438836051
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011716168404, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 438836052}
+  - component: {fileID: 438836054}
+  - component: {fileID: 438836053}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &438836052
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012528707734, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+  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: 1679962176}
+  m_RootOrder: 1
+  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 &438836053
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013692607888, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78039217, g: 0.78039217, b: 0.78039217, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &438836054
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012640390926, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 438836051}
+--- !u!1 &560162634
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013285438004, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 560162635}
+  - component: {fileID: 560162638}
+  - component: {fileID: 560162637}
+  - component: {fileID: 560162636}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &560162635
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013769072932, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  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:
+  - {fileID: 586426361}
+  m_Father: {fileID: 1679962176}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 7.300049, y: 0.00000011920929}
+  m_SizeDelta: {x: 7.399994, y: -10}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &560162636
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011803193416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 328319149}
+  m_HandleRect: {fileID: 328319148}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &560162637
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013709220146, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.8161765, g: 0.8101752, b: 0.8101752, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &560162638
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012682013954, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 560162634}
+--- !u!1 &586426360
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013952414408, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 586426361}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &586426361
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010601873538, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 586426360}
+  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:
+  - {fileID: 328319148}
+  m_Father: {fileID: 560162635}
+  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: -4.8, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &651160273
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012524931350, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 651160274}
+  - component: {fileID: 651160276}
+  - component: {fileID: 651160275}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &651160274
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013239100144, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+  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: 1251500801}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 234.4, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &651160275
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013078476636, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.72794116, g: 0.72794116, b: 0.72794116, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter Location
+--- !u!222 &651160276
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012269050396, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 651160273}
+--- !u!114 &784465565
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013402028214, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &833661034
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 833661036}
+  - component: {fileID: 833661035}
+  m_Layer: 0
+  m_Name: VectorTile
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &833661035
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 833661034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4f54a6bac8f0048a3a30e4d15baaaff9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _searchLocation: {fileID: 784465565}
+  _resultsText: {fileID: 213199782}
+--- !u!4 &833661036
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 833661034}
+  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}
+--- !u!1 &908265034
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010227804882, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 908265035}
+  - component: {fileID: 908265038}
+  - component: {fileID: 908265037}
+  - component: {fileID: 908265036}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &908265035
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011269656230, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  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_Children:
+  - {fileID: 1823223176}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!114 &908265036
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014216839898, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &908265037
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010120010546, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!223 &908265038
+Canvas:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 223000012797831518, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 908265034}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 25
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!1 &1021652607
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013742896850, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1021652608}
+  - component: {fileID: 1021652610}
+  - component: {fileID: 1021652609}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1021652608
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000011107200876, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+  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: 1705366097}
+  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 &1021652609
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010302251204, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.21960786, g: 0.5294118, b: 0.74509805, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 35a333d34c953b74c89517a378b697fd, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1021652610
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011168970398, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1021652607}
+--- !u!1 &1040864814
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012379347228, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1040864815}
+  - component: {fileID: 1040864819}
+  - component: {fileID: 1040864818}
+  - component: {fileID: 1040864817}
+  - component: {fileID: 1040864816}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1040864815
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013155699428, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  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:
+  - {fileID: 74000607}
+  m_Father: {fileID: 1679962176}
+  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 &1040864816
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013054162454, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1040864817
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012079054058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+--- !u!114 &1040864818
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013380272794, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &1040864819
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010316493756, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1040864814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 119604262}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 1
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.1
+  m_ScrollSensitivity: 10
+  m_Viewport: {fileID: 74000607}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 560162636}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 1
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1 &1047447785
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1047447790}
+  - component: {fileID: 1047447789}
+  - component: {fileID: 1047447788}
+  - component: {fileID: 1047447787}
+  - component: {fileID: 1047447786}
+  m_Layer: 0
+  m_Name: Camera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1047447786
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!124 &1047447787
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!92 &1047447788
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+--- !u!20 &1047447789
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.29411763, g: 0.29411763, b: 0.29411763, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1047447790
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1047447785}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1062076836
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000010304022808, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1062076837}
+  - component: {fileID: 1062076839}
+  - component: {fileID: 1062076838}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1062076837
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000012050639918, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+  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: 1705366097}
+  m_RootOrder: 1
+  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 &1062076838
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000014236819058, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 7dfc2e1472ac84e1bb749a8a9f934483, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 'Vector Tile '
+--- !u!222 &1062076839
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013946530584, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1062076836}
+--- !u!1 &1251500800
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011213778780, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1251500801}
+  - component: {fileID: 1251500804}
+  - component: {fileID: 1251500803}
+  - component: {fileID: 1251500802}
+  - component: {fileID: 784465565}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1251500801
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010522313572, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  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:
+  - {fileID: 651160274}
+  - {fileID: 1798115507}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -137.4}
+  m_SizeDelta: {x: -108, y: 59.200012}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1251500802
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000010055122868, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1251500803}
+  m_TextComponent: {fileID: 1798115508}
+  m_Placeholder: {fileID: 651160275}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 1.7
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &1251500803
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013882063980, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.78676474, g: 0.78676474, b: 0.78676474, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 57f0feb9c22325a428aed5b9785af52a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1251500804
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011135710870, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1251500800}
+--- !u!1 &1441675072
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1441675075}
+  - component: {fileID: 1441675074}
+  - component: {fileID: 1441675073}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1441675073
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &1441675074
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &1441675075
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1441675072}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1679962175
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000011098435040, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1679962176}
+  - component: {fileID: 1679962178}
+  - component: {fileID: 1679962177}
+  m_Layer: 5
+  m_Name: Results
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1679962176
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013901768082, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+  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:
+  - {fileID: 1040864815}
+  - {fileID: 438836052}
+  - {fileID: 560162635}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 2
+  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: -85.049995}
+  m_SizeDelta: {x: -106.600006, y: -223.5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1679962177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000013974418978, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.99215686, g: 0.99215686, b: 0.99215686, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1679962178
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012775294268, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1679962175}
+--- !u!1 &1705366096
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000012992477582, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1705366097}
+  - component: {fileID: 1705366099}
+  - component: {fileID: 1705366098}
+  m_Layer: 5
+  m_Name: Header
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1705366097
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000013867893554, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+  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:
+  - {fileID: 1021652608}
+  - {fileID: 1062076837}
+  m_Father: {fileID: 1823223176}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -37.5}
+  m_SizeDelta: {x: 0, y: 66.100006}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1705366098
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012459039884, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.23137257, g: 0.69803923, b: 0.81568635, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 7ed1238760b863f4aafde32ab3a6f28c, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1705366099
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000012728204416, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1705366096}
+--- !u!1 &1798115506
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000013422819282, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1798115507}
+  - component: {fileID: 1798115509}
+  - component: {fileID: 1798115508}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1798115507
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010496760426, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+  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: 1251500801}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 20, y: 0}
+  m_SizeDelta: {x: 370.17, y: 30}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1798115508
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000011337787522, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.1953125, g: 0.1953125, b: 0.1953125, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &1798115509
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000011961113724, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1798115506}
+--- !u!1 &1823223175
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 1000014083494258, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1823223176}
+  - component: {fileID: 1823223178}
+  - component: {fileID: 1823223177}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1823223176
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 224000010309437278, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+  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:
+  - {fileID: 1705366097}
+  - {fileID: 1251500801}
+  - {fileID: 1679962176}
+  m_Father: {fileID: 908265035}
+  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 &1823223177
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 114000012738601650, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 00292e5d44a244c4180bdaecec8dc7e8, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &1823223178
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 222000013271042504, guid: 54491efd69130477bbc88e398d85d3d7,
+    type: 2}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823223175}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/VectorTile.unity.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/VectorTile.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..553af2531e9409e59e28489eca82529d19d8c20f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scenes/VectorTile.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 416b524fd28da493a9b8e35443dbd25b
+timeCreated: 1521496787
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c52a41751081fae39e235a9c20b6fbed9920251c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 82fc5af5fb735425683aba1dd1d22379
+folderAsset: yes
+timeCreated: 1480363911
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/DirectionsExample.cs b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/DirectionsExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bd5c924454cb1de1b9a265a65c894db21f87f513
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/DirectionsExample.cs
@@ -0,0 +1,122 @@
+//-----------------------------------------------------------------------
+// <copyright file="DirectionsExample.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Examples.Playground
+{
+	using Mapbox.Unity;
+	using System;
+	using UnityEngine;
+	using UnityEngine.UI;
+	using Mapbox.Json;
+	using Mapbox.Directions;
+	using Mapbox.Utils;
+	using Mapbox.Utils.JsonConverters;
+	using Mapbox.Geocoding;
+
+	/// <summary>
+	/// Fetch directions JSON once start and end locations are provided.
+	/// Example: Enter Start Location: San Francisco, Enter Destination: Los Angeles
+	/// </summary>
+	public class DirectionsExample : MonoBehaviour
+	{
+		[SerializeField]
+		Text _resultsText;
+
+		[SerializeField]
+		ForwardGeocodeUserInput _startLocationGeocoder;
+
+		[SerializeField]
+		ForwardGeocodeUserInput _endLocationGeocoder;
+
+		Directions _directions;
+
+		Vector2d[] _coordinates;
+
+		DirectionResource _directionResource;
+
+		void Start()
+		{
+			_directions = MapboxAccess.Instance.Directions;
+			_startLocationGeocoder.OnGeocoderResponse += StartLocationGeocoder_OnGeocoderResponse;
+			_endLocationGeocoder.OnGeocoderResponse += EndLocationGeocoder_OnGeocoderResponse;
+
+			_coordinates = new Vector2d[2];
+
+			// Can we make routing profiles an enum?
+			_directionResource = new DirectionResource(_coordinates, RoutingProfile.Driving);
+			_directionResource.Steps = true;
+		}
+
+		void OnDestroy()
+		{
+			if (_startLocationGeocoder != null)
+			{
+				_startLocationGeocoder.OnGeocoderResponse -= StartLocationGeocoder_OnGeocoderResponse;
+			}
+
+			if (_startLocationGeocoder != null)
+			{
+				_startLocationGeocoder.OnGeocoderResponse -= EndLocationGeocoder_OnGeocoderResponse;
+			}
+		}
+
+		/// <summary>
+		/// Start location geocoder responded, update start coordinates.
+		/// </summary>
+		/// <param name="sender">Sender.</param>
+		/// <param name="e">E.</param>
+		void StartLocationGeocoder_OnGeocoderResponse(ForwardGeocodeResponse response)
+		{
+			_coordinates[0] = _startLocationGeocoder.Coordinate;
+			if (ShouldRoute())
+			{
+				Route();
+			}
+		}
+
+		/// <summary>
+		/// End location geocoder responded, update end coordinates.
+		/// </summary>
+		/// <param name="sender">Sender.</param>
+		/// <param name="e">E.</param>
+		void EndLocationGeocoder_OnGeocoderResponse(ForwardGeocodeResponse response)
+		{
+			_coordinates[1] = _endLocationGeocoder.Coordinate;
+			if (ShouldRoute())
+			{
+				Route();
+			}
+		}
+
+		/// <summary>
+		/// Ensure both forward geocoders have a response, which grants access to their respective coordinates.
+		/// </summary>
+		/// <returns><c>true</c>, if both forward geocoders have a response, <c>false</c> otherwise.</returns>
+		bool ShouldRoute()
+		{
+			return _startLocationGeocoder.HasResponse && _endLocationGeocoder.HasResponse;
+		}
+
+		/// <summary>
+		/// Route 
+		/// </summary>
+		void Route()
+		{
+			_directionResource.Coordinates = _coordinates;
+			_directions.Query(_directionResource, HandleDirectionsResponse);
+		}
+		/// <summary>
+		/// Log directions response to UI.
+		/// </summary>
+		/// <param name="res">Res.</param>
+		void HandleDirectionsResponse(DirectionsResponse res)
+		{
+			var data = JsonConvert.SerializeObject(res, Formatting.Indented, JsonConverters.Converters);
+			string sub = data.Substring(0, data.Length > 5000 ? 5000 : data.Length) + "\n. . . ";
+			_resultsText.text = sub;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/DirectionsExample.cs.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/DirectionsExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..96d852d1b60f6c0d85febe76ff9a378ccafa941d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/DirectionsExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6813623cf588043fa958028235282143
+timeCreated: 1480366119
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ForwardGeocoderExample.cs b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ForwardGeocoderExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e238921660214dd309d4597370509b89b9d37450
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ForwardGeocoderExample.cs
@@ -0,0 +1,41 @@
+//-----------------------------------------------------------------------
+// <copyright file="ForwardGeocoderExample.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Examples.Playground
+{
+	using UnityEngine;
+	using UnityEngine.UI;
+	using Mapbox.Json;
+	using Mapbox.Utils.JsonConverters;
+	using Mapbox.Geocoding;
+
+	public class ForwardGeocoderExample : MonoBehaviour
+    {
+        [SerializeField]
+        ForwardGeocodeUserInput _searchLocation;
+
+        [SerializeField]
+        Text _resultsText;
+
+        void Awake()
+        {
+            _searchLocation.OnGeocoderResponse += SearchLocation_OnGeocoderResponse;
+        }
+
+        void OnDestroy()
+        {
+            if (_searchLocation != null)
+            {
+                _searchLocation.OnGeocoderResponse -= SearchLocation_OnGeocoderResponse;
+            }
+        }
+
+        void SearchLocation_OnGeocoderResponse(ForwardGeocodeResponse response)
+        {
+            _resultsText.text = JsonConvert.SerializeObject(_searchLocation.Response, Formatting.Indented, JsonConverters.Converters);
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ForwardGeocoderExample.cs.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ForwardGeocoderExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0b0417889342d37b808635b473570d22675edc6b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ForwardGeocoderExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9db62c5c7a8e7409e99e6cb401d74611
+timeCreated: 1480379354
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/LogLocationProviderData.cs b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/LogLocationProviderData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6dafd8530b86576013460f80099ca93cac3ce97a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/LogLocationProviderData.cs
@@ -0,0 +1,135 @@
+namespace Mapbox.Examples.Scripts
+{
+	using Mapbox.Unity.Location;
+	using Mapbox.Utils;
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Globalization;
+	using System.IO;
+	using System.Text;
+	using UnityEngine;
+	using UnityEngine.UI;
+
+	public class LogLocationProviderData : MonoBehaviour
+	{
+
+		[SerializeField]
+		private Text _logText;
+
+		[SerializeField]
+		private Toggle _logToggle;
+
+
+		private CultureInfo _invariantCulture = CultureInfo.InvariantCulture;
+		private bool _logToFile = false;
+		private LocationLogWriter _logWriter = null;
+
+
+		void Start()
+		{
+			Screen.sleepTimeout = SleepTimeout.NeverSleep;
+			LocationProviderFactory.Instance.DefaultLocationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+
+			if (null != _logToggle)
+			{
+				_logToggle.onValueChanged.AddListener((isOn) => { _logToFile = isOn; });
+			}
+			else
+			{
+				Debug.LogError("no logtoggle attached, cannot log");
+			}
+			if (null == _logText)
+			{
+				Debug.LogError("no text to log to");
+			}
+		}
+
+
+		void OnDestroy()
+		{
+			closeLogWriter();
+			LocationProviderFactory.Instance.DefaultLocationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+		}
+
+
+		void LocationProvider_OnLocationUpdated(Location location)
+		{
+
+			/////////////// GUI logging //////////////////////
+			StringBuilder sb = new StringBuilder();
+
+			sb.AppendLine(string.Format("IsLocationServiceEnabled: {0}", location.IsLocationServiceEnabled));
+			sb.AppendLine(string.Format("IsLocationServiceInitializing: {0}", location.IsLocationServiceInitializing));
+			sb.AppendLine(string.Format("IsLocationUpdated: {0}", location.IsLocationUpdated));
+			sb.AppendLine(string.Format("IsHeadingUpdated: {0}", location.IsUserHeadingUpdated));
+			string locationProviderClass = LocationProviderFactory.Instance.DefaultLocationProvider.GetType().Name;
+			sb.AppendLine(string.Format("location provider: {0} ({1})", location.Provider, locationProviderClass));
+			sb.AppendLine(string.Format("UTC time:{0}  - device:  {1}{0}  - location:{2}", Environment.NewLine, DateTime.UtcNow.ToString("yyyyMMdd HHmmss"), UnixTimestampUtils.From(location.Timestamp).ToString("yyyyMMdd HHmmss")));
+			sb.AppendLine(string.Format(_invariantCulture, "position: {0:0.00000000} / {1:0.00000000}", location.LatitudeLongitude.x, location.LatitudeLongitude.y));
+			sb.AppendLine(string.Format(_invariantCulture, "accuracy: {0:0.0}m", location.Accuracy));
+			sb.AppendLine(string.Format(_invariantCulture, "user heading: {0:0.0}°", location.UserHeading));
+			sb.AppendLine(string.Format(_invariantCulture, "device orientation: {0:0.0}°", location.DeviceOrientation));
+			sb.AppendLine(nullableAsStr<float>(location.SpeedKmPerHour, "speed: {0:0.0}km/h"));
+			sb.AppendLine(nullableAsStr<bool>(location.HasGpsFix, "HasGpsFix: {0}"));
+			sb.AppendLine(nullableAsStr<int>(location.SatellitesUsed, "SatellitesUsed:{0} "));
+			sb.AppendLine(nullableAsStr<int>(location.SatellitesInView, "SatellitesInView:{0}"));
+
+			if (null != _logText)
+			{
+				_logText.text = sb.ToString();
+			}
+
+
+			/////////////// file logging //////////////////////
+
+			// start logging to file
+			if (_logToFile && null == _logWriter)
+			{
+				Debug.Log("--- about to start logging to file ---");
+				_logWriter = new LocationLogWriter();
+				_logToggle.GetComponentInChildren<Text>().text = "stop logging";
+			}
+
+
+			// stop logging to file
+			if (!_logToFile && null != _logWriter)
+			{
+				Debug.Log("--- about to stop logging to file ---");
+				_logToggle.GetComponentInChildren<Text>().text = "start logging";
+				closeLogWriter();
+			}
+
+
+			// write line to log file
+			if (_logToFile && null != _logWriter)
+			{
+				_logWriter.Write(location);
+			}
+		}
+
+
+		private string nullableAsStr<T>(T? val, string formatString = null) where T : struct
+		{
+			if (null == val && null == formatString) { return "[not supported by provider]"; }
+			if (null == val && null != formatString) { return string.Format(_invariantCulture, formatString, "[not supported by provider]"); }
+			if (null != val && null == formatString) { return val.Value.ToString(); }
+			return string.Format(_invariantCulture, formatString, val);
+		}
+
+
+		private void closeLogWriter()
+		{
+			if (null == _logWriter) { return; }
+			Debug.Log("closing stream writer");
+			_logWriter.Dispose();
+			_logWriter = null;
+		}
+
+
+		void Update() { }
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/LogLocationProviderData.cs.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/LogLocationProviderData.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e14eee9ecbab3baf58281fdd9d603a5d406c300
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/LogLocationProviderData.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b1e59fc6e7b8a20469944d48968f397f
+timeCreated: 1524490509
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/RasterTileExample.cs b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/RasterTileExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..41fc9f60a8c3d37af9cc4d77ff87b200cb8fb5b4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/RasterTileExample.cs
@@ -0,0 +1,136 @@
+//-----------------------------------------------------------------------
+// <copyright file="RasterTileExample.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Examples.Playground
+{
+	using System.Linq;
+	using System;
+	using Mapbox.Map;
+	using Mapbox.Unity;
+	using UnityEngine;
+	using UnityEngine.UI;
+	using Mapbox.Utils;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Geocoding;
+
+	public class RasterTileExample : MonoBehaviour, Mapbox.Utils.IObserver<RasterTile>
+	{
+		[SerializeField]
+		ForwardGeocodeUserInput _searchLocation;
+
+		[SerializeField]
+		Slider _zoomSlider;
+
+		[SerializeField]
+		Dropdown _stylesDropdown;
+
+		[SerializeField]
+		RawImage _imageContainer;
+
+		Map<RasterTile> _map;
+
+		[Geocode]
+		[SerializeField]
+		string _latLon;
+
+		// initialize _mapboxStyles
+		string[] _mapboxStyles = new string[]
+		{
+			"mapbox://styles/mapbox/satellite-v9",
+			"mapbox://styles/mapbox/streets-v9",
+			"mapbox://styles/mapbox/dark-v9",
+			"mapbox://styles/mapbox/light-v9"
+		};
+
+		// start location - San Francisco
+		Vector2d _startLoc = new Vector2d();
+
+		int _mapstyle = 0;
+
+		void Awake()
+		{
+			_searchLocation.OnGeocoderResponse += SearchLocation_OnGeocoderResponse;
+			_stylesDropdown.ClearOptions();
+			_stylesDropdown.AddOptions(_mapboxStyles.ToList());
+			_stylesDropdown.onValueChanged.AddListener(ToggleDropdownStyles);
+			_zoomSlider.onValueChanged.AddListener(AdjustZoom);
+
+			var parsed = _latLon.Split(',');
+			_startLoc.x = double.Parse(parsed[0]);
+			_startLoc.y = double.Parse(parsed[1]);
+		}
+
+		void OnDestroy()
+		{
+			if (_searchLocation != null)
+			{
+				_searchLocation.OnGeocoderResponse -= SearchLocation_OnGeocoderResponse;
+			}
+		}
+
+		void Start()
+		{
+			_map = new Map<RasterTile>(MapboxAccess.Instance);
+			_map.TilesetId = _mapboxStyles[_mapstyle];
+			_map.Center = _startLoc;
+			_map.Zoom = (int)_zoomSlider.value;
+			_map.Subscribe(this);
+			_map.Update();
+		}
+
+		/// <summary>
+		/// New search location has become available, begin a new _map query.
+		/// </summary>
+		/// <param name="sender">Sender.</param>
+		/// <param name="e">E.</param>
+		void SearchLocation_OnGeocoderResponse(ForwardGeocodeResponse response)
+		{
+			_map.Center = _searchLocation.Coordinate;
+			_map.Update();
+		}
+
+		/// <summary>
+		/// Zoom was modified by the slider, begin a new _map query.
+		/// </summary>
+		/// <param name="value">Value.</param>
+		void AdjustZoom(float value)
+		{
+			_map.Zoom = (int)_zoomSlider.value;
+			_map.Update();
+		}
+
+		/// <summary>
+		/// Style dropdown updated, begin a new _map query.
+		/// </summary>
+		/// <param name="value">If set to <c>true</c> value.</param>
+		void ToggleDropdownStyles(int target)
+		{
+			_mapstyle = target;
+			_map.TilesetId = _mapboxStyles[target];
+			_map.Update();
+		}
+
+		/// <summary>
+		/// Update the texture with new data.
+		/// </summary>
+		/// <param name="tile">Tile.</param>
+		public void OnNext(RasterTile tile)
+		{
+			if (
+				tile.HasError
+				|| (tile.CurrentState != Tile.State.Loaded && tile.CurrentState != Tile.State.Updated)
+			)
+			{
+				return;
+			}
+
+			// Can we utility this? Should users have to know source size?
+			var texture = new Texture2D(256, 256);
+			texture.LoadImage(tile.Data);
+			_imageContainer.texture = texture;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/RasterTileExample.cs.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/RasterTileExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ce5db878c4bf8b586decfd52ee1edb9eb9f42d26
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/RasterTileExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: baa72cd3a86b44e2e9923f1bfb635675
+timeCreated: 1480376499
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ReverseGeocoderExample.cs b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ReverseGeocoderExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dee04b2c651387d996294e48d725f52647159a44
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ReverseGeocoderExample.cs
@@ -0,0 +1,40 @@
+//-----------------------------------------------------------------------
+// <copyright file="ForwardGeocoderExample.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Examples.Playground
+{
+    using Mapbox.Json;
+    using Mapbox.Utils.JsonConverters;
+    using UnityEngine;
+    using UnityEngine.UI;
+
+    public class ReverseGeocoderExample : MonoBehaviour
+    {
+        [SerializeField]
+        ReverseGeocodeUserInput _searchLocation;
+
+        [SerializeField]
+        Text _resultsText;
+
+        void Awake()
+        {
+            _searchLocation.OnGeocoderResponse += SearchLocation_OnGeocoderResponse;
+        }
+
+        void OnDestroy()
+        {
+            if (_searchLocation != null)
+            {
+                _searchLocation.OnGeocoderResponse -= SearchLocation_OnGeocoderResponse;
+            }
+        }
+
+        void SearchLocation_OnGeocoderResponse(object sender, System.EventArgs e)
+        {
+            _resultsText.text = JsonConvert.SerializeObject(_searchLocation.Response, Formatting.Indented, JsonConverters.Converters);
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ReverseGeocoderExample.cs.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ReverseGeocoderExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0e4067d4713d0b6a96cecf620c94c4b6a383b48a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/ReverseGeocoderExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d99f8e76925b24aaeaa5f9e5e23f3085
+timeCreated: 1480379354
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/VectorTileExample.cs b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/VectorTileExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..26c7f8e40ceb18798e7e5f19b6964632fb02c6d1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/VectorTileExample.cs
@@ -0,0 +1,98 @@
+//-----------------------------------------------------------------------
+// <copyright file="VectorTileExample.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+namespace Mapbox.Examples.Playground
+{
+	using Mapbox.Unity;
+	using Mapbox.Platform;
+	using System;
+	using UnityEngine;
+	using UnityEngine.UI;
+	using Mapbox.Map;
+	using Mapbox.Json;
+	using Mapbox.VectorTile.ExtensionMethods;
+	using Mapbox.Utils.JsonConverters;
+	using Mapbox.Geocoding;
+
+	public class VectorTileExample : MonoBehaviour, Mapbox.Utils.IObserver<VectorTile>
+	{
+		[SerializeField]
+		ForwardGeocodeUserInput _searchLocation;
+
+		[SerializeField]
+		Text _resultsText;
+
+		Map<VectorTile> _map;
+
+		void Awake()
+		{
+			_searchLocation.OnGeocoderResponse += SearchLocation_OnGeocoderResponse;
+		}
+
+		void OnDestroy()
+		{
+			if (_searchLocation != null)
+			{
+				_searchLocation.OnGeocoderResponse -= SearchLocation_OnGeocoderResponse;
+			}
+		}
+
+		void Start()
+		{
+			_map = new Map<VectorTile>(new FileSource(MapboxAccess.Instance.Configuration.GetMapsSkuToken, MapboxAccess.Instance.Configuration.AccessToken));
+			_map.Zoom = 18;
+			// This marks us an an observer to map.
+			// We will get each tile in OnNext(VectorTile tile) as they become available.
+			_map.Subscribe(this);
+			_map.Update();
+		}
+
+		/// <summary>
+		/// Search location was changed.
+		/// </summary>
+		/// <param name="sender">Sender.</param>
+		/// <param name="e">E.</param>
+		void SearchLocation_OnGeocoderResponse(ForwardGeocodeResponse response)
+		{
+			Redraw();
+		}
+
+		/// <summary>
+		/// Request _map to update its tile data with new coordinates.
+		/// </summary>
+		void Redraw()
+		{
+			if (!_searchLocation.HasResponse)
+			{
+				_resultsText.text = "no results";
+				return;
+			}
+
+			//zoom in to get results for consecutive searches
+			_map.Center = _searchLocation.Coordinate;
+			_map.Update();
+		}
+
+		/// <summary>
+		/// Handle tile data from _map as they become available.
+		/// </summary>
+		/// <param name="tile">Tile.</param>
+		public void OnNext(VectorTile tile)
+		{
+			if (tile.CurrentState != Tile.State.Loaded || tile.HasError)
+			{
+				return;
+			}
+
+			var data = JsonConvert.SerializeObject(
+				tile.Data.ToGeoJson((ulong)tile.Id.Z, (ulong)tile.Id.X, (ulong)tile.Id.Y),
+				Formatting.Indented,
+				JsonConverters.Converters
+			);
+			string sub = data.Length < 5000 ? data : data.Substring(0, 5000) + "\n. . . ";
+			_resultsText.text = sub;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/VectorTileExample.cs.meta b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/VectorTileExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b3e519b65a897bad4ea17731c104c11a74d381e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/5_Playground/Scripts/VectorTileExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4f54a6bac8f0048a3a30e4d15baaaff9
+timeCreated: 1480376499
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap.meta b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6362de46afaf2eeb6217f36409f8f6e5aedb80d9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7be44de26050848458799f7a587bdc5e
+folderAsset: yes
+timeCreated: 1510347191
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots.meta b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots.meta
new file mode 100644
index 0000000000000000000000000000000000000000..02a9de9679353395a099bd044bfe89abd2dfbfd3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5bf435103e6b943cbaff9156d10adefa
+folderAsset: yes
+timeCreated: 1512562508
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots/ZoomableMap.png b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots/ZoomableMap.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c7283298ddc28a03628ce00374a2eddea564798
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots/ZoomableMap.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots/ZoomableMap.png.meta b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots/ZoomableMap.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..13526bc895f8a1ff079cbf26f24fa0237f1d0702
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Screenshots/ZoomableMap.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: f1321adbaa6e24299bb58ab33ad3adf9
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 37b264025b9d8294c9be4060be073193
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts.meta b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9c5370560f1e551dfaf6f29829429d1055db605b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 836b25bbb1ee14be1bf16d1922ef7651
+folderAsset: yes
+timeCreated: 1512232891
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SetCameraHeight.cs b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SetCameraHeight.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ee322f96c893fa5ae9a417ab24e4ab15e9e9aa27
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SetCameraHeight.cs
@@ -0,0 +1,35 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.Map;
+
+public class SetCameraHeight : MonoBehaviour
+{
+	[SerializeField]
+	AbstractMap _map;
+
+	[SerializeField]
+	Camera _referenceCamera;
+	[SerializeField]
+	float _cameraOffset = 100f;
+
+	void Start()
+	{
+		if (_map == null)
+		{
+			_map = FindObjectOfType<AbstractMap>();
+		}
+		if (_referenceCamera == null)
+		{
+			_referenceCamera = FindObjectOfType<Camera>();
+		}
+
+	}
+
+	void Update()
+	{
+		var position = _referenceCamera.transform.position;
+		position.y = _map.QueryElevationInMetersAt(_map.CenterLatitudeLongitude) + _cameraOffset;
+		_referenceCamera.transform.position = position;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SetCameraHeight.cs.meta b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SetCameraHeight.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..869164dd1b578c2cae1411c9629770d113b6b415
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SetCameraHeight.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4068899586d2d4e21bccf5a6b475a3bb
+timeCreated: 1521502809
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SpawnOnMap.cs b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SpawnOnMap.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0b7042f68a8fd114a934c68ca454645cc3232340
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SpawnOnMap.cs
@@ -0,0 +1,55 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using Mapbox.Utils;
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.MeshGeneration.Factories;
+	using Mapbox.Unity.Utilities;
+	using System.Collections.Generic;
+
+	public class SpawnOnMap : MonoBehaviour
+	{
+		[SerializeField]
+		AbstractMap _map;
+
+		[SerializeField]
+		[Geocode]
+		string[] _locationStrings;
+		Vector2d[] _locations;
+
+		[SerializeField]
+		float _spawnScale = 100f;
+
+		[SerializeField]
+		GameObject _markerPrefab;
+
+		List<GameObject> _spawnedObjects;
+
+		void Start()
+		{
+			_locations = new Vector2d[_locationStrings.Length];
+			_spawnedObjects = new List<GameObject>();
+			for (int i = 0; i < _locationStrings.Length; i++)
+			{
+				var locationString = _locationStrings[i];
+				_locations[i] = Conversions.StringToLatLon(locationString);
+				var instance = Instantiate(_markerPrefab);
+				instance.transform.localPosition = _map.GeoToWorldPosition(_locations[i], true);
+				instance.transform.localScale = new Vector3(_spawnScale, _spawnScale, _spawnScale);
+				_spawnedObjects.Add(instance);
+			}
+		}
+
+		private void Update()
+		{
+			int count = _spawnedObjects.Count;
+			for (int i = 0; i < count; i++)
+			{
+				var spawnedObject = _spawnedObjects[i];
+				var location = _locations[i];
+				spawnedObject.transform.localPosition = _map.GeoToWorldPosition(location, true);
+				spawnedObject.transform.localScale = new Vector3(_spawnScale, _spawnScale, _spawnScale);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SpawnOnMap.cs.meta b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SpawnOnMap.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8cef13a5c782be899b5d6fe0991f553a87a05265
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/Scripts/SpawnOnMap.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: dcf32ea2cc0514b569329f6b6b68f9b4
+timeCreated: 1512163458
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/ZoomableMap.unity b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/ZoomableMap.unity
new file mode 100644
index 0000000000000000000000000000000000000000..febfe62e69f8dd92c205779a0b01be8ef5cc7d3d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/ZoomableMap.unity
@@ -0,0 +1,1045 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.44657826, g: 0.49641263, b: 0.57481676, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 10
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1001 &197266180
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>Worldwide Dynamic Zoom & Panning Support</b>\n\nThis example is a
+        starting point for creating a traditional web-based zoomable map. Go anywhere
+        in the world and check out Mapbox\u2019s high-quality satellite imagery. It
+        also uses the SpawnOnMap script to instantiate custom markers on the map at
+        specified locations."
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0.000015258789
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &390836297
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 3adcee2515f8c49f4a7afb3bacf2c56e, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &555018382
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 555018384}
+  - component: {fileID: 555018383}
+  - component: {fileID: 555018386}
+  - component: {fileID: 555018388}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &555018383
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 555018382}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _initializeOnStart: 1
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.7648, -122.463
+      zoom: 10
+    extentOptions:
+      extentType: 0
+      cameraBoundsOptions:
+        camera: {fileID: 1787361574}
+        visibleBuffer: 0
+        disposeBuffer: 0
+      rangeAroundCenterOptions:
+        west: 1
+        north: 1
+        east: 1
+        south: 1
+      rangeAroundTransformOptions:
+        targetTransform: {fileID: 0}
+        visibleBuffer: 0
+        disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _imagery:
+    _layerProperty:
+      sourceType: 4
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox.satellite
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 1
+        useCompression: 0
+        useMipMap: 1
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 1
+      requiredOptions:
+        addCollider: 0
+        exaggerationFactor: 1
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - country_label
+        - housenum_label
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 1
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Streets
+          Id: mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers: []
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+--- !u!4 &555018384
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 555018382}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &555018386
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 555018382}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2c699b8e1864b4b248acb7a04ede9480, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _panSpeed: 1
+  _zoomSpeed: 0.25
+  _referenceCamera: {fileID: 1787361574}
+  _mapManager: {fileID: 555018383}
+  _useDegreeMethod: 0
+--- !u!114 &555018388
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 555018382}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dcf32ea2cc0514b569329f6b6b68f9b4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 555018383}
+  _locationStrings:
+  - 37.7648, -122.463
+  - 37.8045, -122.2714
+  - 37.859, -122.4855
+  - 35.658611111111, 139.74555555556
+  _spawnScale: 10
+  _markerPrefab: {fileID: 1839187062704024, guid: 9b5b1b761a8994c07affd0a05396633b,
+    type: 2}
+--- !u!1001 &1178802930
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 6
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224709793726594912, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224771389989224222, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224771389989224222, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224722295744740158, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224722295744740158, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224722295744740158, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224178813210018432, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224178813210018432, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224178813210018432, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224178813210018432, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224178813210018432, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224178813210018432, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224538534500426518, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224538534500426518, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224538534500426518, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224538534500426518, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224538534500426518, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224538534500426518, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114023684558016336, guid: 00f5bf1ff996842fc82384f8f686fda6,
+        type: 2}
+      propertyPath: m_Value
+      value: 10
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 00f5bf1ff996842fc82384f8f686fda6, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1276875583
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1276875585}
+  - component: {fileID: 1276875584}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1276875584
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1276875583}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 0.5
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1276875585
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1276875583}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1001 &1648340349
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114103084892184410, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: MapVisualizer
+      value: 
+      objectReference: {fileID: 11400000, guid: 84a94dcf8a4f944f8bc89a06e9e105d5,
+        type: 2}
+    - target: {fileID: 1393483683185582, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1787361570
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1787361575}
+  - component: {fileID: 1787361574}
+  - component: {fileID: 1787361573}
+  - component: {fileID: 1787361572}
+  - component: {fileID: 1787361571}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1787361571
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1787361570}
+  m_Enabled: 1
+--- !u!124 &1787361572
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1787361570}
+  m_Enabled: 1
+--- !u!92 &1787361573
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1787361570}
+  m_Enabled: 1
+--- !u!20 &1787361574
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1787361570}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 256
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1787361575
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1787361570}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 200, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/ZoomableMap.unity.meta b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/ZoomableMap.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..70801a008c1e33366d8a07ccb39f81e748e88c00
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/6_ZoomableMap/ZoomableMap.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2c7147d54825142878b256c67aae5704
+timeCreated: 1508277307
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe.meta b/T3-Unity/Assets/Mapbox/Examples/7_Globe.meta
new file mode 100644
index 0000000000000000000000000000000000000000..230ad0351cce60c25ab7b95493764ee1a61c081e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e4c902100714643efb5c0ddebbafcb5e
+folderAsset: yes
+timeCreated: 1485467385
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Globe.unity b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Globe.unity
new file mode 100644
index 0000000000000000000000000000000000000000..8fff02dcd6af5ab3b276c09c3b954c285047a068
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Globe.unity
@@ -0,0 +1,872 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.58823526, g: 0.58823526, b: 0.58823526, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1001 &86246272
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>A Real Globe</b>\n\nThis example demonstrates a procedurally generated
+        globe model leveraging Mapbox\u2019s global coverage map data. The custom
+        markers showcase how to drop pins at exact world coordinates. It uses a special
+        terrain factory that spherically projects our square tiles onto the globe.
+        \n\nClick and drag to rotate the globe around!"
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1254570878
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1254570880}
+  - component: {fileID: 1254570879}
+  m_Layer: 0
+  m_Name: Directional light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1254570879
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1254570878}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_Intensity: 1.3
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 0
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1254570880
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1254570878}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 38.556553, y: 146.8352, z: -51.387547}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1281281112
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1281281117}
+  - component: {fileID: 1281281116}
+  - component: {fileID: 1281281115}
+  - component: {fileID: 1281281114}
+  - component: {fileID: 1281281113}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1281281113
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1281281112}
+  m_Enabled: 1
+--- !u!124 &1281281114
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1281281112}
+  m_Enabled: 1
+--- !u!92 &1281281115
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1281281112}
+  m_Enabled: 1
+--- !u!20 &1281281116
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1281281112}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 1
+  far clip plane: 5000
+  field of view: 33
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1281281117
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1281281112}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: -4500}
+  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}
+--- !u!1001 &1291380683
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 3adcee2515f8c49f4a7afb3bacf2c56e, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1461465686
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1461465688}
+  - component: {fileID: 1461465687}
+  - component: {fileID: 1461465689}
+  - component: {fileID: 1461465690}
+  - component: {fileID: 1461465691}
+  - component: {fileID: 1461465692}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1461465687
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1461465686}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 0,0
+      zoom: 3
+    extentOptions:
+      extentType: 3
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 4
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Satellite
+          Id: mapbox.satellite
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 3
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 1
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames: []
+      _sourceType: 1
+      sourceOptions:
+        isActive: 0
+        layerSource:
+          Name: Mapbox Streets
+          Id: mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers: []
+      locationPrefabList: []
+  _tileProvider: {fileID: 1461465689}
+  IsPreviewEnabled: 0
+--- !u!4 &1461465688
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1461465686}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1461465689
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1461465686}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a718f313c2f574a4aad42d7b52867205, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &1461465690
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1461465686}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c9407d2a4576149b18a84d9addc9c8a4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 1461465687}
+  _locations:
+  - 37.7648, -122.463
+  - 40.7825, -73.966111111111
+  - 35.658611111111, 139.74555555556
+  _spawnScale: 100
+  _markerPrefab: {fileID: 1839187062704024, guid: 9b5b1b761a8994c07affd0a05396633b,
+    type: 2}
+--- !u!114 &1461465691
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1461465686}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c8b91599c125648e6b7d13ef8d0052d4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _objectToRotate: {fileID: 1461465688}
+  _multiplier: 1
+--- !u!114 &1461465692
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1461465686}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76a256726e16d4966a3f30b97a17e1d5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _mapInstance: {fileID: 1461465687}
+  OnTileError:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: Mapbox.Unity.Map.TileProviders.TileErrorEvent, Assembly-CSharp, Version=0.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!1001 &1951800002
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224557595208707984, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 223857351565792310, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: m_AdditionalShaderChannelsFlag
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114103084892184410, guid: b95c449128f3b44bca8b83258c669aa5,
+        type: 2}
+      propertyPath: MapVisualizer
+      value: 
+      objectReference: {fileID: 11400000, guid: da299adc49d7140ffbce3aa9e794407c,
+        type: 2}
+    - target: {fileID: 1393483683185582, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+      propertyPath: m_IsActive
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: b95c449128f3b44bca8b83258c669aa5, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Globe.unity.meta b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Globe.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f30f8f8aeef14f06bb4d576ef07750fbb56762d1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Globe.unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 614e3e19125ae46c7af990b7e3debd36
+timeCreated: 1485462069
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots.meta b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a2589ce4beef38388344d4721e327874828fabe6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 84153ae0642404f2fb861be93b53f120
+folderAsset: yes
+timeCreated: 1512562391
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots/Globe.png b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots/Globe.png
new file mode 100644
index 0000000000000000000000000000000000000000..f675b34b113f2f2dc15085b4d42306f7f08c9115
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots/Globe.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots/Globe.png.meta b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots/Globe.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..773f33d4e1358b7c9dc628c19210f347cf1c558a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Screenshots/Globe.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 31ea88f94a559415194f73d9ae78c4bb
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 85c922dba339ece42a880523f2504cdc
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts.meta b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7a5b61174ceb3fd02a03e9910bd3b8340d7df8ff
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ba8ca543f559e4f36b738fa9656ebd61
+folderAsset: yes
+timeCreated: 1505944885
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/DragRotate.cs b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/DragRotate.cs
new file mode 100644
index 0000000000000000000000000000000000000000..25237c3d609941020d16071c33c9523712156939
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/DragRotate.cs
@@ -0,0 +1,33 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+
+	namespace Scripts.Utilities
+	{
+		public class DragRotate : MonoBehaviour
+		{
+			[SerializeField]
+			Transform _objectToRotate;
+
+			[SerializeField]
+			float _multiplier;
+
+			Vector3 _startTouchPosition;
+
+			void Update()
+			{
+				if (Input.GetMouseButtonDown(0))
+				{
+					_startTouchPosition = Input.mousePosition;
+				}
+
+				if (Input.GetMouseButton(0))
+				{
+					var dragDelta = Input.mousePosition - _startTouchPosition;
+					var axis = new Vector3(0f, -dragDelta.x * _multiplier, 0f);
+					_objectToRotate.RotateAround(_objectToRotate.position, axis, _multiplier);
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/DragRotate.cs.meta b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/DragRotate.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0e6f337ad5b348f6ceade76308378128876ac440
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/DragRotate.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c8b91599c125648e6b7d13ef8d0052d4
+timeCreated: 1506092065
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/SpawnOnGlobeExample.cs b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/SpawnOnGlobeExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8a57aaa788791fc096424f84a86d52caaa82f811
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/SpawnOnGlobeExample.cs
@@ -0,0 +1,37 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Factories;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies;
+	using Mapbox.Unity.Map;
+
+	public class SpawnOnGlobeExample : MonoBehaviour
+	{
+		[SerializeField]
+		AbstractMap _map;
+
+		[SerializeField]
+		[Geocode]
+		string[] _locations;
+
+		[SerializeField]
+		float _spawnScale = 100f;
+
+		[SerializeField]
+		GameObject _markerPrefab;
+
+		void Start()
+		{
+			foreach (var locationString in _locations)
+			{
+				var instance = Instantiate(_markerPrefab);
+				var location = Conversions.StringToLatLon(locationString);
+				var earthRadius = ((IGlobeTerrainLayer)_map.Terrain).EarthRadius;
+				instance.transform.position = Conversions.GeoToWorldGlobePosition(location, earthRadius);
+				instance.transform.localScale = Vector3.one * _spawnScale;
+				instance.transform.SetParent(transform);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/SpawnOnGlobeExample.cs.meta b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/SpawnOnGlobeExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a78c6012ab1daa264fc488bc1e23ac28dd7927ca
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/7_Globe/Scripts/SpawnOnGlobeExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c9407d2a4576149b18a84d9addc9c8a4
+timeCreated: 1505944901
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap.meta
new file mode 100644
index 0000000000000000000000000000000000000000..50442c6248295797d5e9c22c6d667a29806b9e06
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1e33f17d4144e4fa8b0c253be247f78a
+folderAsset: yes
+timeCreated: 1482516460
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..845f5b3618d44364208005ee0661565b6ad45f4c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6706549e50f634f11a10e00cd19fe7d1
+folderAsset: yes
+timeCreated: 1482518610
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/Snow.mat b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/Snow.mat
new file mode 100644
index 0000000000000000000000000000000000000000..026a0053fc43d0917343dd926337d4e3a1dcb377
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/Snow.mat
@@ -0,0 +1,136 @@
+%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: Snow
+  m_Shader: {fileID: 10701, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0.5
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 0
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0.5
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 0
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _Shininess
+      second: 1
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 1
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 1
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 0.7523248, g: 0.81471485, b: 0.8455882, a: 1}
+    - first:
+        name: _Emission
+      second: {r: 0.054714546, g: 0.0711371, b: 0.08088237, a: 0}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
+    - first:
+        name: _SpecColor
+      second: {r: 0.9705882, g: 0.99513185, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/Snow.mat.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/Snow.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a6f7dd3b04707608b3f6ed445c513f680d4bcda
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/Snow.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7460ada75eefd4094bd35100e601df04
+timeCreated: 1482518616
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/VoxelAtlas.mat b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/VoxelAtlas.mat
new file mode 100644
index 0000000000000000000000000000000000000000..9cc1c5027e6bbed22e70e5aed09d2900a381c3f7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/VoxelAtlas.mat
@@ -0,0 +1,136 @@
+%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: VoxelAtlas
+  m_Shader: {fileID: 10707, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 2800000, guid: fd06cc531f54bee4b9fedd9a1b04d9a7, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0.5
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 0
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 0
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 0
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _Shininess
+      second: 0.7
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 0
+    - first:
+        name: _SrcBlend
+      second: 1
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 1
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 1, g: 1, b: 1, a: 1}
+    - first:
+        name: _Emission
+      second: {r: 0, g: 0, b: 0, a: 0}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
+    - first:
+        name: _SpecColor
+      second: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/VoxelAtlas.mat.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/VoxelAtlas.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..208b95b7a1d707684ff420b952a945c65b4de699
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Materials/VoxelAtlas.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 05afc24a83fc5af46a41e10c766a965e
+timeCreated: 1466594951
+licenseType: Store
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bfcf4fcda6547b7aa511cf6d55965816d398f74d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: af64fe008866c42538bb9aebacae55ef
+folderAsset: yes
+timeCreated: 1482530140
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bricks.fbx b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bricks.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..003b056ba54890aed230f67bade167875bcdaf4d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bricks.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bricks.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bricks.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..78811b3125c3266a236c5484ea9432c0ca966f9a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bricks.fbx.meta
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: bf56275b600ba1a4d8dcba935a7b9988
+timeCreated: 1466596828
+licenseType: Store
+ModelImporter:
+  serializedVersion: 19
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: Bricks
+    6400000: //RootNode
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleRotations: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 1
+    importBlendShapes: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bush.fbx b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bush.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..d4cc953e5e8ee78edbfbb38c102d7fa3fbe38c83
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bush.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bush.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bush.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7e1e34dfb20954b88fa5e76812a5396bffe4b679
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Bush.fbx.meta
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: 1786fd9efa6de9347b96fc8cfd796f27
+timeCreated: 1466596826
+licenseType: Store
+ModelImporter:
+  serializedVersion: 19
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: Bush
+    6400000: //RootNode
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleRotations: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 1
+    importBlendShapes: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Grey Stone.fbx b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Grey Stone.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..74470c177596445358ec7120ffb7f833e717c9ff
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Grey Stone.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Grey Stone.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Grey Stone.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..73ac885153505cfb84302a1489794ccbb535569b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Grey Stone.fbx.meta	
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: 404993c0c6290ef43b250b48c5f0ba42
+timeCreated: 1466596826
+licenseType: Store
+ModelImporter:
+  serializedVersion: 19
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: Grey Stone
+    6400000: //RootNode
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleRotations: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 1
+    importBlendShapes: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Brown.fbx b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Brown.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..98983f20dde5f567d45e0c7fc3ead3bac7c846c1
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Brown.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Brown.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Brown.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ddb67adcc246f1d581ce1d17ebfcbe0663e5bac1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Brown.fbx.meta	
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: 0ca31141bde710143a449036d1d50e78
+timeCreated: 1466596826
+licenseType: Store
+ModelImporter:
+  serializedVersion: 19
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: Ground Brown
+    6400000: //RootNode
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleRotations: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 1
+    importBlendShapes: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Green.fbx b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Green.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..cdedd300fe1030aa3c1bc8b904de62862eb6a429
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Green.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Green.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Green.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a56b97ef2a30e98c672067598f25a09c00a7be2a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Ground Green.fbx.meta	
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: f044a37d78cf7b644b51493e41665e3e
+timeCreated: 1466596828
+licenseType: Store
+ModelImporter:
+  serializedVersion: 19
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: Ground Green
+    6400000: //RootNode
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleRotations: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 1
+    importBlendShapes: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..71b4767208f29a2ae4e36c6fd2832d39ef7b1a9c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 866752f6076f44ab392a4706cb4a1bfa
+folderAsset: yes
+timeCreated: 1483561468
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials/Pixel Cube Atlas.mat b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials/Pixel Cube Atlas.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a29aa51400b77d0636047734e20f434fad17b504
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials/Pixel Cube Atlas.mat	
@@ -0,0 +1,127 @@
+%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: Pixel Cube Atlas
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 5
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0.5
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 0
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0.5
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 0
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 1
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 1
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 0.8, g: 0.8, b: 0.8, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials/Pixel Cube Atlas.mat.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials/Pixel Cube Atlas.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5628240c99900e0c9462782a31ab6952a2a1c753
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Materials/Pixel Cube Atlas.mat.meta	
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b2f465657db204c2793d38edf17f3730
+timeCreated: 1483561468
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Sand.fbx b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Sand.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..12eebd1c977c78aae9a0cd46d6d52180de9a2304
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Sand.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Sand.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Sand.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2caeab7e2c23779cf76d2a5bf3ef75c83f001e9c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Sand.fbx.meta
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: 49926f3dcc5b34f4c91252d7401f3e66
+timeCreated: 1466596827
+licenseType: Store
+ModelImporter:
+  serializedVersion: 19
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: Sand
+    6400000: //RootNode
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleRotations: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 1
+    importBlendShapes: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Water.fbx b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Water.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..cd8ef858b019c143f9c7bdaf687e742ac4904df4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Water.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Water.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Water.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bc666064e50d031964df807702c684d1dcdded88
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Models/Water.fbx.meta
@@ -0,0 +1,77 @@
+fileFormatVersion: 2
+guid: e0cdc22f64a78674083edb2ee6c980d0
+timeCreated: 1466596828
+licenseType: Store
+ModelImporter:
+  serializedVersion: 19
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: Water
+    6400000: //RootNode
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleRotations: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 1
+    importBlendShapes: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 0
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aae99141a96084f74b662d807a90f1ffccb84b34
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4efac2674087543f499ba6894438843f
+folderAsset: yes
+timeCreated: 1482518579
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/VoxelTile.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/VoxelTile.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..14b1755f68fc0aa81ea4ec8581bce2746cb92f79
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/VoxelTile.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: 1000014173767200}
+  m_IsPrefabParent: 1
+--- !u!1 &1000014173767200
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4000013799264764}
+  - component: {fileID: 114000013520406336}
+  - component: {fileID: 114000012445315992}
+  m_Layer: 0
+  m_Name: VoxelTile
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4000013799264764
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014173767200}
+  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}
+--- !u!114 &114000012445315992
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014173767200}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cb0ebec3dc2616941bc6ed14d239dd56, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _voxels:
+  - Color: {r: 0, g: 1, b: 0, a: 1}
+    Voxel: {fileID: 1000012276909320, guid: be188b8431533497f81342f748507523, type: 2}
+  - Color: {r: 0, g: 0.19607845, b: 0, a: 1}
+    Voxel: {fileID: 1000013304073402, guid: 6bab41b00b822431298c5d57404b84ce, type: 2}
+  - Color: {r: 1, g: 0, b: 1, a: 1}
+    Voxel: {fileID: 1000010278372000, guid: 14cd476dd6ad643c98df122c3491e379, type: 2}
+  - Color: {r: 1, g: 1, b: 0, a: 1}
+    Voxel: {fileID: 1000012838333090, guid: a09bf619783d54820b0a4ffa05a96046, type: 2}
+  - Color: {r: 0, g: 0, b: 0, a: 1}
+    Voxel: {fileID: 1000011657203076, guid: 86204e4d8182e47fba9a34b82fba90b5, type: 2}
+  - Color: {r: 0, g: 1, b: 1, a: 1}
+    Voxel: {fileID: 1000010278372000, guid: 08a5c81e68c344101b7d6dfa2d4518d9, type: 2}
+  - Color: {r: 0, g: 0, b: 1, a: 1}
+    Voxel: {fileID: 1000011451876416, guid: 0de7a5089ac5549d4a6abaa3325c5b66, type: 2}
+--- !u!114 &114000013520406336
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014173767200}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: de5fb1ae8036545848eae9ab4c9dd119, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _geocodeInput: {fileID: 0}
+  _zoom: 10
+  _elevationMultiplier: 2
+  _voxelDepthPadding: 1
+  _tileWidthInVoxels: 100
+  _voxelFetcher: {fileID: 114000012445315992}
+  _camera: {fileID: 0}
+  _voxelBatchCount: 500
+  _styleUrl: mapbox://styles/mapbox/cjb3veyx9532a2tpjozhuv0u9
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/VoxelTile.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/VoxelTile.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bc70a4b01e0e904dfe7ba2eebdfb8faa7bd87199
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/VoxelTile.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3fba37c4357e94357a9e030c152cb582
+timeCreated: 1482522521
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3f276d24f4e9a09b137f9cbcecd0de762bb10686
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6fd1578d6bb474441bcefe4d83ed9143
+folderAsset: yes
+timeCreated: 1482522527
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bricks.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bricks.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..5d6e79ec165537211c730672383b388a7567678b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bricks.prefab
@@ -0,0 +1,121 @@
+%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: 1000010659078656}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010659078656
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000012476840588}
+  m_Layer: 0
+  m_Name: Bricks
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000014264988278
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000010096979176}
+  - 33: {fileID: 33000011485141312}
+  - 23: {fileID: 23000011367776086}
+  - 64: {fileID: 64000012424718362}
+  m_Layer: 0
+  m_Name: Bricks
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!4 &4000010096979176
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014264988278}
+  m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalScale: {x: 50, y: 50, z: 50}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 4000012476840588}
+  m_RootOrder: 0
+--- !u!4 &4000012476840588
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010659078656}
+  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: 4000010096979176}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!23 &23000011367776086
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014264988278}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 05afc24a83fc5af46a41e10c766a965e, type: 2}
+  m_SubsetIndices: 
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedWireframeHidden: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+--- !u!33 &33000011485141312
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014264988278}
+  m_Mesh: {fileID: 4300000, guid: bf56275b600ba1a4d8dcba935a7b9988, type: 3}
+--- !u!64 &64000012424718362
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014264988278}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_Mesh: {fileID: 4300000, guid: bf56275b600ba1a4d8dcba935a7b9988, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bricks.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bricks.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..598aad2b9e42544ed50828fdd535a067191e0293
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bricks.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 031f1f201bbba400eab296024929dff9
+timeCreated: 1482530030
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bush.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bush.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..c9a736f98e8038018e822ee1cff9649696a24e38
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bush.prefab
@@ -0,0 +1,121 @@
+%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: 1000013304073402}
+  m_IsPrefabParent: 1
+--- !u!1 &1000013304073402
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000013944309308}
+  m_Layer: 0
+  m_Name: Bush
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000014202219634
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000013900040530}
+  - 33: {fileID: 33000013988607728}
+  - 23: {fileID: 23000013878735782}
+  - 64: {fileID: 64000012197139632}
+  m_Layer: 0
+  m_Name: Bush
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!4 &4000013900040530
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014202219634}
+  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalScale: {x: 50, y: 50, z: 50}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 4000013944309308}
+  m_RootOrder: 0
+--- !u!4 &4000013944309308
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013304073402}
+  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: 4000013900040530}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!23 &23000013878735782
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014202219634}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 05afc24a83fc5af46a41e10c766a965e, type: 2}
+  m_SubsetIndices: 
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedWireframeHidden: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+--- !u!33 &33000013988607728
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014202219634}
+  m_Mesh: {fileID: 4300000, guid: 1786fd9efa6de9347b96fc8cfd796f27, type: 3}
+--- !u!64 &64000012197139632
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014202219634}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_Mesh: {fileID: 4300000, guid: 1786fd9efa6de9347b96fc8cfd796f27, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bush.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bush.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a8cee33f3b95edeaab9929d7c4278bd2ea71f844
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Bush.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6bab41b00b822431298c5d57404b84ce
+timeCreated: 1482530056
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Grass.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Grass.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..312f8464471b56956e9f7b6c7eb5b707d85b9a69
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Grass.prefab
@@ -0,0 +1,121 @@
+%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: 1000012276909320}
+  m_IsPrefabParent: 1
+--- !u!1 &1000012276909320
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000013666915566}
+  m_Layer: 0
+  m_Name: Grass
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013739841638
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000012036142466}
+  - 33: {fileID: 33000012085110880}
+  - 23: {fileID: 23000011307729382}
+  - 64: {fileID: 64000010227963000}
+  m_Layer: 0
+  m_Name: Ground Green
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!4 &4000012036142466
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739841638}
+  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalScale: {x: 50, y: 50, z: 50}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 4000013666915566}
+  m_RootOrder: 0
+--- !u!4 &4000013666915566
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012276909320}
+  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: 4000012036142466}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!23 &23000011307729382
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739841638}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 05afc24a83fc5af46a41e10c766a965e, type: 2}
+  m_SubsetIndices: 
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedWireframeHidden: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+--- !u!33 &33000012085110880
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739841638}
+  m_Mesh: {fileID: 4300000, guid: f044a37d78cf7b644b51493e41665e3e, type: 3}
+--- !u!64 &64000010227963000
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739841638}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_Mesh: {fileID: 4300000, guid: f044a37d78cf7b644b51493e41665e3e, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Grass.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Grass.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d216245ffde83ede6dff136364011a0070478921
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Grass.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: be188b8431533497f81342f748507523
+timeCreated: 1482530117
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Ground.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Ground.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..9e138096760468780d554eafd09db663e24fbeca
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Ground.prefab
@@ -0,0 +1,121 @@
+%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: 1000011657203076}
+  m_IsPrefabParent: 1
+--- !u!1 &1000011657203076
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000010817364994}
+  m_Layer: 0
+  m_Name: Ground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012970731884
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000010702670062}
+  - 33: {fileID: 33000011468151166}
+  - 23: {fileID: 23000013995476726}
+  - 64: {fileID: 64000011840921122}
+  m_Layer: 0
+  m_Name: Ground Brown
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!4 &4000010702670062
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012970731884}
+  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalScale: {x: 50, y: 50, z: 50}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 4000010817364994}
+  m_RootOrder: 0
+--- !u!4 &4000010817364994
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011657203076}
+  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: 4000010702670062}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!23 &23000013995476726
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012970731884}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 05afc24a83fc5af46a41e10c766a965e, type: 2}
+  m_SubsetIndices: 
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedWireframeHidden: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+--- !u!33 &33000011468151166
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012970731884}
+  m_Mesh: {fileID: 4300000, guid: 0ca31141bde710143a449036d1d50e78, type: 3}
+--- !u!64 &64000011840921122
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012970731884}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_Mesh: {fileID: 4300000, guid: 0ca31141bde710143a449036d1d50e78, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Ground.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Ground.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4406892b654b5cbfd0ddec6201aded49e30fd45b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Ground.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 86204e4d8182e47fba9a34b82fba90b5
+timeCreated: 1482530103
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Sand.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Sand.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..46301ee88969f4233b1b0cb91cf7e2415efa7777
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Sand.prefab
@@ -0,0 +1,121 @@
+%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: 1000010278372000}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010278372000
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000012630557332}
+  m_Layer: 0
+  m_Name: Sand
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000010619613654
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000010077632502}
+  - 33: {fileID: 33000012632511726}
+  - 23: {fileID: 23000012214964914}
+  - 64: {fileID: 64000012036938742}
+  m_Layer: 0
+  m_Name: Sand
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!4 &4000010077632502
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010619613654}
+  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalScale: {x: 50, y: 50, z: 50}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 4000012630557332}
+  m_RootOrder: 0
+--- !u!4 &4000012630557332
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010278372000}
+  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: 4000010077632502}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!23 &23000012214964914
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010619613654}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 05afc24a83fc5af46a41e10c766a965e, type: 2}
+  m_SubsetIndices: 
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedWireframeHidden: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+--- !u!33 &33000012632511726
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010619613654}
+  m_Mesh: {fileID: 4300000, guid: 49926f3dcc5b34f4c91252d7401f3e66, type: 3}
+--- !u!64 &64000012036938742
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010619613654}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_Mesh: {fileID: 4300000, guid: 49926f3dcc5b34f4c91252d7401f3e66, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Sand.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Sand.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bf2d6df9f2c9b55e67a6f20b174fa095d87e3ee8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Sand.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 14cd476dd6ad643c98df122c3491e379
+timeCreated: 1482530130
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Snow.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Snow.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..6a3c83ba8ffcd3c624f092c57de54f5382f6e180
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Snow.prefab
@@ -0,0 +1,121 @@
+%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: 1000010278372000}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010278372000
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000012630557332}
+  m_Layer: 0
+  m_Name: Snow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000010619613654
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000010077632502}
+  - 33: {fileID: 33000012632511726}
+  - 23: {fileID: 23000012214964914}
+  - 64: {fileID: 64000012036938742}
+  m_Layer: 0
+  m_Name: Snow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!4 &4000010077632502
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010619613654}
+  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalScale: {x: 50, y: 50, z: 50}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 4000012630557332}
+  m_RootOrder: 0
+--- !u!4 &4000012630557332
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010278372000}
+  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: 4000010077632502}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!23 &23000012214964914
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010619613654}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 7460ada75eefd4094bd35100e601df04, type: 2}
+  m_SubsetIndices: 
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedWireframeHidden: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+--- !u!33 &33000012632511726
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010619613654}
+  m_Mesh: {fileID: 4300000, guid: 49926f3dcc5b34f4c91252d7401f3e66, type: 3}
+--- !u!64 &64000012036938742
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010619613654}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_Mesh: {fileID: 4300000, guid: 49926f3dcc5b34f4c91252d7401f3e66, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Snow.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Snow.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a27dddf7075a25645df1f43941378e68e6a39449
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Snow.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 08a5c81e68c344101b7d6dfa2d4518d9
+timeCreated: 1482530130
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Stone.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Stone.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..cf628e3886fcbc3541eaf01c5520fa6449738683
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Stone.prefab
@@ -0,0 +1,121 @@
+%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: 1000012838333090}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010625753062
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000010568902330}
+  - 33: {fileID: 33000011348719536}
+  - 23: {fileID: 23000013945651672}
+  - 64: {fileID: 64000013448202400}
+  m_Layer: 0
+  m_Name: Grey Stone
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!1 &1000012838333090
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000014026036810}
+  m_Layer: 0
+  m_Name: Stone
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4000010568902330
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010625753062}
+  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalScale: {x: 50, y: 50, z: 50}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 4000014026036810}
+  m_RootOrder: 0
+--- !u!4 &4000014026036810
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012838333090}
+  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: 4000010568902330}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!23 &23000013945651672
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010625753062}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 05afc24a83fc5af46a41e10c766a965e, type: 2}
+  m_SubsetIndices: 
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedWireframeHidden: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+--- !u!33 &33000011348719536
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010625753062}
+  m_Mesh: {fileID: 4300000, guid: 404993c0c6290ef43b250b48c5f0ba42, type: 3}
+--- !u!64 &64000013448202400
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010625753062}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_Mesh: {fileID: 4300000, guid: 404993c0c6290ef43b250b48c5f0ba42, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Stone.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Stone.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8a9c63f8819a06a3f57d366b6af1714c2d12da0a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Stone.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a09bf619783d54820b0a4ffa05a96046
+timeCreated: 1482530086
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Water.prefab b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Water.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..bf766d3c9ace56f38dd7f9e813cd680093a64479
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Water.prefab
@@ -0,0 +1,121 @@
+%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: 1000011451876416}
+  m_IsPrefabParent: 1
+--- !u!1 &1000011451876416
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000010030787968}
+  m_Layer: 0
+  m_Name: Water
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012662151214
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000014204917634}
+  - 33: {fileID: 33000012405655272}
+  - 23: {fileID: 23000013299338634}
+  - 64: {fileID: 64000013477247358}
+  m_Layer: 0
+  m_Name: Water
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 4294967295
+  m_IsActive: 1
+--- !u!4 &4000010030787968
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011451876416}
+  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: 4000014204917634}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!4 &4000014204917634
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012662151214}
+  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: -0.5, z: 0}
+  m_LocalScale: {x: 50, y: 50, z: 50}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 4000010030787968}
+  m_RootOrder: 0
+--- !u!23 &23000013299338634
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012662151214}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 05afc24a83fc5af46a41e10c766a965e, type: 2}
+  m_SubsetIndices: 
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedWireframeHidden: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+--- !u!33 &33000012405655272
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012662151214}
+  m_Mesh: {fileID: 4300000, guid: e0cdc22f64a78674083edb2ee6c980d0, type: 3}
+--- !u!64 &64000013477247358
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012662151214}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_Mesh: {fileID: 4300000, guid: e0cdc22f64a78674083edb2ee6c980d0, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Water.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Water.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..21eea0f3f13a2448a79067f28153c01fea17706b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Prefabs/Voxels/Water.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0de7a5089ac5549d4a6abaa3325c5b66
+timeCreated: 1482530016
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a661960e778c580c879f67d5fa924f5e0ae2a17
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7aa75c79c65fe40d285ace42eef40723
+folderAsset: yes
+timeCreated: 1512612929
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots/VoxelMap.png b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots/VoxelMap.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a29f0c71109f884714cdb4f5505e0887b648ab5
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots/VoxelMap.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots/VoxelMap.png.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots/VoxelMap.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..707483f372905978c472ab7b6b57a335cdf5c95a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Screenshots/VoxelMap.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 805ed9e7e2bcd4071bd22b135125a912
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 0fa10f8f465f35144b194cf09fb30482
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3c251bbe4eed0870ecc68bfd9355577ed63e3429
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9ea49daf8e0bf4305ba1885d2e2cc178
+folderAsset: yes
+timeCreated: 1482516460
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/TextureScaler.cs b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/TextureScaler.cs
new file mode 100644
index 0000000000000000000000000000000000000000..94e0bf46a2c1dcdea16410d5ccd7d6e88a7504f4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/TextureScaler.cs
@@ -0,0 +1,178 @@
+// Author: Eric Haines (Eric5h5)
+// SOURCE: http://wiki.unity3d.com/index.php/TextureScale
+
+namespace Mapbox.Examples.Voxels
+{
+    using System.Threading;
+    using UnityEngine;
+
+	public class TextureScale
+	{
+		public class ThreadData
+		{
+			public int start;
+			public int end;
+			public ThreadData(int s, int e)
+			{
+				start = s;
+				end = e;
+			}
+		}
+
+		private static Color[] texColors;
+		private static Color[] newColors;
+		private static int w;
+		private static float ratioX;
+		private static float ratioY;
+		private static int w2;
+		private static int finishCount;
+		private static Mutex mutex;
+
+		public static void Point(Texture2D tex, int newWidth, int newHeight)
+		{
+			ThreadedScale(tex, newWidth, newHeight, false);
+		}
+
+		public static void Bilinear(Texture2D tex, int newWidth, int newHeight)
+		{
+			ThreadedScale(tex, newWidth, newHeight, true);
+		}
+
+		private static void ThreadedScale(Texture2D tex, int newWidth, int newHeight, bool useBilinear)
+		{
+			texColors = tex.GetPixels();
+			newColors = new Color[newWidth * newHeight];
+			if (useBilinear)
+			{
+				ratioX = 1.0f / ((float)newWidth / (tex.width - 1));
+				ratioY = 1.0f / ((float)newHeight / (tex.height - 1));
+			}
+			else {
+				ratioX = ((float)tex.width) / newWidth;
+				ratioY = ((float)tex.height) / newHeight;
+			}
+			w = tex.width;
+			w2 = newWidth;
+#if WINDOWS_UWP
+			var cores = 1;
+#else
+			var cores = Mathf.Min(SystemInfo.processorCount, newHeight);
+#endif
+			var slice = newHeight / cores;
+
+			finishCount = 0;
+			if (mutex == null)
+			{
+				mutex = new Mutex(false);
+			}
+
+#if WINDOWS_UWP
+				ThreadData threadData = new ThreadData(0, newHeight);
+				if (useBilinear)
+				{
+					BilinearScale(threadData);
+				}
+				else
+				{
+					PointScale(threadData);
+				}
+#else
+			if (cores > 1)
+			{
+				int i = 0;
+				ThreadData threadData;
+				for (i = 0; i < cores - 1; i++)
+				{
+					threadData = new ThreadData(slice * i, slice * (i + 1));
+					ParameterizedThreadStart ts = useBilinear ? new ParameterizedThreadStart(BilinearScale) : new ParameterizedThreadStart(PointScale);
+					Thread thread = new Thread(ts);
+					thread.Start(threadData);
+				}
+				threadData = new ThreadData(slice * i, newHeight);
+				if (useBilinear)
+				{
+					BilinearScale(threadData);
+				}
+				else
+				{
+					PointScale(threadData);
+				}
+				while (finishCount < cores)
+				{
+					Thread.Sleep(1);
+				}
+			}
+			else
+			{
+				ThreadData threadData = new ThreadData(0, newHeight);
+				if (useBilinear)
+				{
+					BilinearScale(threadData);
+				}
+				else
+				{
+					PointScale(threadData);
+				}
+			}
+#endif
+
+			tex.Resize(newWidth, newHeight);
+			tex.SetPixels(newColors);
+			tex.Apply();
+
+			texColors = null;
+			newColors = null;
+		}
+
+		public static void BilinearScale(System.Object obj)
+		{
+			ThreadData threadData = (ThreadData)obj;
+			for (var y = threadData.start; y < threadData.end; y++)
+			{
+				int yFloor = (int)Mathf.Floor(y * ratioY);
+				var y1 = yFloor * w;
+				var y2 = (yFloor + 1) * w;
+				var yw = y * w2;
+
+				for (var x = 0; x < w2; x++)
+				{
+					int xFloor = (int)Mathf.Floor(x * ratioX);
+					var xLerp = x * ratioX - xFloor;
+					newColors[yw + x] = ColorLerpUnclamped(ColorLerpUnclamped(texColors[y1 + xFloor], texColors[y1 + xFloor + 1], xLerp),
+														   ColorLerpUnclamped(texColors[y2 + xFloor], texColors[y2 + xFloor + 1], xLerp),
+														   y * ratioY - yFloor);
+				}
+			}
+
+			mutex.WaitOne();
+			finishCount++;
+			mutex.ReleaseMutex();
+		}
+
+		public static void PointScale(System.Object obj)
+		{
+			ThreadData threadData = (ThreadData)obj;
+			for (var y = threadData.start; y < threadData.end; y++)
+			{
+				var thisY = (int)(ratioY * y) * w;
+				var yw = y * w2;
+				for (var x = 0; x < w2; x++)
+				{
+					newColors[yw + x] = texColors[(int)(thisY + ratioX * x)];
+				}
+			}
+
+			mutex.WaitOne();
+			finishCount++;
+			mutex.ReleaseMutex();
+		}
+
+		private static Color ColorLerpUnclamped(Color c1, Color c2, float value)
+		{
+			return new Color(c1.r + (c2.r - c1.r) * value,
+						  c1.g + (c2.g - c1.g) * value,
+						  c1.b + (c2.b - c1.b) * value,
+						  c1.a + (c2.a - c1.a) * value);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/TextureScaler.cs.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/TextureScaler.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..178cceabdac6e950b2150143f53d2bea0fee0d14
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/TextureScaler.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a8a25e65acfda4860a278fa12af6af15
+timeCreated: 1479789123
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelData.cs b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..829cdf318852a9a7b439070c6e9224f0c441ef1c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelData.cs
@@ -0,0 +1,10 @@
+using UnityEngine;
+
+namespace Mapbox.Examples.Voxels
+{
+	public class VoxelData
+	{
+		public Vector3 Position;
+		public GameObject Prefab;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelData.cs.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelData.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..48c99a07ddf4722f3b54f89d2ab8fbb511e6fde0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelData.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6f62c746136134da5babc8ba012436d1
+timeCreated: 1482518006
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelFetcher.cs b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelFetcher.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f816d5162f321f4e68ff502305ad820fddb06f9f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelFetcher.cs
@@ -0,0 +1,39 @@
+using System;
+using UnityEngine;
+
+namespace Mapbox.Examples.Voxels
+{
+	public class VoxelFetcher : MonoBehaviour
+	{
+		[SerializeField]
+		VoxelColorMapper[] _voxels;
+
+		public GameObject GetVoxelFromColor(Color color)
+		{
+			GameObject matchingVoxel = _voxels[0].Voxel;
+			var minDistance = Mathf.Infinity;
+			foreach (var voxel in _voxels)
+			{
+				var distance = GetDistanceBetweenColors(voxel.Color, color);
+				if (distance < minDistance)
+				{
+					matchingVoxel = voxel.Voxel;
+					minDistance = distance;
+				}
+			}
+			return matchingVoxel;
+		}
+
+		public static float GetDistanceBetweenColors(Color color1, Color color2)
+		{
+			return Mathf.Sqrt(Mathf.Pow(color1.r - color2.r, 2f) + Mathf.Pow(color1.g - color2.g, 2f) + Mathf.Pow(color1.b - color2.b, 2f));
+		}
+	}
+
+	[Serializable]
+	public class VoxelColorMapper
+	{
+		public Color Color;
+		public GameObject Voxel;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelFetcher.cs.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelFetcher.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4598be9cdbc235d520dc598da6faf7ef25b47e21
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelFetcher.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cb0ebec3dc2616941bc6ed14d239dd56
+timeCreated: 1478714265
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelTile.cs b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0b51a782f9f64675657771844d844b6623859db6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelTile.cs
@@ -0,0 +1,216 @@
+namespace Mapbox.Examples.Voxels
+{
+	using Mapbox.Geocoding;
+	using Mapbox.Map;
+	using Mapbox.Unity;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using System.Collections;
+	using System.Linq;
+	using System;
+	using Mapbox.Utils;
+	using Mapbox.Platform;
+	using Mapbox.Unity.Utilities;
+	class VoxelTile : MonoBehaviour, Mapbox.Utils.IObserver<RasterTile>, Mapbox.Utils.IObserver<RawPngRasterTile>
+	{
+		[SerializeField]
+		ForwardGeocodeUserInput _geocodeInput;
+
+		[SerializeField]
+		int _zoom = 17;
+
+		[SerializeField]
+		float _elevationMultiplier = 1f;
+
+		[SerializeField]
+		int _voxelDepthPadding = 1;
+
+		[SerializeField]
+		int _tileWidthInVoxels;
+
+		[SerializeField]
+		VoxelFetcher _voxelFetcher;
+
+		[SerializeField]
+		GameObject _camera;
+
+		[SerializeField]
+		int _voxelBatchCount = 100;
+
+		[SerializeField]
+		string _styleUrl;
+
+		Map<RasterTile> _raster;
+		Map<RawPngRasterTile> _elevation;
+
+		Texture2D _rasterTexture;
+		Texture2D _elevationTexture;
+
+		IFileSource _fileSource;
+
+		List<VoxelData> _voxels = new List<VoxelData>();
+
+		List<GameObject> _instantiatedVoxels = new List<GameObject>();
+
+		float _tileScale;
+
+		void Awake()
+		{
+			_geocodeInput.OnGeocoderResponse += GeocodeInput_OnGeocoderResponse;
+		}
+
+		void OnDestroy()
+		{
+			if (_geocodeInput)
+			{
+				_geocodeInput.OnGeocoderResponse -= GeocodeInput_OnGeocoderResponse;
+			}
+		}
+
+		void Start()
+		{
+			_fileSource = MapboxAccess.Instance;
+
+			_raster = new Map<RasterTile>(_fileSource);
+			_elevation = new Map<RawPngRasterTile>(_fileSource);
+
+			if (!string.IsNullOrEmpty(_styleUrl))
+			{
+				_raster.TilesetId = _styleUrl;
+			}
+			_elevation.TilesetId = "mapbox.terrain-rgb";
+
+			_elevation.Subscribe(this);
+			_raster.Subscribe(this);
+
+			// Torres Del Paine
+			FetchWorldData(new Vector2d(-50.98306, -72.96639));
+		}
+
+		void GeocodeInput_OnGeocoderResponse(ForwardGeocodeResponse response)
+		{
+			Cleanup();
+			FetchWorldData(_geocodeInput.Coordinate);
+		}
+
+		void Cleanup()
+		{
+			StopAllCoroutines();
+			_rasterTexture = null;
+			_elevationTexture = null;
+			_voxels.Clear();
+			foreach (var voxel in _instantiatedVoxels)
+			{
+				voxel.Destroy();
+			}
+		}
+
+		void FetchWorldData(Vector2d coordinates)
+		{
+			_tileScale = (_tileWidthInVoxels / 256f) / Conversions.GetTileScaleInMeters((float)coordinates.x, _zoom);
+			var bounds = new Vector2dBounds();
+			bounds.Center = coordinates;
+			_raster.SetVector2dBoundsZoom(bounds, _zoom);
+			_elevation.SetVector2dBoundsZoom(bounds, _zoom);
+			_raster.Update();
+			_elevation.Update();
+		}
+
+		public void OnNext(RasterTile tile)
+		{
+			if (
+				!tile.HasError
+				&& (tile.CurrentState == Tile.State.Loaded || tile.CurrentState == Tile.State.Updated)
+			)
+			{
+				_rasterTexture = new Texture2D(2, 2);
+				_rasterTexture.LoadImage(tile.Data);
+				TextureScale.Point(_rasterTexture, _tileWidthInVoxels, _tileWidthInVoxels);
+
+				if (ShouldBuildWorld())
+				{
+					BuildVoxelWorld();
+				}
+			}
+		}
+
+		public void OnNext(RawPngRasterTile tile)
+		{
+			if (
+				!tile.HasError
+				&& (tile.CurrentState == Tile.State.Loaded || tile.CurrentState == Tile.State.Updated)
+			)
+			{
+				_elevationTexture = new Texture2D(2, 2);
+				_elevationTexture.LoadImage(tile.Data);
+				TextureScale.Point(_elevationTexture, _tileWidthInVoxels, _tileWidthInVoxels);
+
+				if (ShouldBuildWorld())
+				{
+					BuildVoxelWorld();
+				}
+			}
+		}
+
+		bool ShouldBuildWorld()
+		{
+			return _rasterTexture != null && _elevationTexture != null;
+		}
+
+		void BuildVoxelWorld()
+		{
+			var baseHeight = (int)Conversions.GetRelativeHeightFromColor(
+				(_elevationTexture.GetPixel(_elevationTexture.width / 2, _elevationTexture.height / 2))
+				, _elevationMultiplier * _tileScale
+			);
+
+			for (int x = 0; x < _rasterTexture.width; x++)
+			{
+				for (int z = 0; z < _rasterTexture.height; z++)
+				{
+					var height = (int)Conversions.GetRelativeHeightFromColor(
+						_elevationTexture.GetPixel(x, z)
+						, _elevationMultiplier * _tileScale
+					) - baseHeight;
+
+					var startHeight = height - _voxelDepthPadding - 1;
+					var color = _rasterTexture.GetPixel(x, z);
+
+					for (int y = startHeight; y < height; y++)
+					{
+						_voxels.Add(new VoxelData() { Position = new Vector3(x, y, z), Prefab = _voxelFetcher.GetVoxelFromColor(color) });
+					}
+				}
+			}
+
+			if (_camera != null)
+			{
+				_camera.transform.position = new Vector3(_tileWidthInVoxels * .5f, 2f, _tileWidthInVoxels * .5f);
+			}
+
+			if (this != null)
+			{
+				StartCoroutine(BuildRoutine());
+			}
+		}
+
+		IEnumerator BuildRoutine()
+		{
+			var distanceOrderedVoxels = _voxels.OrderBy(x => (_camera.transform.position - x.Position).magnitude).ToList();
+
+			for (int i = 0; i < distanceOrderedVoxels.Count; i += _voxelBatchCount)
+			{
+				for (int j = 0; j < _voxelBatchCount; j++)
+				{
+					var index = i + j;
+					if (index < distanceOrderedVoxels.Count)
+					{
+						var voxel = distanceOrderedVoxels[index];
+						_instantiatedVoxels.Add(Instantiate(voxel.Prefab, voxel.Position, Quaternion.identity, transform) as GameObject);
+					}
+				}
+				yield return null;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelTile.cs.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b0ae3def357c7169e65a52516ea7836c5380305d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Scripts/VoxelTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: de5fb1ae8036545848eae9ab4c9dd119
+timeCreated: 1482517130
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e8589f63df9917a91b21a396e578d7851cf08a04
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: fa8459f9013934b5c8e21a28a6cb3cfd
+folderAsset: yes
+timeCreated: 1482530146
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures/VoxelAtlas.png b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures/VoxelAtlas.png
new file mode 100644
index 0000000000000000000000000000000000000000..78a5e5d5c3461b59427abe4696fc029eee53eb07
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures/VoxelAtlas.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures/VoxelAtlas.png.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures/VoxelAtlas.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fa73fb9c3468d866bbc86306245e400173ce40a6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/Textures/VoxelAtlas.png.meta
@@ -0,0 +1,57 @@
+fileFormatVersion: 2
+guid: fd06cc531f54bee4b9fedd9a1b04d9a7
+timeCreated: 1466594014
+licenseType: Store
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  allowsAlphaSplitting: 0
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/VoxelMap.unity b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/VoxelMap.unity
new file mode 100644
index 0000000000000000000000000000000000000000..e02b7a7420b34761c5d07298bfcab9ccf4ac9dda
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/VoxelMap.unity
@@ -0,0 +1,797 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 0.99
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.45140034, g: 0.50089264, b: 0.5723172, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1001 &64601981
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000013044306136, guid: 3adcee2515f8c49f4a7afb3bacf2c56e,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 3adcee2515f8c49f4a7afb3bacf2c56e, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &366683261
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4000013799264764, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4000013799264764, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4000013799264764, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4000013799264764, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4000013799264764, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4000013799264764, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4000013799264764, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4000013799264764, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114000013520406336, guid: 3fba37c4357e94357a9e030c152cb582,
+        type: 2}
+      propertyPath: _geocodeInput
+      value: 
+      objectReference: {fileID: 476261658}
+    - target: {fileID: 114000013520406336, guid: 3fba37c4357e94357a9e030c152cb582,
+        type: 2}
+      propertyPath: _camera
+      value: 
+      objectReference: {fileID: 643084841}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 3fba37c4357e94357a9e030c152cb582, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &476261657
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224000010322541952, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224673336321870232, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224673336321870232, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224673336321870232, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 127.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224673336321870232, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224673336321870232, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 231
+      objectReference: {fileID: 0}
+    - target: {fileID: 224673336321870232, guid: be407b770a1444c32b66d2c4ecd7331c,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: be407b770a1444c32b66d2c4ecd7331c, type: 2}
+  m_IsPrefabParent: 0
+--- !u!114 &476261658 stripped
+MonoBehaviour:
+  m_PrefabParentObject: {fileID: 114510881663149770, guid: be407b770a1444c32b66d2c4ecd7331c,
+    type: 2}
+  m_PrefabInternal: {fileID: 476261657}
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+--- !u!1 &643084841
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 643084846}
+  - component: {fileID: 643084845}
+  - component: {fileID: 643084844}
+  - component: {fileID: 643084843}
+  - component: {fileID: 643084842}
+  - component: {fileID: 643084847}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &643084842
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 643084841}
+  m_Enabled: 1
+--- !u!124 &643084843
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 643084841}
+  m_Enabled: 1
+--- !u!92 &643084844
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 643084841}
+  m_Enabled: 1
+--- !u!20 &643084845
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 643084841}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.1544118, g: 0.1544118, b: 0.1544118, a: 1}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &643084846
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 643084841}
+  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}
+--- !u!114 &643084847
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 643084841}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce97be288e861a243b6c6df4cc790edc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  ShadowDistance: 500
+--- !u!1 &695529012
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 695529014}
+  - component: {fileID: 695529013}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &695529013
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 695529012}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 1
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 0.76
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &695529014
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 695529012}
+  m_LocalRotation: {x: 0.25000006, y: -0.24999997, z: 0.066987306, w: 0.9330127}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 30, y: -30, z: 0}
+--- !u!1 &715953555
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 715953558}
+  - component: {fileID: 715953557}
+  - component: {fileID: 715953556}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &715953556
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 715953555}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &715953557
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 715953555}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &715953558
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 715953555}
+  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: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &1800760828
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 6
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0.5981115
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 116.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: -248.82524
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 213
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 477.65048
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 497.65048
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: -17
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/VoxelMap.unity.meta b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/VoxelMap.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..387226d1faa1915f3767148a27e71ae05e6738ff
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/8_VoxelMap/VoxelMap.unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: daabe3028a2c14661b829fff509af827
+timeCreated: 1482519022
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs.meta b/T3-Unity/Assets/Mapbox/Examples/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1714bae0a87390f42047d787399f53fa4f32d12c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6e002d6b4103c4850aabdc78905ab992
+folderAsset: yes
+timeCreated: 1490646333
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/CustomMarkerPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/Prefabs/CustomMarkerPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..7c2341f3e5336efd18208ab14189e2f75f254ecd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/CustomMarkerPrefab.prefab
@@ -0,0 +1,234 @@
+%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: 1839187062704024}
+  m_IsPrefabParent: 1
+--- !u!1 &1198850956108242
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4652392487226610}
+  - component: {fileID: 23533797773284460}
+  - component: {fileID: 102975335696083196}
+  m_Layer: 10
+  m_Name: TextMesh
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1250323005008744
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4137047146285094}
+  - component: {fileID: 33886551407168220}
+  - component: {fileID: 135524869147215964}
+  - component: {fileID: 23674807072557778}
+  m_Layer: 0
+  m_Name: Sphere
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1839187062704024
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4936519322476758}
+  - component: {fileID: 114657051886494624}
+  - component: {fileID: 114584515627220354}
+  m_Layer: 10
+  m_Name: CustomMarkerPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4137047146285094
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1250323005008744}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.28674006, y: 0.28674006, z: 0.28674006}
+  m_Children: []
+  m_Father: {fileID: 4936519322476758}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4652392487226610
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1198850956108242}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.61, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4936519322476758}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4936519322476758
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1839187062704024}
+  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:
+  - {fileID: 4652392487226610}
+  - {fileID: 4137047146285094}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23533797773284460
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1198850956108242}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23674807072557778
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1250323005008744}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33886551407168220
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1250323005008744}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!102 &102975335696083196
+TextMesh:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1198850956108242}
+  m_Text: Custom Marker
+  m_OffsetZ: 0
+  m_CharacterSize: 1
+  m_LineSpacing: 1
+  m_Anchor: 4
+  m_Alignment: 1
+  m_TabSize: 4
+  m_FontSize: 50
+  m_FontStyle: 1
+  m_RichText: 1
+  m_Font: {fileID: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+  m_Color:
+    serializedVersion: 2
+    rgba: 4292006610
+--- !u!114 &114584515627220354
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1839187062704024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 22805dac1b8933d49b89c409a8903cde, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 0}
+--- !u!114 &114657051886494624
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1839187062704024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 75f4a424246980d46a214433149ef222, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _textMesh: {fileID: 102975335696083196}
+--- !u!135 &135524869147215964
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1250323005008744}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/CustomMarkerPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Prefabs/CustomMarkerPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..09d8f90d8c9e19e1e41dc48b71d92a7c16acb934
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/CustomMarkerPrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9b5b1b761a8994c07affd0a05396633b
+timeCreated: 1512504800
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/ExampleDirectionsQuery.prefab b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ExampleDirectionsQuery.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..d4797ffb63c3ba86616f2941629ec8def1504784
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ExampleDirectionsQuery.prefab
@@ -0,0 +1,206 @@
+%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: 1683829442213378}
+  m_IsPrefabParent: 1
+--- !u!1 &1079689596100296
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4059629147633642}
+  - component: {fileID: 212225065956172554}
+  m_Layer: 0
+  m_Name: End
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1329985577665860
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4828678542497540}
+  - component: {fileID: 212502511570944718}
+  m_Layer: 0
+  m_Name: Start
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1683829442213378
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4703605594296902}
+  - component: {fileID: 114186913096469506}
+  m_Layer: 0
+  m_Name: ExampleDirectionsQuery
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4059629147633642
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079689596100296}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: -13, y: 4, z: -118.6}
+  m_LocalScale: {x: 20, y: 20, z: 20}
+  m_Children: []
+  m_Father: {fileID: 4703605594296902}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!4 &4703605594296902
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1683829442213378}
+  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:
+  - {fileID: 4828678542497540}
+  - {fileID: 4059629147633642}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4828678542497540
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1329985577665860}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 90, y: 4, z: 45.2}
+  m_LocalScale: {x: 20, y: 20, z: 20}
+  m_Children: []
+  m_Father: {fileID: 4703605594296902}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!114 &114186913096469506
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1683829442213378}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 44d601772d842a94cb5ab933dca6bd4f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 0}
+  MeshModifiers:
+  - {fileID: 11400000, guid: d31b2cb2a75a54d5bb6402fe0bd8c6cf, type: 2}
+  - {fileID: 11400000, guid: cd4bcff551c0d418997f52b78da87a0e, type: 2}
+  _waypoints:
+  - {fileID: 4828678542497540}
+  - {fileID: 4059629147633642}
+  _material: {fileID: 2100000, guid: ef6c956ca085647fba4624a08c344419, type: 2}
+  _directionsLineWidth: 2
+--- !u!212 &212225065956172554
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079689596100296}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: ef6c956ca085647fba4624a08c344419, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: f04f7faa5cfd8444a9b61e426135725f, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!212 &212502511570944718
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1329985577665860}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: ef6c956ca085647fba4624a08c344419, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: f04f7faa5cfd8444a9b61e426135725f, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/ExampleDirectionsQuery.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ExampleDirectionsQuery.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35b5d5a2e172127c71246e2f95fd3206d1d1060e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ExampleDirectionsQuery.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6c8a0b62ddd604e678d6081484a0c73b
+timeCreated: 1512238146
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/ForwardGeocoderCanvas.prefab b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ForwardGeocoderCanvas.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..41d75aefaf178ee2623ccba7cbd77109706d9a00
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ForwardGeocoderCanvas.prefab
@@ -0,0 +1,613 @@
+%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: 1000010250261898}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010250261898
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010322541952}
+  - component: {fileID: 223000013761403728}
+  - component: {fileID: 114000014135562926}
+  - component: {fileID: 114000011456755700}
+  m_Layer: 5
+  m_Name: ForwardGeocoderCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1076771537757728
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224452619827713746}
+  - component: {fileID: 222766424210119724}
+  - component: {fileID: 114344082758281516}
+  m_Layer: 5
+  m_Name: SearchText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1181107929014462
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224046937778381844}
+  - component: {fileID: 114553391833934522}
+  - component: {fileID: 222879926862981688}
+  - component: {fileID: 114889325884324594}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1309518068415382
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224673336321870232}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1380922150668550
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224115682910875364}
+  - component: {fileID: 222804968949319384}
+  - component: {fileID: 114275325375458668}
+  m_Layer: 5
+  m_Name: Placeholder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1466329917264696
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224295732298022336}
+  - component: {fileID: 222440549322052484}
+  - component: {fileID: 114876068216323612}
+  - component: {fileID: 114029861295944968}
+  - component: {fileID: 114510881663149770}
+  m_Layer: 5
+  m_Name: UserInput
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1916093661162800
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224979892395402000}
+  - component: {fileID: 222386295799634708}
+  - component: {fileID: 114173956638953220}
+  m_Layer: 5
+  m_Name: GeocoderLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114000011456755700
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010250261898}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114000014135562926
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010250261898}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 400, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114029861295944968
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1466329917264696}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114876068216323612}
+  m_TextComponent: {fileID: 114344082758281516}
+  m_Placeholder: {fileID: 114275325375458668}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: ForwardGeocoder
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 0.85
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &114173956638953220
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1916093661162800}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Search
+--- !u!114 &114275325375458668
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1380922150668550}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 2
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter a location
+--- !u!114 &114344082758281516
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1076771537757728}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!114 &114510881663149770
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1466329917264696}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114553391833934522
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1181107929014462}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 12
+    m_Right: 7
+    m_Top: 7
+    m_Bottom: 3
+  m_ChildAlignment: 0
+  m_Spacing: 4
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114876068216323612
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1466329917264696}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114889325884324594
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1181107929014462}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.559}
+  m_RaycastTarget: 1
+  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 &222386295799634708
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1916093661162800}
+--- !u!222 &222440549322052484
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1466329917264696}
+--- !u!222 &222766424210119724
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1076771537757728}
+--- !u!222 &222804968949319384
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1380922150668550}
+--- !u!222 &222879926862981688
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1181107929014462}
+--- !u!223 &223000013761403728
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010250261898}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224000010322541952
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010250261898}
+  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_Children:
+  - {fileID: 224046937778381844}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224046937778381844
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1181107929014462}
+  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:
+  - {fileID: 224673336321870232}
+  m_Father: {fileID: 224000010322541952}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 250, y: 30}
+  m_Pivot: {x: 1, y: 1}
+--- !u!224 &224115682910875364
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1380922150668550}
+  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: 224295732298022336}
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224295732298022336
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1466329917264696}
+  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:
+  - {fileID: 224115682910875364}
+  - {fileID: 224452619827713746}
+  m_Father: {fileID: 224673336321870232}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224452619827713746
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1076771537757728}
+  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: 224295732298022336}
+  m_RootOrder: 1
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224673336321870232
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1309518068415382}
+  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:
+  - {fileID: 224979892395402000}
+  - {fileID: 224295732298022336}
+  m_Father: {fileID: 224046937778381844}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224979892395402000
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1916093661162800}
+  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: 224673336321870232}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 1, y: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/ForwardGeocoderCanvas.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ForwardGeocoderCanvas.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d421eecb245cc94a07a019e1102c212b1e7a83fa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ForwardGeocoderCanvas.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: be407b770a1444c32b66d2c4ecd7331c
+timeCreated: 1482434180
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/InfoCanvas.prefab b/T3-Unity/Assets/Mapbox/Examples/Prefabs/InfoCanvas.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..e39bfa548f5ee4baf9805389da7d0ce3ab98b62f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/InfoCanvas.prefab
@@ -0,0 +1,950 @@
+%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: 1611603657303738}
+  m_IsPrefabParent: 1
+--- !u!1 &1075402611280056
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224288117911683748}
+  - component: {fileID: 222736083961075782}
+  - component: {fileID: 114171432499867028}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1164238839120984
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224907993215804030}
+  - component: {fileID: 222780347239645248}
+  - component: {fileID: 114157230607012598}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1236063663274054
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224525590069381872}
+  - component: {fileID: 114851457892535076}
+  - component: {fileID: 222612735197951874}
+  - component: {fileID: 114274646301257266}
+  m_Layer: 5
+  m_Name: Scroll View
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1611603657303738
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224315790701160254}
+  - component: {fileID: 223952615731222028}
+  - component: {fileID: 114478515078703860}
+  - component: {fileID: 114699889412236512}
+  m_Layer: 5
+  m_Name: InfoCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1625238272469700
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224857786874416376}
+  - component: {fileID: 114891927785227194}
+  - component: {fileID: 114924076234835268}
+  m_Layer: 5
+  m_Name: Content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1627694813252210
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224907856650798614}
+  - component: {fileID: 114274806589053762}
+  - component: {fileID: 222930314247106694}
+  - component: {fileID: 114040611941735254}
+  m_Layer: 5
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1662473570504252
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224556538285248190}
+  - component: {fileID: 222629377235818074}
+  - component: {fileID: 114747498434732302}
+  - component: {fileID: 114731470950229392}
+  m_Layer: 5
+  m_Name: Scrollbar Vertical
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1678321216271386
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224129221700293934}
+  m_Layer: 5
+  m_Name: Sliding Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1817050698936524
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224835413515161394}
+  - component: {fileID: 222902422417824362}
+  - component: {fileID: 114603753021256032}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1852283228421216
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224518340005525372}
+  - component: {fileID: 222826070268895422}
+  - component: {fileID: 114905903597709784}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1912118435774886
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224008758809847412}
+  - component: {fileID: 222360739123210478}
+  - component: {fileID: 114577273954003758}
+  - component: {fileID: 114714814348837408}
+  m_Layer: 5
+  m_Name: DismissButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114040611941735254
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1627694813252210}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10917, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114157230607012598
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1164238839120984}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.63235295, g: 0.63235295, b: 0.63235295, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114171432499867028
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1075402611280056}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Dismiss
+--- !u!114 &114274646301257266
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236063663274054}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0}
+  m_RaycastTarget: 1
+  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!114 &114274806589053762
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1627694813252210}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &114478515078703860
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611603657303738}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 400, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114577273954003758
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1912118435774886}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114603753021256032
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817050698936524}
+  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: 0.9705882, g: 0.9705882, b: 0.9705882, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: '<b>Real World Data, Minecraft-inspired Map</b>
+
+
+    This Minecraft-inspired example demonstrates a less traditional way to consume
+    Mapbox data for maps or world construction.
+
+
+    VoxelTile is responsible for fetching both a styled raster tile and a mapbox.terrain-rgb
+    (global elevation) tile. The styled raster pixels are sampled to determine which
+    voxels to generate, via the VoxelFetcher. This is achieved using a nearest color
+    formula. The elevation tile pixels are sampled to determine where to vertically
+    place the voxels.
+
+
+    Zoom: the zoom level at which to request the tiles.
+
+
+    Elevation Multiplier: used to exaggerate the real-world height.
+
+
+    Voxel Depth Padding: determine how many voxels to spawn below the designated height.
+    This helps fill holes in environments with extreme elevation variations.
+
+
+    Tile Width in Voxels: How many voxels to generate across each tile. This will
+    affect the detail of the world. Raster textures are downsampled according to this
+    value.
+
+
+    Voxel Batch Count: The number of voxels to spawn at once. Keep this number low
+    to prevent locking the main thread during construction.'
+--- !u!114 &114699889412236512
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611603657303738}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114714814348837408
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1912118435774886}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114577273954003758}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1611603657303738}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114731470950229392
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1662473570504252}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114157230607012598}
+  m_HandleRect: {fileID: 224907993215804030}
+  m_Direction: 2
+  m_Value: 1
+  m_Size: 0.4183608
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114747498434732302
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1662473570504252}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19852942, g: 0.19852942, b: 0.19852942, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114851457892535076
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236063663274054}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 224857786874416376}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 2
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 224907856650798614}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 114731470950229392}
+  m_HorizontalScrollbarVisibility: 2
+  m_VerticalScrollbarVisibility: 2
+  m_HorizontalScrollbarSpacing: -3
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114891927785227194
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625238272469700}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 10
+    m_Bottom: 10
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114905903597709784
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1852283228421216}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.678}
+  m_RaycastTarget: 1
+  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: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114924076234835268
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625238272469700}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!222 &222360739123210478
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1912118435774886}
+--- !u!222 &222612735197951874
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236063663274054}
+--- !u!222 &222629377235818074
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1662473570504252}
+--- !u!222 &222736083961075782
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1075402611280056}
+--- !u!222 &222780347239645248
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1164238839120984}
+--- !u!222 &222826070268895422
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1852283228421216}
+--- !u!222 &222902422417824362
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817050698936524}
+--- !u!222 &222930314247106694
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1627694813252210}
+--- !u!223 &223952615731222028
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611603657303738}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1
+  m_TargetDisplay: 0
+--- !u!224 &224008758809847412
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1912118435774886}
+  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:
+  - {fileID: 224288117911683748}
+  m_Father: {fileID: 224315790701160254}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 250, y: 30}
+  m_Pivot: {x: 1, y: 0}
+--- !u!224 &224129221700293934
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1678321216271386}
+  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:
+  - {fileID: 224907993215804030}
+  m_Father: {fileID: 224556538285248190}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224288117911683748
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1075402611280056}
+  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: 224008758809847412}
+  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!224 &224315790701160254
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611603657303738}
+  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_Children:
+  - {fileID: 224518340005525372}
+  - {fileID: 224008758809847412}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224518340005525372
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1852283228421216}
+  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:
+  - {fileID: 224525590069381872}
+  m_Father: {fileID: 224315790701160254}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 30}
+  m_SizeDelta: {x: 250, y: 200}
+  m_Pivot: {x: 1, y: 0}
+--- !u!224 &224525590069381872
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1236063663274054}
+  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:
+  - {fileID: 224907856650798614}
+  - {fileID: 224556538285248190}
+  m_Father: {fileID: 224518340005525372}
+  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!224 &224556538285248190
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1662473570504252}
+  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:
+  - {fileID: 224129221700293934}
+  m_Father: {fileID: 224525590069381872}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: -0.0000076294}
+  m_Pivot: {x: 1, y: 1}
+--- !u!224 &224835413515161394
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817050698936524}
+  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: 224857786874416376}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224857786874416376
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625238272469700}
+  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:
+  - {fileID: 224835413515161394}
+  m_Father: {fileID: 224907856650798614}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224907856650798614
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1627694813252210}
+  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:
+  - {fileID: 224857786874416376}
+  m_Father: {fileID: 224525590069381872}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224907993215804030
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1164238839120984}
+  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: 224129221700293934}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/InfoCanvas.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Prefabs/InfoCanvas.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d61b08a636bd94eb386839a9ac808b366fb70d57
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/InfoCanvas.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 98be219873e6d4dffb5949746f515a33
+timeCreated: 1512241039
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/LoadingScreenCanvas.prefab b/T3-Unity/Assets/Mapbox/Examples/Prefabs/LoadingScreenCanvas.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..a42d32db3e489a8918bc43015d3e70608ceef00a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/LoadingScreenCanvas.prefab
@@ -0,0 +1,243 @@
+%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: 1393483683185582}
+  m_IsPrefabParent: 1
+--- !u!1 &1393483683185582
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224557595208707984}
+  - component: {fileID: 223857351565792310}
+  - component: {fileID: 114103084892184410}
+  m_Layer: 5
+  m_Name: LoadingScreenCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1579282941551776
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224981938809552422}
+  - component: {fileID: 222451923021558792}
+  - component: {fileID: 114674943221688514}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1875442249485622
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224344323188232838}
+  - component: {fileID: 222582153789527752}
+  - component: {fileID: 114465732514466838}
+  m_Layer: 5
+  m_Name: Loading
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114103084892184410
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1393483683185582}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 81f500634e518f74bbba30a8e7d186bd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _content: {fileID: 1579282941551776}
+  _text: {fileID: 114465732514466838}
+  _curve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 2
+      time: 0
+      value: 0.2000122
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+    - serializedVersion: 2
+      time: 1
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 0
+    m_RotationOrder: 0
+--- !u!114 &114465732514466838
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1875442249485622}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.44852942, g: 0.44852942, b: 0.44852942, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 7dfc2e1472ac84e1bb749a8a9f934483, type: 3}
+    m_FontSize: 50
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 5
+    m_MaxSize: 50
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: PRESS PLAY
+--- !u!114 &114674943221688514
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1579282941551776}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.17647058, g: 0.17647058, b: 0.17647058, a: 1}
+  m_RaycastTarget: 1
+  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: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &222451923021558792
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1579282941551776}
+--- !u!222 &222582153789527752
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1875442249485622}
+--- !u!223 &223857351565792310
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1393483683185582}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1000
+  m_TargetDisplay: 0
+--- !u!224 &224344323188232838
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1875442249485622}
+  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: 224981938809552422}
+  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!224 &224557595208707984
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1393483683185582}
+  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_Children:
+  - {fileID: 224981938809552422}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224981938809552422
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1579282941551776}
+  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:
+  - {fileID: 224344323188232838}
+  m_Father: {fileID: 224557595208707984}
+  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}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/LoadingScreenCanvas.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Prefabs/LoadingScreenCanvas.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9e39d7d31b31c4905de107a89a7102ff4d816007
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/LoadingScreenCanvas.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b95c449128f3b44bca8b83258c669aa5
+timeCreated: 1512238173
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapCanvas.prefab b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapCanvas.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..360cb680257c373deae3c8805d43ea3e1106456b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapCanvas.prefab
@@ -0,0 +1,1094 @@
+%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: 1246307186655398}
+  m_IsPrefabParent: 1
+--- !u!1 &1041193504261098
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224178813210018432}
+  m_Layer: 5
+  m_Name: Input
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1130209808532952
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224885144614080300}
+  m_Layer: 5
+  m_Name: Handle Slide Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1246307186655398
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224709793726594912}
+  - component: {fileID: 223082131773786238}
+  - component: {fileID: 114329158974351212}
+  - component: {fileID: 114398042337336202}
+  - component: {fileID: 114632240689637620}
+  m_Layer: 5
+  m_Name: ReloadMapCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1291234444091486
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224771389989224222}
+  - component: {fileID: 222371227108701474}
+  - component: {fileID: 114848192389514190}
+  m_Layer: 5
+  m_Name: Fill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1309470221448190
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224333804213914554}
+  - component: {fileID: 222294672724154868}
+  - component: {fileID: 114620971063286122}
+  m_Layer: 5
+  m_Name: Placeholder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1401021118005222
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224538534500426518}
+  m_Layer: 5
+  m_Name: Zoom
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1414859872329428
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224048572454037920}
+  - component: {fileID: 222386617050530544}
+  - component: {fileID: 114431620286575106}
+  - component: {fileID: 114711793206807384}
+  - component: {fileID: 114850405259029928}
+  m_Layer: 5
+  m_Name: UserInput
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1452734211165118
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224120818998345342}
+  - component: {fileID: 222195337741236042}
+  - component: {fileID: 114608658907116364}
+  m_Layer: 5
+  m_Name: SearchText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1465653171882796
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224031879083185220}
+  - component: {fileID: 114539028991012686}
+  - component: {fileID: 222276008827229016}
+  - component: {fileID: 114225640444197696}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1466557346746850
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224155718882878594}
+  - component: {fileID: 114023684558016336}
+  m_Layer: 5
+  m_Name: Slider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1478380032039622
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224022329360643548}
+  - component: {fileID: 222471317231544810}
+  - component: {fileID: 114615401511486178}
+  m_Layer: 5
+  m_Name: ZoomLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1599729465296294
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224748083790024428}
+  m_Layer: 5
+  m_Name: Fill Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1748656016281148
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224722295744740158}
+  - component: {fileID: 222410947139892146}
+  - component: {fileID: 114372218451069632}
+  m_Layer: 5
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1768860123691022
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224917229095272750}
+  - component: {fileID: 222359169490577362}
+  - component: {fileID: 114517333868574894}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1884765832795660
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224460312872028030}
+  - component: {fileID: 222758917679313182}
+  - component: {fileID: 114470729243328852}
+  m_Layer: 5
+  m_Name: GeocoderLabel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114023684558016336
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1466557346746850}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114372218451069632}
+  m_FillRect: {fileID: 224771389989224222}
+  m_HandleRect: {fileID: 224722295744740158}
+  m_Direction: 0
+  m_MinValue: 0
+  m_MaxValue: 20
+  m_WholeNumbers: 1
+  m_Value: 16
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114225640444197696
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1465653171882796}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.559}
+  m_RaycastTarget: 1
+  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!114 &114329158974351212
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1246307186655398}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 400, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114372218451069632
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1748656016281148}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10913, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114398042337336202
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1246307186655398}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114431620286575106
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1414859872329428}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114470729243328852
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1884765832795660}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Search
+--- !u!114 &114517333868574894
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1768860123691022}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114539028991012686
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1465653171882796}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 12
+    m_Right: 7
+    m_Top: 7
+    m_Bottom: 3
+  m_ChildAlignment: 0
+  m_Spacing: 4
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114608658907116364
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1452734211165118}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!114 &114615401511486178
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1478380032039622}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Zoom
+--- !u!114 &114620971063286122
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1309470221448190}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
+  m_RaycastTarget: 1
+  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: 12800000, guid: 218956a5c2a6e42d6a60afccf80b002b, type: 3}
+    m_FontSize: 10
+    m_FontStyle: 2
+    m_BestFit: 1
+    m_MinSize: 8
+    m_MaxSize: 10
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Enter your location
+--- !u!114 &114632240689637620
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1246307186655398}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c00b1c78fb49f4ebd834aac587275216, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _forwardGeocoder: {fileID: 114850405259029928}
+  _zoomSlider: {fileID: 114023684558016336}
+--- !u!114 &114711793206807384
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1414859872329428}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114431620286575106}
+  m_TextComponent: {fileID: 114608658907116364}
+  m_Placeholder: {fileID: 114620971063286122}
+  m_ContentType: 0
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 0
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_CharacterValidation: 0
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: ForwardGeocoder
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: 
+  m_CaretBlinkRate: 0.85
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+--- !u!114 &114848192389514190
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1291234444091486}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114850405259029928
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1414859872329428}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9bce9ff37f5964623a657f4003af54f2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!222 &222195337741236042
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1452734211165118}
+--- !u!222 &222276008827229016
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1465653171882796}
+--- !u!222 &222294672724154868
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1309470221448190}
+--- !u!222 &222359169490577362
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1768860123691022}
+--- !u!222 &222371227108701474
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1291234444091486}
+--- !u!222 &222386617050530544
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1414859872329428}
+--- !u!222 &222410947139892146
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1748656016281148}
+--- !u!222 &222471317231544810
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1478380032039622}
+--- !u!222 &222758917679313182
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1884765832795660}
+--- !u!223 &223082131773786238
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1246307186655398}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1
+  m_TargetDisplay: 0
+--- !u!224 &224022329360643548
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1478380032039622}
+  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: 224538534500426518}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224031879083185220
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1465653171882796}
+  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:
+  - {fileID: 224178813210018432}
+  - {fileID: 224538534500426518}
+  m_Father: {fileID: 224709793726594912}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 250, y: 60}
+  m_Pivot: {x: 1, y: 1}
+--- !u!224 &224048572454037920
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1414859872329428}
+  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:
+  - {fileID: 224333804213914554}
+  - {fileID: 224120818998345342}
+  m_Father: {fileID: 224178813210018432}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224120818998345342
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1452734211165118}
+  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: 224048572454037920}
+  m_RootOrder: 1
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224155718882878594
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1466557346746850}
+  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:
+  - {fileID: 224917229095272750}
+  - {fileID: 224748083790024428}
+  - {fileID: 224885144614080300}
+  m_Father: {fileID: 224538534500426518}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.25, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -12}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224178813210018432
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1041193504261098}
+  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:
+  - {fileID: 224460312872028030}
+  - {fileID: 224048572454037920}
+  m_Father: {fileID: 224031879083185220}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224333804213914554
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1309470221448190}
+  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: 224048572454037920}
+  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: -10, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224460312872028030
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1884765832795660}
+  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: 224178813210018432}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0.25, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 1, y: 0}
+--- !u!224 &224538534500426518
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1401021118005222}
+  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:
+  - {fileID: 224022329360643548}
+  - {fileID: 224155718882878594}
+  m_Father: {fileID: 224031879083185220}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224709793726594912
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1246307186655398}
+  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_Children:
+  - {fileID: 224031879083185220}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224722295744740158
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1748656016281148}
+  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: 224885144614080300}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 20, y: 8}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224748083790024428
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1599729465296294}
+  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:
+  - {fileID: 224771389989224222}
+  m_Father: {fileID: 224155718882878594}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: -5, y: 0}
+  m_SizeDelta: {x: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224771389989224222
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1291234444091486}
+  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: 224748083790024428}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 10, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224885144614080300
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1130209808532952}
+  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:
+  - {fileID: 224722295744740158}
+  m_Father: {fileID: 224155718882878594}
+  m_RootOrder: 2
+  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: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224917229095272750
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1768860123691022}
+  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: 224155718882878594}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.25}
+  m_AnchorMax: {x: 1, y: 0.75}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapCanvas.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapCanvas.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..70ca53f010583dc7adfa421e5fa38f1460cc2598
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapCanvas.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 00f5bf1ff996842fc82384f8f686fda6
+timeCreated: 1506109710
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapIconicBuildingCanvas.prefab b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapIconicBuildingCanvas.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..6f5532001b503f55ff943bb51b2368ba5b5b737e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapIconicBuildingCanvas.prefab
@@ -0,0 +1,1619 @@
+%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: 1957461795229892}
+  m_IsPrefabParent: 1
+--- !u!1 &1007490966251712
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224818571309711206}
+  - component: {fileID: 222106252643581470}
+  - component: {fileID: 114004426887258780}
+  - component: {fileID: 114540856641377526}
+  - component: {fileID: 114219888318426142}
+  m_Layer: 5
+  m_Name: Button - EmpireStateBuilding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1131148194433144
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224968602837931276}
+  - component: {fileID: 222745503668364650}
+  - component: {fileID: 114191474831456942}
+  - component: {fileID: 114032940009926904}
+  - component: {fileID: 114986056470046540}
+  m_Layer: 5
+  m_Name: Button - OneWorldTradeCenter
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1153189245679316
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224519334577670484}
+  - component: {fileID: 222592505061512856}
+  - component: {fileID: 114035459605040000}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1183534247997670
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224207016637612870}
+  - component: {fileID: 222599638216047440}
+  - component: {fileID: 114738730553136320}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1205138870436284
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224625635005382102}
+  - component: {fileID: 222615414165575968}
+  - component: {fileID: 114393823626183830}
+  - component: {fileID: 114836603643263938}
+  - component: {fileID: 114104293458475558}
+  m_Layer: 5
+  m_Name: Button - StatueOfLiberty
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1260969326548518
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224608461375035254}
+  - component: {fileID: 222052481984561992}
+  - component: {fileID: 114435849955218218}
+  - component: {fileID: 114607722770830348}
+  - component: {fileID: 114963665310814296}
+  m_Layer: 5
+  m_Name: Button - ChryslerBuilding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1451841958896318
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224884912625147040}
+  - component: {fileID: 222756732205350690}
+  - component: {fileID: 114991531217100008}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1483631521150012
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224686408172547806}
+  - component: {fileID: 222672455721533584}
+  - component: {fileID: 114141921765535322}
+  - component: {fileID: 114029908926585472}
+  - component: {fileID: 114183711506714234}
+  m_Layer: 5
+  m_Name: Button - TransAmerica
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1609391662943810
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224096945972370330}
+  - component: {fileID: 222660910071994684}
+  - component: {fileID: 114636752709850896}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1619787951147938
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224733983022031942}
+  - component: {fileID: 222235555553477414}
+  - component: {fileID: 114791303633794420}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1734712787128976
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224722485792281890}
+  - component: {fileID: 222753625921337790}
+  - component: {fileID: 114251792932351436}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1817219559335382
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224285525546767664}
+  - component: {fileID: 114672422431796472}
+  - component: {fileID: 222655807042409658}
+  - component: {fileID: 114649234530510340}
+  m_Layer: 5
+  m_Name: Panel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1858272186363556
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224356744738298800}
+  - component: {fileID: 222901739492721032}
+  - component: {fileID: 114573582781127918}
+  - component: {fileID: 114032170531748650}
+  - component: {fileID: 114129582089887352}
+  m_Layer: 5
+  m_Name: Button - CoitTower
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1863125566655036
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224155703514620438}
+  - component: {fileID: 222562742735350118}
+  - component: {fileID: 114289104039322076}
+  - component: {fileID: 114125635972888606}
+  - component: {fileID: 114080423598663096}
+  m_Layer: 5
+  m_Name: Button - Salesforce Tower
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1957461795229892
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224425051509257448}
+  - component: {fileID: 223820479619127644}
+  - component: {fileID: 114111282196320942}
+  - component: {fileID: 114048069350936414}
+  - component: {fileID: 114409791888447298}
+  m_Layer: 5
+  m_Name: ReloadMapIconicBuildingCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1985379714645194
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224928136303718306}
+  - component: {fileID: 222546418646602076}
+  - component: {fileID: 114287123303640500}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114004426887258780
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1007490966251712}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114029908926585472
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1483631521150012}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114141921765535322}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114032170531748650
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1858272186363556}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114573582781127918}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114032940009926904
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1131148194433144}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114191474831456942}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114035459605040000
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1153189245679316}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: TransAmerica Pyramid
+--- !u!114 &114048069350936414
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1957461795229892}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114080423598663096
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1863125566655036}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 587b1db6b06084de28d873bfbbff270c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  location: Salesforce Tower, San Francisco
+  _cameraPosition: {x: 11, y: 48.9, z: -56.57}
+  _cameraRotation: {x: 20.799995, y: 0, z: 0}
+--- !u!114 &114104293458475558
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1205138870436284}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 587b1db6b06084de28d873bfbbff270c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  location: Statue of Liberty
+  _cameraPosition: {x: 5, y: 2.4, z: -20}
+  _cameraRotation: {x: 346.8, y: 357.56, z: 0.07500533}
+--- !u!114 &114111282196320942
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1957461795229892}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 400, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114125635972888606
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1863125566655036}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114289104039322076}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114129582089887352
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1858272186363556}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 587b1db6b06084de28d873bfbbff270c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  location: Coit Tower
+  _cameraPosition: {x: -1.4, y: 26.83, z: -32.5}
+  _cameraRotation: {x: 23.391632, y: 16.149326, z: 359.48593}
+--- !u!114 &114141921765535322
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1483631521150012}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114183711506714234
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1483631521150012}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 587b1db6b06084de28d873bfbbff270c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  location: Transamerica Pyramid
+  _cameraPosition: {x: 0.67, y: 35.120415, z: -54.84}
+  _cameraRotation: {x: 13.614003, y: 11.5199995, z: 1.5299962}
+--- !u!114 &114191474831456942
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1131148194433144}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114219888318426142
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1007490966251712}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 587b1db6b06084de28d873bfbbff270c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  location: Empire State Building
+  _cameraPosition: {x: -8.6, y: 36.98, z: -77.36}
+  _cameraRotation: {x: 359.6, y: 9.948002, z: 0.009999273}
+--- !u!114 &114251792932351436
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1734712787128976}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Salesforce Tower
+--- !u!114 &114287123303640500
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1985379714645194}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: One World Trade Center
+--- !u!114 &114289104039322076
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1863125566655036}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114393823626183830
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1205138870436284}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114409791888447298
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1957461795229892}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c00b1c78fb49f4ebd834aac587275216, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _forwardGeocoder: {fileID: 0}
+  _zoomSlider: {fileID: 0}
+--- !u!114 &114435849955218218
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1260969326548518}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114540856641377526
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1007490966251712}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114004426887258780}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114573582781127918
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1858272186363556}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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!114 &114607722770830348
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1260969326548518}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114435849955218218}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114636752709850896
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1609391662943810}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Coit Tower
+--- !u!114 &114649234530510340
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817219559335382}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.559}
+  m_RaycastTarget: 1
+  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!114 &114672422431796472
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817219559335382}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 12
+    m_Right: 7
+    m_Top: 7
+    m_Bottom: 3
+  m_ChildAlignment: 0
+  m_Spacing: 4
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114738730553136320
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1183534247997670}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Statue of Liberty
+--- !u!114 &114791303633794420
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1619787951147938}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Chrysler Building
+--- !u!114 &114836603643263938
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1205138870436284}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114393823626183830}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114963665310814296
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1260969326548518}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 587b1db6b06084de28d873bfbbff270c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  location: Chrysler Building
+  _cameraPosition: {x: 35.6, y: 40.2, z: -41.5}
+  _cameraRotation: {x: 14.129676, y: 330.4426, z: 0.075521134}
+--- !u!114 &114986056470046540
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1131148194433144}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 587b1db6b06084de28d873bfbbff270c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  location: One World Trade Center
+  _cameraPosition: {x: -85, y: 40, z: -35}
+  _cameraRotation: {x: 0, y: 40, z: 0}
+--- !u!114 &114991531217100008
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1451841958896318}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Empire State Building
+--- !u!222 &222052481984561992
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1260969326548518}
+--- !u!222 &222106252643581470
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1007490966251712}
+--- !u!222 &222235555553477414
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1619787951147938}
+--- !u!222 &222546418646602076
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1985379714645194}
+--- !u!222 &222562742735350118
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1863125566655036}
+--- !u!222 &222592505061512856
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1153189245679316}
+--- !u!222 &222599638216047440
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1183534247997670}
+--- !u!222 &222615414165575968
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1205138870436284}
+--- !u!222 &222655807042409658
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817219559335382}
+--- !u!222 &222660910071994684
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1609391662943810}
+--- !u!222 &222672455721533584
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1483631521150012}
+--- !u!222 &222745503668364650
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1131148194433144}
+--- !u!222 &222753625921337790
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1734712787128976}
+--- !u!222 &222756732205350690
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1451841958896318}
+--- !u!222 &222901739492721032
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1858272186363556}
+--- !u!223 &223820479619127644
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1957461795229892}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 1
+  m_TargetDisplay: 0
+--- !u!224 &224096945972370330
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1609391662943810}
+  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: 224356744738298800}
+  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!224 &224155703514620438
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1863125566655036}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+  m_Children:
+  - {fileID: 224722485792281890}
+  m_Father: {fileID: 224285525546767664}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224207016637612870
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1183534247997670}
+  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: 224625635005382102}
+  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!224 &224285525546767664
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1817219559335382}
+  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:
+  - {fileID: 224686408172547806}
+  - {fileID: 224356744738298800}
+  - {fileID: 224155703514620438}
+  - {fileID: 224818571309711206}
+  - {fileID: 224968602837931276}
+  - {fileID: 224608461375035254}
+  - {fileID: 224625635005382102}
+  m_Father: {fileID: 224425051509257448}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 250, y: 200}
+  m_Pivot: {x: 1, y: 1}
+--- !u!224 &224356744738298800
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1858272186363556}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+  m_Children:
+  - {fileID: 224096945972370330}
+  m_Father: {fileID: 224285525546767664}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224425051509257448
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1957461795229892}
+  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_Children:
+  - {fileID: 224285525546767664}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224519334577670484
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1153189245679316}
+  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: 224686408172547806}
+  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!224 &224608461375035254
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1260969326548518}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.0000012, y: 1.0000012, z: 1.0000012}
+  m_Children:
+  - {fileID: 224733983022031942}
+  m_Father: {fileID: 224285525546767664}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224625635005382102
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1205138870436284}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.0000012, y: 1.0000012, z: 1.0000012}
+  m_Children:
+  - {fileID: 224207016637612870}
+  m_Father: {fileID: 224285525546767664}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224686408172547806
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1483631521150012}
+  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:
+  - {fileID: 224519334577670484}
+  m_Father: {fileID: 224285525546767664}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224722485792281890
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1734712787128976}
+  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: 224155703514620438}
+  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!224 &224733983022031942
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1619787951147938}
+  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: 224608461375035254}
+  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!224 &224818571309711206
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1007490966251712}
+  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:
+  - {fileID: 224884912625147040}
+  m_Father: {fileID: 224285525546767664}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224884912625147040
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1451841958896318}
+  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: 224818571309711206}
+  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!224 &224928136303718306
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1985379714645194}
+  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: 224968602837931276}
+  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!224 &224968602837931276
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1131148194433144}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.0000012, y: 1.0000012, z: 1.0000012}
+  m_Children:
+  - {fileID: 224928136303718306}
+  m_Father: {fileID: 224285525546767664}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapIconicBuildingCanvas.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapIconicBuildingCanvas.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..426859be4303f49675d493365ed6881d6b0c8417
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Prefabs/ReloadMapIconicBuildingCanvas.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: aaa51caf037dd4424bab8d45ef3be316
+timeCreated: 1534522872
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources.meta b/T3-Unity/Assets/Mapbox/Examples/Resources.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9a3f8e1fd830079997588be251c1fc68de17cffb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bb5876c816add2947b36e0c46946195d
+folderAsset: yes
+timeCreated: 1502482884
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/3DPoiMarker.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/3DPoiMarker.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..76acab62e80a14fbea76597be2059fa9b64d416b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/3DPoiMarker.prefab
@@ -0,0 +1,137 @@
+%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: 1000010288152912}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010288152912
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4000011600795030}
+  - component: {fileID: 114000012892046026}
+  - component: {fileID: 136000010465999350}
+  m_Layer: 0
+  m_Name: 3DPoiMarker
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012040836752
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4000011627286898}
+  - component: {fileID: 33000011743106498}
+  - component: {fileID: 23000013778012456}
+  m_Layer: 0
+  m_Name: 3DPoiMarker
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4000011600795030
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010288152912}
+  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:
+  - {fileID: 4000011627286898}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4000011627286898
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012040836752}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 2, y: 2, z: 2}
+  m_Children: []
+  m_Father: {fileID: 4000011600795030}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23000013778012456
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012040836752}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 02fab519306a24e0eb197e9c18b08d83, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33000011743106498
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012040836752}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!114 &114000012892046026
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010288152912}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 73a4653526c970849afac4be5c5930ba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!136 &136000010465999350
+CapsuleCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010288152912}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  m_Radius: 1
+  m_Height: 2
+  m_Direction: 1
+  m_Center: {x: 0, y: 3, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/3DPoiMarker.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/3DPoiMarker.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..74aa1898020ea1cf3179bf89b1d9692ecf64b507
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/3DPoiMarker.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 44828d4325e8b544ca6ffec352cfe165
+timeCreated: 1494885938
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8b72cc2fbc23a70048965cae49c13106a211bad9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d5e08ffcb67ac4777ae46855317bc4ec
+folderAsset: yes
+timeCreated: 1568933350
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxCombinedPin.fbx b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxCombinedPin.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..a8c418a70b4642610ee4804ba4f52b0d29ea4537
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxCombinedPin.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxCombinedPin.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxCombinedPin.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e39ac76da3214c3246b41ca679a8b8fb92bbb15d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxCombinedPin.fbx.meta
@@ -0,0 +1,106 @@
+fileFormatVersion: 2
+guid: bb96716ce122749b2a0d52a7de62ff98
+timeCreated: 1568935773
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: boundingCircle
+    100002: //RootNode
+    100004: pinpoint
+    100006: star
+    400000: boundingCircle
+    400002: //RootNode
+    400004: pinpoint
+    400006: star
+    2100000: phong1
+    2300000: boundingCircle
+    2300002: pinpoint
+    2300004: star
+    3300000: boundingCircle
+    3300002: pinpoint
+    3300004: star
+    4300000: star
+    4300002: pinpoint
+    4300004: boundingCircle
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingHollowPin.fbx b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingHollowPin.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..752e20b043019d5046a8055efbada94481dc5c9d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingHollowPin.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingHollowPin.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingHollowPin.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b984f05bbdd43b3dd3b0303d689fbaa697ebca74
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingHollowPin.fbx.meta
@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: 435cd2a1db63b42dda6a1863dc48a7cc
+timeCreated: 1568935772
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: phong1
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: pinOnly1_pinpoint
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPin.fbx b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPin.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..cfdfa24fd7eef6a51d114461a0c7e5fae7884b3a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPin.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPin.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPin.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aac3f01e1509b4689f7790b61590c3082ec2405c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPin.fbx.meta
@@ -0,0 +1,106 @@
+fileFormatVersion: 2
+guid: 2e03481ee69de4ed3893519f323de910
+timeCreated: 1568935772
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: boundingCircle
+    100002: //RootNode
+    100004: pinpoint
+    100006: star
+    400000: boundingCircle
+    400002: //RootNode
+    400004: pinpoint
+    400006: star
+    2100000: phong1
+    2300000: boundingCircle
+    2300002: pinpoint
+    2300004: star
+    3300000: boundingCircle
+    3300002: pinpoint
+    3300004: star
+    4300000: star
+    4300002: pinpoint
+    4300004: boundingCircle
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPinNoBase.fbx b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPinNoBase.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..01bc208c57b3731a5dac0b7fadea30ec779a43ac
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPinNoBase.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPinNoBase.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPinNoBase.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8f388d82e2f4a05e24028fec02f6935f1405ef74
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxFloatingPinNoBase.fbx.meta
@@ -0,0 +1,101 @@
+fileFormatVersion: 2
+guid: fd394afabe3da4d9e8898092f298f54a
+timeCreated: 1568935773
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    100002: pinpoint
+    100004: star
+    400000: //RootNode
+    400002: pinpoint
+    400004: star
+    2100000: phong1
+    2300000: pinpoint
+    2300002: star
+    3300000: pinpoint
+    3300002: star
+    4300000: star
+    4300002: pinpoint
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowPin.fbx b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowPin.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..9443aceeb06a909305ef388acda950f39cffec27
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowPin.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowPin.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowPin.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b92af662b19907114fdd133caa150e18df59d601
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowPin.fbx.meta
@@ -0,0 +1,101 @@
+fileFormatVersion: 2
+guid: 2231802ad545a48be932a4e88996508f
+timeCreated: 1568935772
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: boundingCircle2
+    100002: //RootNode
+    100004: star1
+    400000: boundingCircle2
+    400002: //RootNode
+    400004: star1
+    2100000: phong1
+    2300000: boundingCircle2
+    2300002: star1
+    3300000: boundingCircle2
+    3300002: star1
+    4300000: boundingCircle2
+    4300002: star1
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowUprightPin.fbx b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowUprightPin.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..a1f1ba033750fd0cf04c748d6961fe8c659e1b6e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowUprightPin.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowUprightPin.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowUprightPin.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8d8c4635bb1e6fc4cbf2195018ab3c1b30a27fce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxHollowUprightPin.fbx.meta
@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: 116af72a5fd4e4a2c8d1730f94b8a8e1
+timeCreated: 1568935772
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: phong1
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: rotatedPinHollow
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxPin.fbx b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxPin.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..e1cd539d19d2045e2d53f88516410089d0927065
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxPin.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxPin.fbx.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxPin.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..55e83fe7be1f89472008daffab17d029e0a26753
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Assets/MapboxPin.fbx.meta
@@ -0,0 +1,101 @@
+fileFormatVersion: 2
+guid: 846b0d2c97aef4f2eae21f0e2a7822c1
+timeCreated: 1568933350
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    100002: pinpoint
+    100004: star
+    400000: //RootNode
+    400002: pinpoint
+    400004: star
+    2100000: phong1
+    2300000: pinpoint
+    2300002: star
+    3300000: pinpoint
+    3300002: star
+    4300000: star
+    4300002: pinpoint
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..cf526b5d3a67cc01f452dca938b2e24deff64a9a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingMaterial.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: BuildingMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  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: 0.1, y: 0.1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: cb26e1dc2a67a4cd29bec61d1905a7a2, type: 3}
+        m_Scale: {x: 0.1, y: 0.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
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1603c63bac81558e4920f6a89c40724840cf2ffc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5cc6a7dc3df7cc84693bdde07669ab5b
+timeCreated: 1485209270
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingWallSlice.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingWallSlice.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..a997def6ba63a5672d8cb79b35b48ab90fbeec18
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingWallSlice.prefab
@@ -0,0 +1,373 @@
+%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: 1161984165156050}
+  m_IsPrefabParent: 1
+--- !u!1 &1009002087978110
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4020510084642778}
+  - component: {fileID: 33071886293124790}
+  - component: {fileID: 65435349347204264}
+  - component: {fileID: 23601399804079970}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1086725177910772
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4967867319414134}
+  - component: {fileID: 33154681762304492}
+  - component: {fileID: 65647856517271948}
+  - component: {fileID: 23957410024828156}
+  m_Layer: 0
+  m_Name: Cube (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1161984165156050
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4411628395683128}
+  m_Layer: 0
+  m_Name: BuildingWallSlice
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1231429772937344
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4243468307112474}
+  - component: {fileID: 33840394172607992}
+  - component: {fileID: 65397658407552366}
+  - component: {fileID: 23187701407456782}
+  m_Layer: 0
+  m_Name: Cube (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1560720559087330
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4883302973891768}
+  - component: {fileID: 33880284843419990}
+  - component: {fileID: 65081349172325576}
+  - component: {fileID: 23496487375804226}
+  m_Layer: 0
+  m_Name: Cube (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4020510084642778
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1009002087978110}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4243468307112474
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1231429772937344}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.373, z: 0}
+  m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4411628395683128
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1161984165156050}
+  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:
+  - {fileID: 4020510084642778}
+  - {fileID: 4243468307112474}
+  - {fileID: 4967867319414134}
+  - {fileID: 4883302973891768}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4883302973891768
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560720559087330}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.035, y: 0.302, z: 0}
+  m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4967867319414134
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1086725177910772}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.035, y: 0.373, z: 0}
+  m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994}
+  m_Children: []
+  m_Father: {fileID: 4411628395683128}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23187701407456782
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1231429772937344}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23496487375804226
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560720559087330}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23601399804079970
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1009002087978110}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23957410024828156
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1086725177910772}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33071886293124790
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1009002087978110}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33154681762304492
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1086725177910772}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33840394172607992
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1231429772937344}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33880284843419990
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560720559087330}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65081349172325576
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560720559087330}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65397658407552366
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1231429772937344}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65435349347204264
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1009002087978110}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65647856517271948
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1086725177910772}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingWallSlice.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingWallSlice.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ad88f2cb361aa737fed8f9bd0e7ecc0b0ffb702e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/BuildingWallSlice.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 89250ee3e89eb154696df0625b55305b
+timeCreated: 1509997131
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Bush.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..4e67bab799182684f7ba4347171f6907592f17b1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush.prefab
@@ -0,0 +1,126 @@
+%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: 1000012727180236}
+  m_IsPrefabParent: 1
+--- !u!1 &1000011192990468
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4000011450222804}
+  - component: {fileID: 33000013805418428}
+  - component: {fileID: 65000013670001846}
+  - component: {fileID: 23000013672183816}
+  m_Layer: 0
+  m_Name: BushMesh
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012727180236
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4000012158928582}
+  m_Layer: 0
+  m_Name: Bush
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4000011450222804
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011192990468}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1.5, z: 0}
+  m_LocalScale: {x: 3, y: 3, z: 3}
+  m_Children: []
+  m_Father: {fileID: 4000012158928582}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4000012158928582
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012727180236}
+  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:
+  - {fileID: 4000011450222804}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23000013672183816
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011192990468}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 86f71d3c44c394b9c851347cec33b98f, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33000013805418428
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011192990468}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65000013670001846
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011192990468}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Bush.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d91aa42a6ca9684c176b43879415ad6582809c96
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3a36803f92a1f4fb98a10f9d00e184bc
+timeCreated: 1499973917
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..c75789fcc1efa46bedaca565ff90a39fc6686777
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2.prefab
@@ -0,0 +1,124 @@
+%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: 1000010232061618}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010232061618
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4000011507168590}
+  m_Layer: 0
+  m_Name: Bush2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011414943834
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4000012175871508}
+  - component: {fileID: 33000012365473686}
+  - component: {fileID: 65000014185972994}
+  - component: {fileID: 23000014066341080}
+  m_Layer: 0
+  m_Name: BushMesh
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4000011507168590
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010232061618}
+  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:
+  - {fileID: 4000012175871508}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4000012175871508
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011414943834}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1.5, y: 6, z: 1.5}
+  m_Children: []
+  m_Father: {fileID: 4000011507168590}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23000014066341080
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011414943834}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: b4da84c5c49be450c8502c76826ffc3f, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33000012365473686
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011414943834}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65000014185972994
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011414943834}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..df5e5afbb52c4b3388961d56cf5bfdeeff4ed239
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e161657d9f870459abb03b980a14de8a
+timeCreated: 1499975447
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2Material.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2Material.mat
new file mode 100644
index 0000000000000000000000000000000000000000..358fa6b3950aeae6edae1ef21a9f3ca0c422dff2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2Material.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: Bush2Material
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
+  m_LightmapFlags: 1
+  m_EnableInstancingVariants: 1
+  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
+    - _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.5808823, g: 0.56485796, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2Material.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2Material.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c8e1b1a20dff0fb915a285e60849a68ebff8923e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Bush2Material.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b4da84c5c49be450c8502c76826ffc3f
+timeCreated: 1499975083
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/BushMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/BushMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a2259d2fdc6d2381856ade6e9b82fb011bfba09e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/BushMaterial.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: BushMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
+  m_LightmapFlags: 1
+  m_EnableInstancingVariants: 1
+  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
+    - _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.31154922, g: 0.625, b: 0.09650737, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/BushMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/BushMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e3e8e4958298de2c3e15feb7f52b129c9f95cdbb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/BushMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 86f71d3c44c394b9c851347cec33b98f
+timeCreated: 1499975083
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..4ce776c5cf60afea71c0f0f261b6229f60a42856
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionMaterial.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: DirectionMaterial
+  m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: a01d24876a1472b408ba8e5f0bf3a23f, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fd253367e3be53e1b3146a6bf958ee66e331007e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 49b5d148287c83443bd632e6d5b5bd6f
+timeCreated: 1529010519
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionsMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionsMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..15c7d19f2830caa34d34911b41fcaaf1c5b539a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionsMaterial.mat
@@ -0,0 +1,84 @@
+%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: DirectionsMaterial
+  m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: ETC1_EXTERNAL_ALPHA
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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:
+    - PixelSnap: 0
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 0.91724133, b: 1, a: 0.609}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionsMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionsMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e9692b38b59758419345f69f73cd9f235d33daf4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/DirectionsMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ef6c956ca085647fba4624a08c344419
+timeCreated: 1512242996
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/DriveBuildingMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/DriveBuildingMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..f8514e24f3975d66b8893a749e454d4f87b00eab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/DriveBuildingMaterial.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: DriveBuildingMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  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.464
+    - _GlossyReflections: 1
+    - _Metallic: 0.663
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.2647059, g: 0.2647059, b: 0.2647059, a: 0.903}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/DriveBuildingMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/DriveBuildingMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1cec014502dbbc0aebaecb64f7f4f16e382e8a6a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/DriveBuildingMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a84d22a5fa79bce4396212d84ad11831
+timeCreated: 1485392470
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Frame.png b/T3-Unity/Assets/Mapbox/Examples/Resources/Frame.png
new file mode 100644
index 0000000000000000000000000000000000000000..b977c000bbf35d06a9faf61e4728f5519ee56509
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/Frame.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Frame.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Frame.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8d5fc517e56cecd68d863cebff1133a0d1b7713a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Frame.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 08b4886c5f0c3ff44b22f58629865352
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: 16
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 9, y: 9, z: 9, w: 9}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ec98ec8086be32c4ca468577f0e60a80
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/GreenMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/GreenMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..21e352167de82fab3be106fab66d4c6a14cba467
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/GreenMaterial.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: GreenMaterial
+  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
+    - _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: 1, b: 0.006896496, a: 1}
+    - _EmissionColor: {r: 0.263, g: 0.263, b: 0.263, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/GreenMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/GreenMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f0516a3f38d796eb2a1231d7bc462b90e3219716
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/GreenMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8403131cbac7ff94b9052e03e29b30c9
+timeCreated: 1485209270
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/HeavyTrafficMat.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/HeavyTrafficMat.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c4317bc17d8a91ad2a4060960aa6c8411044620b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/HeavyTrafficMat.mat
@@ -0,0 +1,137 @@
+%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: HeavyTrafficMat
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 2800000, guid: 08ac86f8a8ee3e4408ccd95957fca9b9, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _Illum
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 2800000, guid: a3edef48e8d373841a5c1c5abea5c9af, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 10
+    - first:
+        name: _Emission
+      second: 1
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 2
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 5
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 0
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 1, g: 0.5586207, b: 0, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/HeavyTrafficMat.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/HeavyTrafficMat.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7abbad0804d1afceb2d8c7d527840d12612606f1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/HeavyTrafficMat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6f2f4f0fee2e2fb4db372496551d3072
+timeCreated: 1485393337
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/LocationProviderMapMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/LocationProviderMapMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..9916b70851b929a8e2e3b120835be974a9397176
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/LocationProviderMapMaterial.mat
@@ -0,0 +1,127 @@
+%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: LocationProviderMapMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION _GLOSSYREFLECTIONS_OFF
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0.5
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 0
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 0
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 0
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 1
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 1
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 1, g: 1, b: 1, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/LocationProviderMapMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/LocationProviderMapMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eb934f414cb2d1ce1892e99979f3bdb3443bc9e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/LocationProviderMapMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8ba055cb55bcc4488b727c601be0be29
+timeCreated: 1492114686
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/LowPolyTerrainMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/LowPolyTerrainMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..1d84e5a84fcf5f5a6ad6c269a1cfbf6a6c583359
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/LowPolyTerrainMaterial.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: LowPolyTerrainMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/LowPolyTerrainMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/LowPolyTerrainMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8a26fc98b819d9fecaa558a19c6580903c862b06
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/LowPolyTerrainMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 03fcf11879198499f9e71b4e087af3c0
+timeCreated: 1485209270
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MakiPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/MakiPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..e43b55e47043e97687edb04fc3c1facbd7471133
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MakiPrefab.prefab
@@ -0,0 +1,53 @@
+%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: 1000011742328300}
+  m_IsPrefabParent: 1
+--- !u!1 &1000011742328300
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 4: {fileID: 4000014292487062}
+  - 114: {fileID: 114000011347271412}
+  m_Layer: 0
+  m_Name: MakiPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4000014292487062
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011742328300}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 1, z: 0.1}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+--- !u!114 &114000011347271412
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011742328300}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0c96e6ca6f8915940b5a184409597ca6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MakiPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/MakiPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5523112cfd7bfbb018367d3557e1a2ef6b6c22a3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MakiPrefab.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 39c06c41287c07843b78097666be5c58
+timeCreated: 1484179088
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MakiUiPrefab.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/MakiUiPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..acb875fc57bd0c27cceea3ed4b7654cf750f2507
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MakiUiPrefab.prefab
@@ -0,0 +1,490 @@
+%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: 1000011173048398}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010957823440
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 224000011249543396}
+  - 222: {fileID: 222000014194791544}
+  - 114: {fileID: 114000010082561398}
+  - 114: {fileID: 114000010218940754}
+  m_Layer: 0
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011173048398
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 224000012410656020}
+  m_Layer: 5
+  m_Name: MakiUiPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012455732568
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 224000014241177746}
+  - 222: {fileID: 222000013542706956}
+  - 114: {fileID: 114000012670195536}
+  m_Layer: 0
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013099510036
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 224000013198642628}
+  - 222: {fileID: 222000012043354174}
+  - 114: {fileID: 114000012045202644}
+  - 114: {fileID: 114000011988289200}
+  m_Layer: 5
+  m_Name: Image (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013235018336
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 224000010043711712}
+  - 222: {fileID: 222000014060724810}
+  - 114: {fileID: 114000011218133596}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013739376054
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 224000014205996814}
+  - 114: {fileID: 114000010492580064}
+  - 222: {fileID: 222000010292698858}
+  - 114: {fileID: 114000011532384536}
+  - 114: {fileID: 114000011946111540}
+  - 225: {fileID: 225000010933392418}
+  m_Layer: 0
+  m_Name: PlaceTextBackground
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114000010082561398
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010957823440}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.80689657, b: 0, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000010218940754
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010957823440}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 1
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+--- !u!114 &114000010492580064
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739376054}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 20
+    m_Right: 12
+    m_Top: 3
+    m_Bottom: 2
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+--- !u!114 &114000011218133596
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013235018336}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, 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_Sprite: {fileID: 21300000, guid: aedd248742c9f294eb06125e77817be0, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000011532384536
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739376054}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 0
+--- !u!114 &114000011946111540
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739376054}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 1
+--- !u!114 &114000011988289200
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013099510036}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000012045202644}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000012045202644
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013099510036}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.80689657, b: 0, a: 1}
+  m_RaycastTarget: 1
+  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: 10913, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000012670195536
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012455732568}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 1
+    m_MaxSize: 117
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: ADSASDSADASD
+--- !u!222 &222000010292698858
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739376054}
+--- !u!222 &222000012043354174
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013099510036}
+--- !u!222 &222000013542706956
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012455732568}
+--- !u!222 &222000014060724810
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013235018336}
+--- !u!222 &222000014194791544
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010957823440}
+--- !u!224 &224000010043711712
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013235018336}
+  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: 224000012410656020}
+  m_RootOrder: 2
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 20}
+  m_SizeDelta: {x: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000011249543396
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010957823440}
+  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: 224000014205996814}
+  m_RootOrder: 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!224 &224000012410656020
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011173048398}
+  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: 224000014205996814}
+  - {fileID: 224000013198642628}
+  - {fileID: 224000010043711712}
+  m_Father: {fileID: 0}
+  m_RootOrder: 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: 30, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000013198642628
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013099510036}
+  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: 224000012410656020}
+  m_RootOrder: 1
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 20}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000014205996814
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739376054}
+  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: 224000011249543396}
+  - {fileID: 224000014241177746}
+  m_Father: {fileID: 224000012410656020}
+  m_RootOrder: 0
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: -0.1}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!224 &224000014241177746
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012455732568}
+  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: 224000014205996814}
+  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: 0.5, y: 0.5}
+--- !u!225 &225000010933392418
+CanvasGroup:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013739376054}
+  m_Enabled: 1
+  m_Alpha: 0
+  m_Interactable: 1
+  m_BlocksRaycasts: 1
+  m_IgnoreParentGroups: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MakiUiPrefab.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/MakiUiPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..24320747931cc9d88c3dc34f3a5829f6801cc2e9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MakiUiPrefab.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4e3a8050aac992649b0cb2bc0e9be702
+timeCreated: 1484178910
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxBlue.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxBlue.mat
new file mode 100644
index 0000000000000000000000000000000000000000..fd888e9b81d35a9b80bf71c7fb69a6bcaee66aed
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxBlue.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: MapboxBlue
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  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
+    - _GlossyReflections: 1
+    - _Metallic: 0.551
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+    - _EmissionColor: {r: 0.1551394, g: 0.23505972, b: 0.59, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxBlue.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxBlue.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..82bad6a40a58290e3da5b0fd509b77afb3573153
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxBlue.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1f9f9c322fb5f4efeb40ada4f2f0c854
+timeCreated: 1519684528
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxPin.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxPin.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..971ec6204916cdbe600eb9f8842d39901ad2872b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxPin.prefab
@@ -0,0 +1,259 @@
+%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: 1196953851599986}
+  m_IsPrefabParent: 1
+--- !u!1 &1196953851599986
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4597394300452054}
+  - component: {fileID: 95503504168365816}
+  m_Layer: 0
+  m_Name: MapboxPin
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1385809367662236
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4374898593011630}
+  - component: {fileID: 33344014754395246}
+  - component: {fileID: 23752294204312290}
+  - component: {fileID: 114992817097132880}
+  - component: {fileID: 64297554227744612}
+  m_Layer: 0
+  m_Name: pinpoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1864769695026472
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4869237078605444}
+  - component: {fileID: 33208720689622838}
+  - component: {fileID: 23104271423371738}
+  - component: {fileID: 64485162798130984}
+  - component: {fileID: 114974611753197082}
+  m_Layer: 0
+  m_Name: star
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4374898593011630
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1385809367662236}
+  m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -0.0067071705, y: 0.006354162, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4597394300452054}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4597394300452054
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1196953851599986}
+  m_LocalRotation: {x: 0, y: -0.29545793, z: 0, w: 0.95535576}
+  m_LocalPosition: {x: 0, y: 17.04, z: 0}
+  m_LocalScale: {x: 333, y: 333, z: 333}
+  m_Children:
+  - {fileID: 4374898593011630}
+  - {fileID: 4869237078605444}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: -34.37, z: 0}
+--- !u!4 &4869237078605444
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1864769695026472}
+  m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -0.0057005137, y: 0.005893751, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4597394300452054}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23104271423371738
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1864769695026472}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23752294204312290
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1385809367662236}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 9c84f71e98b0047259dedc9428260078, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33208720689622838
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1864769695026472}
+  m_Mesh: {fileID: 4300000, guid: 846b0d2c97aef4f2eae21f0e2a7822c1, type: 3}
+--- !u!33 &33344014754395246
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1385809367662236}
+  m_Mesh: {fileID: 4300002, guid: 846b0d2c97aef4f2eae21f0e2a7822c1, type: 3}
+--- !u!64 &64297554227744612
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1385809367662236}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Convex: 0
+  m_CookingOptions: 14
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 4300002, guid: 846b0d2c97aef4f2eae21f0e2a7822c1, type: 3}
+--- !u!64 &64485162798130984
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1864769695026472}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Convex: 0
+  m_CookingOptions: 14
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 4300000, guid: 846b0d2c97aef4f2eae21f0e2a7822c1, type: 3}
+--- !u!95 &95503504168365816
+Animator:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1196953851599986}
+  m_Enabled: 1
+  m_Avatar: {fileID: 9000000, guid: 846b0d2c97aef4f2eae21f0e2a7822c1, type: 3}
+  m_Controller: {fileID: 0}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+--- !u!114 &114974611753197082
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1864769695026472}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9c39c383c96521a4083f7339972619c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  MoveTarget: {fileID: 0}
+--- !u!114 &114992817097132880
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1385809367662236}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9c39c383c96521a4083f7339972619c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  MoveTarget: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxPin.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxPin.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2650dba02a016ca7b5546f6dac85c78fc36dd5d5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxPin.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5bcb8afe019d04efc83e86f56b198ce0
+timeCreated: 1568933499
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxWhite.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxWhite.mat
new file mode 100644
index 0000000000000000000000000000000000000000..3a24caaf6221af563b1778a744280c59de02f1a5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxWhite.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: MapboxWhite
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  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
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.7764706, g: 0.8235294, b: 0.88235295, a: 1}
+    - _EmissionColor: {r: 0.331, g: 0.30893335, b: 0.29001904, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxWhite.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxWhite.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ea479146857481085ebae49dada1464b032d6529
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/MapboxWhite.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9c84f71e98b0047259dedc9428260078
+timeCreated: 1519684281
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/ModerateTrafficMat.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/ModerateTrafficMat.mat
new file mode 100644
index 0000000000000000000000000000000000000000..72d40909e7e833a1f7ee43e89d9b974be85b75e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/ModerateTrafficMat.mat
@@ -0,0 +1,137 @@
+%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: ModerateTrafficMat
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 2800000, guid: 08ac86f8a8ee3e4408ccd95957fca9b9, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _Illum
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 2800000, guid: a3edef48e8d373841a5c1c5abea5c9af, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 10
+    - first:
+        name: _Emission
+      second: 1
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 2
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 5
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 0
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 0.9338235, g: 0.9080629, b: 0, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/ModerateTrafficMat.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/ModerateTrafficMat.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9395afb4b6bef90d9aca89985938d8f986dfcc31
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/ModerateTrafficMat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8f3e37f3a85060c47b951b5c10c03e39
+timeCreated: 1485393337
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/OrangeMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/OrangeMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..d68a88eccc9e8b4561431b834d2c50565946291a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/OrangeMaterial.mat
@@ -0,0 +1,127 @@
+%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: OrangeMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0.5
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 0
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0.5
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 0
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 1
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 1
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 1, g: 0.64137924, b: 0, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/OrangeMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/OrangeMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..81fd732d8057a192c643b782b54c2f779826f438
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/OrangeMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: caa6c6f6f7879034992a27a6bc3794fd
+timeCreated: 1485209270
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Pin.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/Pin.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..e3d3e52d6319bc3cd07d7f409314544c80d61c80
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Pin.prefab
@@ -0,0 +1,270 @@
+%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: 1606733618819166}
+  m_IsPrefabParent: 1
+--- !u!1 &1411075820763434
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4892937883855076}
+  - component: {fileID: 33501045496756034}
+  - component: {fileID: 23852728845401126}
+  - component: {fileID: 64207615243077376}
+  - component: {fileID: 114228416973443584}
+  m_Layer: 0
+  m_Name: star 4
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1606733618819166
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4049744316354048}
+  m_Layer: 0
+  m_Name: Pin
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1608800752955964
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4384014317509440}
+  m_Layer: 0
+  m_Name: rotatedPin
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1787789161168866
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4325256183470186}
+  - component: {fileID: 33309278343476792}
+  - component: {fileID: 23621277096296802}
+  - component: {fileID: 64823848502742974}
+  - component: {fileID: 114527166272100888}
+  m_Layer: 0
+  m_Name: pinpoint 4
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4049744316354048
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1606733618819166}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -130.97578, y: -8.777344, z: 126.25037}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4384014317509440}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4325256183470186
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1787789161168866}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: -0.0067071705, y: 0.006354162, z: 0}
+  m_LocalScale: {x: 2.5545917, y: 1.0380212, z: 2.5545917}
+  m_Children: []
+  m_Father: {fileID: 4384014317509440}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4384014317509440
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1608800752955964}
+  m_LocalRotation: {x: 0, y: -0.29545793, z: 0, w: 0.95535576}
+  m_LocalPosition: {x: 0, y: 17.04, z: 0}
+  m_LocalScale: {x: 333, y: 333, z: 333}
+  m_Children:
+  - {fileID: 4325256183470186}
+  - {fileID: 4892937883855076}
+  m_Father: {fileID: 4049744316354048}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: -34.37, z: 0}
+--- !u!4 &4892937883855076
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1411075820763434}
+  m_LocalRotation: {x: 0, y: -0, z: -0.38268346, w: 0.92387956}
+  m_LocalPosition: {x: -0.0057005137, y: 0.005893751, z: 0}
+  m_LocalScale: {x: 2.2383811, y: 2.2383811, z: 3.0839245}
+  m_Children: []
+  m_Father: {fileID: 4384014317509440}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23621277096296802
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1787789161168866}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 9c84f71e98b0047259dedc9428260078, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23852728845401126
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1411075820763434}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33309278343476792
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1787789161168866}
+  m_Mesh: {fileID: 4300024, guid: 69df092de970eec4a8de42c500691f9f, type: 3}
+--- !u!33 &33501045496756034
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1411075820763434}
+  m_Mesh: {fileID: 4300022, guid: 69df092de970eec4a8de42c500691f9f, type: 3}
+--- !u!64 &64207615243077376
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1411075820763434}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Convex: 0
+  m_CookingOptions: 14
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 4300022, guid: 69df092de970eec4a8de42c500691f9f, type: 3}
+--- !u!64 &64823848502742974
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1787789161168866}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Convex: 0
+  m_CookingOptions: 14
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 4300024, guid: 69df092de970eec4a8de42c500691f9f, type: 3}
+--- !u!114 &114228416973443584
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1411075820763434}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9c39c383c96521a4083f7339972619c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  MoveTarget: {fileID: 4049744316354048}
+--- !u!114 &114527166272100888
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1787789161168866}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9c39c383c96521a4083f7339972619c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  MoveTarget: {fileID: 4049744316354048}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Pin.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Pin.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..96a3c144f7554b09f85c17fe7dfc2f04edf0b598
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Pin.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8f623e0b3327a1b4bbee73a6363ad280
+timeCreated: 1529009091
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial 1.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial 1.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c485e572d97ac5797852bd03d437626af29559de
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial 1.mat	
@@ -0,0 +1,84 @@
+%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: PoiMaterial 1
+  m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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:
+    - PixelSnap: 0
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.60294116, g: 0.93427986, b: 1, a: 0.409}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial 1.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial 1.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9d29fadd22b0ccce31698a4b916324e77254d55f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial 1.mat.meta	
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 02fab519306a24e0eb197e9c18b08d83
+timeCreated: 1512318894
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..beeef5c622b297353ee374b0312bed2182e6168e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial.mat
@@ -0,0 +1,84 @@
+%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: PoiMaterial
+  m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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:
+    - PixelSnap: 0
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.60294116, g: 0.93427986, b: 1, a: 0.409}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e40f3e4d56c8b8b1e4fa3babbffac29c3be34500
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/PoiMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 183e8f4927695944e9e03968d2630a87
+timeCreated: 1512318894
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/RoadMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/RoadMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..86d47d7647ba2b29650b9d1615be85be1b3c5bc2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/RoadMaterial.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: RoadMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  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
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.6102941, g: 0.6102941, b: 0.6102941, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/RoadMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/RoadMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c45c8283e7a05e7ed5647a57630c6df02d036823
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/RoadMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8e8afdee0a225a84282f04f2fb89b8b6
+timeCreated: 1485209270
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/RoadSideMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/RoadSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..78a761f835b8d02d93cffc7486d62ca08ad8d595
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/RoadSideMaterial.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: RoadSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.6117647, g: 0.6117647, b: 0.6117647, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/RoadSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/RoadSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..393bd1e9175814b722d5c6e1c2e405f089175767
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/RoadSideMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b00db1eb69ea64eb4adb30b2c0fb01cb
+timeCreated: 1528238089
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/SeamlessRoadTexture.jpg b/T3-Unity/Assets/Mapbox/Examples/Resources/SeamlessRoadTexture.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..11bf3b47d2336e99f4c158820c1ca2b201ff7075
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/SeamlessRoadTexture.jpg differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/SeamlessRoadTexture.jpg.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/SeamlessRoadTexture.jpg.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b85e7e1357031251c66244e1bbab608b612f021b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/SeamlessRoadTexture.jpg.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 80a9f5451284e4a468bf97d34a9e8dd9
+timeCreated: 1528237947
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Selector.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/Selector.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..8c3bec8684a8024be5b3e0caf79a6ea4c3d2873a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Selector.prefab
@@ -0,0 +1,345 @@
+%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: 1000013692654490}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010710051700
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011760460508}
+  - component: {fileID: 114000010347067940}
+  - component: {fileID: 222000013819492612}
+  - component: {fileID: 114000010731433666}
+  - component: {fileID: 114000012633613094}
+  m_Layer: 5
+  m_Name: Info
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011847335898
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011697045532}
+  - component: {fileID: 222000010474709078}
+  - component: {fileID: 114000012652659394}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012569567292
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011818988452}
+  m_Layer: 5
+  m_Name: Rectangle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012820853182
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011350452320}
+  - component: {fileID: 222000010559434980}
+  - component: {fileID: 114000010726696280}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013692654490
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000013591851274}
+  - component: {fileID: 114000010506689432}
+  m_Layer: 5
+  m_Name: Selector
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114000010347067940
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010710051700}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 4
+    m_Right: 4
+    m_Top: 4
+    m_Bottom: 4
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114000010506689432
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013692654490}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 742344d451cea414d878bf6ae3951a8e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _wrapperMarker: {fileID: 224000011818988452}
+  _infoPanel: {fileID: 224000011760460508}
+  _info: {fileID: 114000012652659394}
+--- !u!114 &114000010726696280
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012820853182}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_Sprite: {fileID: 21300000, guid: 08b4886c5f0c3ff44b22f58629865352, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000010731433666
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010710051700}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.22745098, g: 0.22745098, b: 0.22745098, 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_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000012633613094
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010710051700}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
+--- !u!114 &114000012652659394
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011847335898}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 
+--- !u!222 &222000010474709078
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011847335898}
+--- !u!222 &222000010559434980
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012820853182}
+--- !u!222 &222000013819492612
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010710051700}
+--- !u!224 &224000011350452320
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012820853182}
+  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: 224000011818988452}
+  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!224 &224000011697045532
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011847335898}
+  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: 224000011760460508}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000011760460508
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010710051700}
+  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:
+  - {fileID: 224000011697045532}
+  m_Father: {fileID: 224000013591851274}
+  m_RootOrder: 1
+  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: 0, y: 0}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224000011818988452
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012569567292}
+  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:
+  - {fileID: 224000011350452320}
+  m_Father: {fileID: 224000013591851274}
+  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: 100, y: 100}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224000013591851274
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013692654490}
+  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:
+  - {fileID: 224000011818988452}
+  - {fileID: 224000011760460508}
+  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: 0, y: 0}
+  m_Pivot: {x: 0, y: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Selector.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Selector.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f4390b527df7b43b3035c744cc29fa0dc1b118be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Selector.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0f2328827ebdbc1419707178041b852b
+timeCreated: 1499983776
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/SevereTrafficMat.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/SevereTrafficMat.mat
new file mode 100644
index 0000000000000000000000000000000000000000..218949559b84835c38fd1eedf671947c677e17fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/SevereTrafficMat.mat
@@ -0,0 +1,137 @@
+%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: SevereTrafficMat
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 2800000, guid: 08ac86f8a8ee3e4408ccd95957fca9b9, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _Illum
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 2800000, guid: a3edef48e8d373841a5c1c5abea5c9af, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 10
+    - first:
+        name: _Emission
+      second: 1
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 2
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 5
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 0
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 1, g: 0, b: 0, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/SevereTrafficMat.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/SevereTrafficMat.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1f344099f298226ba8bae3bee3550dcf63b0bf0e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/SevereTrafficMat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d1519d458afd548428922c53a57c9d39
+timeCreated: 1485393337
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceSide.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceSide.mat
new file mode 100644
index 0000000000000000000000000000000000000000..69c18442e9f31d0f84f37352ad60bb88c8961d91
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceSide.mat
@@ -0,0 +1,127 @@
+%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: TerraceSide
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0.5
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 0
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 0
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 1
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 1
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 0.44117647, g: 0.3406142, b: 0.3406142, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceSide.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceSide.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e8bfd619f205aa017242605ea430e5e524f46829
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceSide.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 31d8bd8fc9d4850408a1660cf3619850
+timeCreated: 1500643443
+licenseType: Free
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceTop.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceTop.mat
new file mode 100644
index 0000000000000000000000000000000000000000..585f587eb731a15870ac5bfaf1071b61690cd357
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceTop.mat
@@ -0,0 +1,127 @@
+%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: TerraceTop
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 0.01, y: 0.01}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 2800000, guid: 19677c9d9e0359a498a6be3d27b88ac9, type: 3}
+        m_Scale: {x: 0.01, y: 0.01}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0.5
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 0
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 0
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 1
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 1
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 0.39132786, g: 0.6911765, b: 0.46784097, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceTop.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceTop.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d25a537661e667a1279c309906b9c3eaed3996d7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TerraceTop.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1843a50abea6fa448a61d143054f2166
+timeCreated: 1500643443
+licenseType: Free
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TerrainMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/TerrainMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..527577fbb77ca8c93f754e2fa59aeba5ff11d491
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TerrainMaterial.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: TerrainMaterial
+  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: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _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: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TerrainMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/TerrainMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aae5fed87ef192d4b1ec182b2c57603267b6ecca
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TerrainMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b9f23e9bce724fa4daac57ecded470b8
+timeCreated: 1485209270
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TrafficMat.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/TrafficMat.mat
new file mode 100644
index 0000000000000000000000000000000000000000..4c77b76ea02b2c631796f0bb9000c3bd2402e040
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TrafficMat.mat
@@ -0,0 +1,137 @@
+%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: TrafficMat
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 2800000, guid: 08ac86f8a8ee3e4408ccd95957fca9b9, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _Illum
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 2800000, guid: a3edef48e8d373841a5c1c5abea5c9af, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 10
+    - first:
+        name: _Emission
+      second: 1
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 2
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 5
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 0
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 0.034482718, g: 1, b: 0, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TrafficMat.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/TrafficMat.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..71f91d37e6f5a26f7edf73efcca595b797e1cd15
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TrafficMat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d21f59fb1aed75844b6e32c2856da19f
+timeCreated: 1485393337
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentBlueMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentBlueMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..ccb7b298e07044f05755405f35414ad0dc1295af
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentBlueMaterial.mat
@@ -0,0 +1,93 @@
+%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: TransparentBlueMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON _GLOSSYREFLECTIONS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - PixelSnap: 0
+    - _Alpha: 0.09
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.2
+    - _GlossyReflections: 0
+    - _InvFade: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.18382353, g: 0.39208913, b: 1, a: 0.747}
+    - _EmissionColor: {r: 0.000540658, g: 0.019165365, b: 0.07352942, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
+    - _SpecColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 0.16911763, g: 0.16911763, b: 0.16911763, a: 0.228}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentBlueMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentBlueMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9b3ff621382386e13561cc411aabb7b45a225128
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentBlueMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 80bd19d68c4ef4a659db43cfb6b09b91
+timeCreated: 1512317769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentGreyMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentGreyMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..ad4c3def2870cf762ec03e89c87470c9867ac56e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentGreyMaterial.mat
@@ -0,0 +1,93 @@
+%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: TransparentGreyMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON _GLOSSYREFLECTIONS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - PixelSnap: 0
+    - _Alpha: 0.09
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.2
+    - _GlossyReflections: 0
+    - _InvFade: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0.7794118, g: 0.7794118, b: 0.7794118, a: 0.522}
+    - _EmissionColor: {r: 0.000540658, g: 0.019165365, b: 0.07352942, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
+    - _SpecColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 0.16911763, g: 0.16911763, b: 0.16911763, a: 0.228}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentGreyMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentGreyMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..040de11f52d28897814d6a65ecc2c8c32aa1717b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentGreyMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 497423d004c7f44f690e8f82bed81904
+timeCreated: 1512317769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentOrangeMaterial.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentOrangeMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..e6b3edea0bfdb1b1da2e8d88d33db9cea04a8652
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentOrangeMaterial.mat
@@ -0,0 +1,93 @@
+%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: TransparentOrangeMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON _GLOSSYREFLECTIONS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - PixelSnap: 0
+    - _Alpha: 0.09
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.2
+    - _GlossyReflections: 0
+    - _InvFade: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 1, g: 0.43448275, b: 0, a: 0.741}
+    - _EmissionColor: {r: 0.000540658, g: 0.019165365, b: 0.07352942, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
+    - _SpecColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 0.16911763, g: 0.16911763, b: 0.16911763, a: 0.228}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentOrangeMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentOrangeMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..86f2030b6c2087afe8dd1e83886269ad31c69211
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/TransparentOrangeMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 65fb5c4ce7e4e4e1bbd063bbb561cde7
+timeCreated: 1512317769
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Water.mat b/T3-Unity/Assets/Mapbox/Examples/Resources/Water.mat
new file mode 100644
index 0000000000000000000000000000000000000000..8e9cc08da4201201c8f4b854a8a480c43ab643c6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Water.mat
@@ -0,0 +1,127 @@
+%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: Water
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _EMISSION
+  m_LightmapFlags: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+    - first:
+        name: _BumpMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailAlbedoMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailMask
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _DetailNormalMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _EmissionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MainTex
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _MetallicGlossMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _OcclusionMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - first:
+        name: _ParallaxMap
+      second:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - first:
+        name: _BumpScale
+      second: 1
+    - first:
+        name: _Cutoff
+      second: 0.5
+    - first:
+        name: _DetailNormalMapScale
+      second: 1
+    - first:
+        name: _DstBlend
+      second: 0
+    - first:
+        name: _GlossMapScale
+      second: 1
+    - first:
+        name: _Glossiness
+      second: 0
+    - first:
+        name: _GlossyReflections
+      second: 1
+    - first:
+        name: _Metallic
+      second: 0
+    - first:
+        name: _Mode
+      second: 0
+    - first:
+        name: _OcclusionStrength
+      second: 1
+    - first:
+        name: _Parallax
+      second: 0.02
+    - first:
+        name: _SmoothnessTextureChannel
+      second: 0
+    - first:
+        name: _SpecularHighlights
+      second: 1
+    - first:
+        name: _SrcBlend
+      second: 1
+    - first:
+        name: _UVSec
+      second: 0
+    - first:
+        name: _ZWrite
+      second: 1
+    m_Colors:
+    - first:
+        name: _Color
+      second: {r: 0.102941155, g: 0.66592306, b: 1, a: 1}
+    - first:
+        name: _EmissionColor
+      second: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/Water.mat.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/Water.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ad4ef7bc689fe004019104b50da5b7dfc56f07f0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/Water.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4052583f8c58c0e4c852742d5b8f0649
+timeCreated: 1500644997
+licenseType: Free
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki.meta
new file mode 100644
index 0000000000000000000000000000000000000000..af6df397547b521c83ed9e3325cf7f2462f5f23c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 96da23a08c7414f49a8bc20864637865
+folderAsset: yes
+timeCreated: 1485355922
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aerialway-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aerialway-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e477d7b42224b150c40d56e4961c5cbdc625e04d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aerialway-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aerialway-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aerialway-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..abf41899619c11a6a29b8901620bd4194fb12e51
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aerialway-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c80c2e2443adb6d478363a64f4adfb6e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f8b3159c230d03e438213978e1acfe66
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airfield-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airfield-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..90924f1517545fd59d07ad3f5fea44ed73620bb1
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airfield-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airfield-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airfield-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..288c859bb6c74444e81285eb92da0bd8e90fce29
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airfield-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: f98ca583e42f68e47bfb1021409de126
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5c7a70cff6d52114b91fdda77c716b41
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airport-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airport-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8de3fad1d97c752fb175137d6cb4cecdac57034
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airport-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airport-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airport-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7ca42c9d38123f7716f741fc6da9ce3631e5a380
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/airport-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 4002ecd3ce59a53409ed9e054f72fbf2
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: a9ebcaadbc777db4c8ae69b833fac3ee
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/alcohol-shop-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/alcohol-shop-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..92f59cae7b11567adaa9185254efd64292f57d09
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/alcohol-shop-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/alcohol-shop-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/alcohol-shop-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..06eac637db46692db13d47dc9b9f8f82cc03b752
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/alcohol-shop-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: df4b49bce9c77c44b95674e6c1249cfb
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 19737315b4582514cab02888fc084d6e
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/america-football-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/america-football-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..314cdf16cebac092042c5e00641afab281ed4964
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/america-football-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/america-football-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/america-football-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..90a0230a32eb31cc9e0b53572b15b885080ad98c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/america-football-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 0ab7e81663cf1d94e9bd71c89d6f82d3
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 288972b9ca635d24bbc1a1ebdb2620a0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/amusement-park-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/amusement-park-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..f1223170c039a0a8fd8a0791623ba68c035d5a08
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/amusement-park-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/amusement-park-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/amusement-park-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c8c8d29fe42ae7d7fffb9eb1fa45b64180d03f16
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/amusement-park-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 2b59ad5241786eb46be431351c72b926
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ed9d467d0562cfb40bbe9fbc16612af2
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aquarium-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aquarium-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..989631a24ef1cbbaf2233e2ec6e92e0e888b5f15
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aquarium-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aquarium-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aquarium-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..66e7287f045473694330f7504fdcdc2dbdfd326e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/aquarium-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 2ab42ac037a0be8488242b6280d589f5
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 36494bab17b35ef4396aa407923b6dba
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/art-gallery-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/art-gallery-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..06248fb69d3512bb717c0a56de163f6d053f9aea
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/art-gallery-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/art-gallery-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/art-gallery-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..37ce48bc3a042ffd49a845e60f8c9bb37305342a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/art-gallery-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 396f423c6693ea642a4bd8fbfe2cb461
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 1ffa45f5d84696e4898d2218340ccd84
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/attraction-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/attraction-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e556b2941206ccbb3240694a5bc9e146cd3f3a67
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/attraction-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/attraction-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/attraction-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..edc9041663968213bc6f0b34624c277111e3ad3c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/attraction-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 022e18d3996572049b374cb59e79ee14
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 1d3385394755dd14dbb31bbf261c026f
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bakery-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bakery-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..eab8ae5ae1a490d8f4ca993c361e4dbb9ea50a82
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bakery-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bakery-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bakery-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8f0f985c346bb30231c1d2bc043a46025052e445
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bakery-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 6410ee84909c52546be3dece81113978
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: cd40f0a98985dca4d85196a55568cc17
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bank-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bank-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..f19c29a69bca6efc22e607f61b2f358c9773468e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bank-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bank-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bank-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6f51318f8f1299ca5bc322d93d09bacebaff2f1f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bank-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c4c5f05da0835fd4e80a9175d80435a0
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f64ca20366f8dcd468ba0008190b0b71
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bar-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bar-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..c73f0322136a83f302eb57594ed0f46640991790
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bar-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bar-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bar-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..317d33398451b3e6368c65507db9c38858c95990
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bar-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 7a36158a2c2724c4d8fb9be96005e55d
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f560eb9ac67404a448eef64892e8dd33
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/baseball-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/baseball-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..fcb2e8d51b3901a2990b1c285a6ddf82f14147e9
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/baseball-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/baseball-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/baseball-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..98e79913fb2c63d455561acf6b371a3ccaf26d61
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/baseball-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: aedd248742c9f294eb06125e77817be0
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 3357d5702b98e914cb58ca41731b4138
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/basketball-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/basketball-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..037807ff7104caab02f4ca15fdab37d19066254e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/basketball-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/basketball-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/basketball-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2a3555d8005f6c753c829a86ad8f9359a624b283
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/basketball-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 77a2d2418bf827047ad47c68ba57da00
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 290415de4aadc1f4888edf13c0eeefed
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/beer-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/beer-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..9bfc15a15bbeb94d3dda165d46a9e90834775d6f
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/beer-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/beer-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/beer-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..05700cd451fb3596c6ddd33c19f48f68f64998df
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/beer-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 38d01da203407b74cad749c1d8681580
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: eed013c489895bf4f805065e369d63fe
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8ccffec90d501d1dd5051441bd0dab754e0d275
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..723a834824df7b7147ed41f21095abd20b27f72a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 763e21d069ff11945bcf4afa85ff64ed
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 3ada87f344c7bea4d9728f5fb048308f
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-share-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-share-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9b442b87e509d46b86116e59eae7704bc30b9ab
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-share-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-share-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-share-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..caef8b9a92488779265b33f216e55f6626e1592e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bicycle-share-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 0a300f3c30c4f734abb83f28a7dc10e9
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b3ad35d07dd7d774288aabccefb560a1
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/blood-bank-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/blood-bank-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..401603ab54c69ee15ae9bb1fb37b7d9ce970356d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/blood-bank-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/blood-bank-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/blood-bank-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7fed42133345b962420537535c75c8c96f47c766
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/blood-bank-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c75ddf6109f45f04bbf89b9eced20efd
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b299fc5eb12e4f24c8f4117f900bb17a
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/buddhism-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/buddhism-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ffd294ea7a0deb85efcd5382a74d4672d2a52d2
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/buddhism-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/buddhism-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/buddhism-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c213c93a209ea2d1e731d9f550235a5643f810ad
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/buddhism-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 64547378883ea334f9e656e15e450a61
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 00e671da3da911545a6c123fe492a323
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/building-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/building-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..27e684bff4aecc4e37b317dd6687c29e88b9bb08
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/building-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/building-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/building-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8c5451422b46cfd3d2b684a39a7ddec87fe0979b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/building-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c28cf76c7e16569499fe77e47467dff1
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 3462be0e0248c6449a718362578402e7
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bus-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bus-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b4bd0e15b308747e2cf70af91fa4fbef0615d88
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bus-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bus-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bus-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7764a73f1d88fcc23d35a39a628fc2c3c3228a3a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/bus-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 78f64b0fd92be8044b951eb0e474cee9
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 82679589bee151148b4f99211e8f194b
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cafe-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cafe-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..b3770f580d764bcf1b288b1fc6a3f1e2ffb9c21c
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cafe-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cafe-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cafe-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1afcbe31fc2baa764f2be3b0fcdad4c198a40f5b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cafe-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 025733da1b0ac7345a65b55d10874afa
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 610260b2fad4aad4ebb5d619a12355b1
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/campsite-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/campsite-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2902585633f69bf056cf503ad25ed027663431a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/campsite-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/campsite-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/campsite-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ab632969eada28d3e9a8d6f46783ed977c1e8549
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/campsite-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 39eb1f9f985f3ee4986ae5ca5e7f041d
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 8173c0cb50fefb741b1214185946e72c
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/car-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/car-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..62d2343c41469fe9c1ba66931b813d97e51633e7
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/car-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/car-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/car-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..daa77871634284f723d176020a747a1cb52f5278
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/car-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 6b42d9d154bbf8043960ed1d7bc122e8
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 0998b54b8147ea24ab4bacc35189a632
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/castle-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/castle-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..571cfca540fc74c2725b8b2b1965c4cd9e1fe1a4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/castle-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/castle-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/castle-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..014bdc090d38b05862d3c6358dfa0af22efcdbbc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/castle-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 497d7ff58b11fdc4980f85c156fe948f
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 1c1ada30b2a3b704d91fc553faa5a459
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cemetery-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cemetery-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..de1531f61bdc6042002cd141a96bae7a732f8d28
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cemetery-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cemetery-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cemetery-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..132535e818470137b252a78dfba9a148904df931
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cemetery-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: a714dbf7a53aa9d4f983a34071aa7dcc
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 6f21dde1f85b1234694baf9506761715
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/central-building-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/central-building-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a5e3ac4b39ee8f48e7191a46fe37d80a7a7acd4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/central-building-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/central-building-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/central-building-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d6d614a4cc7a24799e1bda5a4cb038b352dcfe97
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/central-building-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: ed7defaa52ba7d74ab20777beeb9db9a
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 583acdb9aa8a13e4081bb54e94b945cc
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cinema-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cinema-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..50b0911645834e2cc8801921a2881e350da3fb21
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cinema-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cinema-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cinema-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a3448de154d24c9063443037f3de89ef24ac157
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cinema-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 4e50a743209c88d46aebeb2a8c761b86
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 80b5666565047c44ab9e13b85d848e6b
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ff969df32f93955bb411eba1fbfcb6c4da146a4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2184e96f80aea7c0e37d5668b6e61e9aec0c9a5a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: a12c5f54f09a83e45b37a96ba4f56042
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ade95d2b189305046bb58ce69d33c660
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-stroked-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-stroked-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..48280dae1ac646f8fa7a70fd2c72bb34f361bf59
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-stroked-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-stroked-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-stroked-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6178343799c3383ed7a169592d47d37cb80cce51
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/circle-stroked-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: fd2b6f67e5eb18f499770977400b8dec
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 39c2aa4171f103a4cacfc3f0e9d537a4
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/clothing-store-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/clothing-store-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..debdd7405ab9e5baf5cf649c22a2fe0ae57fa75b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/clothing-store-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/clothing-store-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/clothing-store-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1748203a27f1a958b781a551dd9560efe73ac7ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/clothing-store-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 44aa0e542e870c0428f769ff6a66d886
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 3ea78910c9c34cb4bb4170960b1dd9b5
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/college-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/college-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..825dd569c32ac541f0c1fb7793c0e94ae73578af
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/college-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/college-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/college-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..94d7df6a66d56283b865d4763353e592017da7b7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/college-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 9c0c2e7fb3908094687b6cca597bf2e7
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: aca4c404183b18d4cbb80a41c613cdcd
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/commercial-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/commercial-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..576713e2bd27ebb042c15f6ab66bd40e9e6cc8bd
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/commercial-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/commercial-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/commercial-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf0557fb0b72bbb821ec3ca8bb5306fb99d11b23
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/commercial-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 7f1f9d40832d0e349a4a04c4c59cc880
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 2f6ae4913b4a3754ca90acb3cb1195f1
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cricket-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cricket-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..24591a1596685f4395fd5d766b2be2c7df10cd06
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cricket-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cricket-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cricket-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..244b4a01d103628cb116766f292c2ef9a32ec34f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cricket-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 9e44961703e2ebe408e6fea710bdfdc1
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f651f771a4ef54f4495e6a4b1cb34c90
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cross-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cross-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..943bca252f184c91320c8a6137fae7ce6f718f96
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cross-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cross-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cross-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aaa7447aeda2b32bc89c1ef31bc20357f3615372
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/cross-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 91b780dd292390c49b16e221bb745632
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 45d409424355d5d40b8c3210fcd0a49d
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dam-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dam-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ce27fd1aaa9612de4be5c1757973d0004272a27
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dam-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dam-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dam-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..31588bee0334e114845e9fccadcd25878f382a39
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dam-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 1804a37e31189fe44b20a093489333cd
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 45a16b51bae64974ebca3fdab85cc1ec
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/danger-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/danger-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..cce5bb923a75e5a5e4e8c5dc4e56a56821f8e3dc
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/danger-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/danger-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/danger-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f7a03c342c1f9d42f97c2edf06a4674e82ca49ab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/danger-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 2af076b0c7f87eb4ea2720a89b0ba512
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b57bcff03a3b1d54fb9819cfec668813
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dentist-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dentist-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..54fd7c67994cd25bb977e2a71a622bb6a3901b09
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dentist-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dentist-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dentist-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..05c92ae2e8f4b1448f385b718f4112c79b9d1aa1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dentist-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 2921798e98d01c3459536b3c2a0718d0
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b6d50f82c7086224d8457553c5c5c206
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/doctor-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/doctor-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..1bd739b98460bd2ac3228328d36d450a1e1d1fe1
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/doctor-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/doctor-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/doctor-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b40ad2ab7fb4d9e9981da5764541d22ca5e68bb6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/doctor-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 205e1b7165ed8fe459642908de62496e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: a8e1bddd1d8b0664eaa951e9b066b631
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dog-park-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dog-park-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1ba9cfa9b2ab54ce59ab2468c15c30233d1a532
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dog-park-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dog-park-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dog-park-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec5ab3a809ab49e87939eb8e0421864a5a22d6bd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/dog-park-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 3e53e851d8f2bda42af8f59b9a3a0a99
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 6a974c631b033524bab76c36e5d364cc
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/drinking-water-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/drinking-water-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..28aca7db24f63bb2d3f7411f808890f5b45ef4ce
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/drinking-water-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/drinking-water-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/drinking-water-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..64a5d5306a953d104f634215f39547a2151a48df
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/drinking-water-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 65e57bb4e4f224f4ca94062b5b177b9c
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 07ec9152dcf21544ba663f9d6fe6260c
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/embassy-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/embassy-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..c339927ea079bbcae22f9c5f59551e97de936596
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/embassy-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/embassy-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/embassy-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..20dcd308e827096bc6d0eef2d8fcd714e445f829
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/embassy-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 5836ba1dfecd1c94c9c38deb12e9860a
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: d9cf5906d8391f24ab88d59cb2d415e9
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/entrance-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/entrance-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..b652d8fbe8f307c3e403ddd759871554c9939203
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/entrance-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/entrance-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/entrance-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..44b85e7acf1c43ef317f05cf3cf155631773a4c8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/entrance-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 949c261a0f14ad5428ad79848d6a55e2
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 03cf91797d309bf448fb5925b7f54753
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/farm-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/farm-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d806000f8e52bc45a91cbcfce67b15714b467aa
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/farm-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/farm-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/farm-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f95d2a40985253fb58bc3342c004b67b1bf25503
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/farm-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 2991a81e7fd67224fabdcab9cb8290e1
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 7d7bd5d28450a254abcbbbda239872b6
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fast-food-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fast-food-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..9cf200a9b079d63c9dac45877e4f5e87cd036eb9
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fast-food-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fast-food-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fast-food-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..85ec8613bdb9ce90d58131e509e1a3fc3af4df08
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fast-food-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 428a955abb5203f4f8c78214fb11318d
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 90c908d3e72a4304183c73ba7facd47a
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ferry-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ferry-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..a95812eb4f3de8155c5312026cb189a58ca36f75
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ferry-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ferry-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ferry-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aab6974159586efc26df3f6eece330ad8be07af1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ferry-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 02c7aad588166c3419c17ee5a1762a5e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 3c2ab13e1a5a8744ca8ad44376fc9ca0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fire-station-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fire-station-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..09f5fd1ca47611f13da4391804aa2cdd857eae52
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fire-station-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fire-station-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fire-station-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..06494ca867e6afa71d46fd99c013edd4a1758485
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fire-station-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 8a59d8df8265d594899cdd8315585374
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 590ce433b1c9e5f44aad8a8db45e9e46
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fuel-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fuel-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2acccce490a5030f73df24fc3295bac2847ac32
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fuel-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fuel-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fuel-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf3c9ebfd7f408ca8ad2142dc16e99adb22ee304
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/fuel-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 1ec60ef03d932a643a4006ad13b12d9b
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 302373975553741448aad7c71e692740
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gaming-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gaming-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab69641bc7be5732840be4bfd260f9c63ca9a7d7
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gaming-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gaming-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gaming-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5352ff462349b16df5594271742fa55f3dbcc9b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gaming-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 9c2229b19c45b1049a76c61a71fe8d10
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 32fa27e5752ec4040a6384e35aaffe05
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9e728e26d341d6174dce29792da1fc969fa4318
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..008342a9b3d7c0dc336d5e0a51ee0f2238abdc3f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 111fbabb4b76cc44f9b413ae15c1119e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b8c37968a5e30cb40bda11476020100b
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-center-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-center-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e34db661ccb217344035b4f40fd012648732622
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-center-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-center-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-center-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cc9b4902a0327e55c0c7066b45c3b4247c69e736
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/garden-center-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 5c6243868d2d4334b85bb86f416e0815
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 73fbc00a9c403e24aab424cb227676c6
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gift-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gift-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..2339be29082f435f12b2d8cc758729d32a97ac80
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gift-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gift-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gift-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a9e3f1cd4db7fdd6a32f68604325c1f30dfcca1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/gift-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c74f7947d1ae4e94687ce96d20f13911
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 939025ef3cd0bfa41b6d058a38a5d5e5
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/golf-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/golf-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..963160e5107deeeb135e21af8476fb45176b8d2d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/golf-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/golf-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/golf-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e69167aa825228a25ebb94aabb27e5104bb1042
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/golf-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 044a933bd37f21548b2dc707d4295a88
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 087b8b9047e595e439736e6215a6e483
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/grocery-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/grocery-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..f17fd68f5935b95f92717d7ccc8fc6d0c5a17fa8
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/grocery-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/grocery-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/grocery-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..83cb7327d25d7ecf68ac7f4018bd4357c7bcc7f2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/grocery-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 90ee64b82e4a49e4e8d7da44d0f90f70
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: e24ec8f6b8f49d34081cbc73e171513b
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hairdresser-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hairdresser-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..622f27c660bfac8ae9e5eca0fb32d741b4c43c56
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hairdresser-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hairdresser-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hairdresser-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b442ee25c0d15bfcfa26b17a310c5acc4ef5a17a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hairdresser-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 01409860606035441b711d6c87d7e181
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 25dd69f20ae04b34a8e696c5c33c8279
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/harbor-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/harbor-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..ff58a4d565ef4a020f78381c32f8830ba788821b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/harbor-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/harbor-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/harbor-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3520268aa14c9a61e748f716537e17e7ea5da382
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/harbor-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 296d283c62a405146aaccf32d610de63
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ac1e6e1dc03631a43b5f590cd013eec7
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heart-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heart-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..cfdfe553e285e0fddc33dcdaea459674d1e2af31
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heart-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heart-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heart-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c91d76d6ed8bcc4ab9d68b7ff583c3fc502c5365
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heart-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 818198d6da1f6d84db65f5dad172eeb4
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 498a9c16ab4ee8a48a9eb457162cfc62
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heliport-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heliport-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac7cbd02fb62823ce8ebf1f22ded7e073f7441be
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heliport-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heliport-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heliport-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e454ace1f96fccc9593fde9bc205019d158830cd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/heliport-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: fa0d9d80fb3c5ff4296369b333ed48fc
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 180fb9435f002e44894634e401160e6a
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hospital-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hospital-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..52c27ef90c1c5eef30c69a44135550b2a3c5cd5a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hospital-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hospital-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hospital-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b3862c98d118f58c141980913bab9989fa7a8575
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/hospital-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: dcf53dd8cb19651479de8de6bf813e39
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ada10e75340891f4796aec3c547fdc48
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ice-cream-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ice-cream-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca3edba0ffea5fcc70805876bd8a6e3a6fe9469b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ice-cream-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ice-cream-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ice-cream-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1a2f3a82777c6c1b3674e5380bad4bcfdd690017
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ice-cream-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 7018b389b1fe77845a86a4b4f862ff48
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 58d477e09da19af4ea8cd3e83343a704
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/industry-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/industry-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..beac1c17f4dd8df0d0ea529e6baa845470cef52a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/industry-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/industry-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/industry-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f00998da484165a789b74e0a0cdcca530f8e004b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/industry-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: dd7dd9c1baecd44419d86a91f50533e3
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 6cb677eaa07831942b2b9bf7474d5235
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/information-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/information-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..d94eba575840451c3f6dbbd5f8842a6a57f696a5
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/information-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/information-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/information-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d6fc8a8cec422376a41e6a5c960ef04b7d988942
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/information-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 0e7170d1db3ecdd428a5d74d2c61d7a7
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 4ec4ebd068914264480de6a0c4b28c04
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/karaoke-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/karaoke-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f5af3024791ac7385c1d6f9d03cc6cbf94363c4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/karaoke-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/karaoke-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/karaoke-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eccc1172c32cb62ff8c5323e65885cda288f5ac2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/karaoke-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 59827cdc97caf864ea91472943a6bdca
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 35cbffffc79fa7a4baf82e53e5826462
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/landmark-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/landmark-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed115e60b0d33035d298d884da0001420770e88a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/landmark-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/landmark-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/landmark-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..516d5900774c1e8d436b7924f89c4210aebde0f9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/landmark-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 85a7e8da525d6d242b49c9d68f9b3a7d
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 364a0ef72b464f645ab2467ed3e8c230
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/laundry-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/laundry-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..88317a8489c803346909136c83663f752ea21ff1
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/laundry-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/laundry-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/laundry-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..98f23da96b1029c602a2042e9bcae9f54cbc351f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/laundry-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 4e79a8954659c50499e271dbe9840250
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: be2733a6d03d3d546a821549c4e0fd89
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/library-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/library-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..45bb36b368aa205abf7c607e97d33ea6d0989e58
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/library-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/library-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/library-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dd79e90314cee94b9fa8e89f627651182d2d5a44
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/library-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 11570ed0bcc394b48b43dc68a4d7259b
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: aa02b60e5a92b39488bac656da543ddf
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lighthouse-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lighthouse-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b9f0bd11ae9d95a31da1718eb51a39cee2385ac
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lighthouse-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lighthouse-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lighthouse-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c940ed57cce4ce4d791ac443479d6a4a36e30a7b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lighthouse-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 60c5cc0d372cc6440bdf62f8450e4c46
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b57872cf79ea69b4ea73de395b237389
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lodging-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lodging-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..2f54978dcb2917cb55cf87a4a22207a6a74f8ffe
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lodging-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lodging-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lodging-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5143493c7ffe6f5082d43fbf05fda6a5e4890647
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/lodging-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 00f79eb9a8a2ba04baee091552d5a7f8
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5c786d5e09c8dd841aa6ad8f7d5c6fce
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/marker-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/marker-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..73215d2891cd8fdea3d0793ccfae525da5e77402
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/marker-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/marker-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/marker-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2aad99c9d213e1d996811a2c35cabf9e4fac824b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/marker-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: b2b2af9fd67ea81428b7708fa4d8a368
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f5c160003bd56e5459cfd932a7688652
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/monument-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/monument-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..11093a059c1bc88f473de9ead2ea9ba0060ea346
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/monument-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/monument-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/monument-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9a9752a7a3c5b600fbdac5fefc73ae25c0bd9b85
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/monument-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: d5f811a06bace804ea9ca2920bb9c765
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 0ba9077770fd912478db94c99e6b3771
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/mountain-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/mountain-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..b03700b63643a45ac47c8eb06645b14c34bf9c11
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/mountain-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/mountain-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/mountain-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9d6f6abb0d2a471d8af8fa492e2b6d31dc28a712
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/mountain-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: af764933d03cc6842a2ba96bb60a6027
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: e404c940357e4654688ea6ee424ee0b2
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/museum-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/museum-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..07a252f82a24f6f4ccce6429b671216d4f8e37c8
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/museum-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/museum-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/museum-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..303b3dde0f7f1084995cbf0ba146d95f4d10008f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/museum-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 3999b5224ddc48145ae2670712783cd7
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 17d95ea5bee1ebf48bcd47b83fb1c931
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/music-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/music-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..c581c9fd7efe17a42bbbfe49d85ff6f952ef0d6e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/music-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/music-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/music-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a597f9ae1619740dee7d5fc893b3cdd6c42e32b4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/music-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 95027b675c797d0478c02e66837b1fc9
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 8e1123b08572d0c458fbcb85e97aa3de
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/park-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/park-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..46e6283cddd609d93687ef52b982c119087cba6a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/park-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/park-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/park-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..13fff8e87848a24a266c9d9c12752f89a9197f95
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/park-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c6f2d0376dc02bd4783e9b539e0fdc70
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: bef0a5d744e4de843bab65f726982f29
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cfd487bf9899e9fe805e3cecdfefb956b626775
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c442008dad2c2b0f043ae16c97455c70f3c38fe3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 1209017340b51ee40aed0e7a2eebaa8e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 72faa2dc7c4364440bd7dfc03870b379
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-garage-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-garage-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..93542f88654ac8f66ca6e87fa9cacf3b4f40661e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-garage-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-garage-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-garage-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..acfb3c82a3108e0277504c3ba40a4d38b13dd655
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/parking-garage-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 47cff5dacfd00fd4ab1ab91babe10ee8
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b9d83e33d065bcc4a8c8f8e6a845a426
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pharmacy-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pharmacy-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e11e1d212ed57e38ca4853e160c68adc254da7d4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pharmacy-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pharmacy-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pharmacy-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f05999223a2e214c07f865a835383501fcbc7582
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pharmacy-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 50167a422193d5546ba8c8163c00072e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: e48c8ef8feb74364d91540df6eabef95
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/picnic-site-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/picnic-site-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..b773d7eeac63563596444caa69b9e5db0ae83d9b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/picnic-site-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/picnic-site-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/picnic-site-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7a431187b9f0966520697c53d6f7ed4167dc76b9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/picnic-site-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 02f22550a6c605b4da2b131dcb19816b
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f24d65db1ac7c854283ac80cfca0e6ec
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pitch-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pitch-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..858917eefd046238f283ae25235104f022ce09b7
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pitch-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pitch-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pitch-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..77f834fd68dac69a43bdb0d5b06fe138a849efe8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/pitch-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 314c2e3662ce91f4286a32ff0c49d128
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: eeeaff85001dc1e43bc2480fcb8e32c8
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/place-of-worship-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/place-of-worship-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc11acccd442a7f13741b40afcbd9ef09d658849
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/place-of-worship-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/place-of-worship-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/place-of-worship-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..06601787c28a7ddc1f0f5d30eb8187abd1d38b8b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/place-of-worship-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: b145cd551fd36334f9d753a710b92ad6
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: e5f55472dba4c634882b042e7f4adbd4
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/playground-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/playground-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..a663f35e5f58c4f7bc1e5f6e70aa92fe03f202d1
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/playground-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/playground-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/playground-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ff2142bdd6a3bd966c42d93a10b622bdcfa4f600
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/playground-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 7f10afd7e5ab4bc49a14777ba3555195
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 09b295a0acbd3da44ac4dab280f908b0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/police-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/police-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e53039701db15cc40ccd3aa77c04b86b33d6fb3
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/police-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/police-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/police-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cfcba64c6e08a77ecafeffdb0ab73c21d46b2726
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/police-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c191942b2af0e7944b071a1c78fb7837
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 2aadbece8ea0cb84a8d733cfe39fb67d
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/post-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/post-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8416c20a073bf7820d21d8983380f3cfb7e5f63
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/post-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/post-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/post-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b532c7ac4b519e182825a2bc6aaa482336b7746c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/post-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 575593649cbd10747a88c83884d81fe9
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 3bceb1e17b7f84145881df26c5877a86
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/prison-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/prison-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..9d33f58cc0b5af9a6f93d08933c5ae487b14d032
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/prison-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/prison-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/prison-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a6cd386d35895294f03fbcdc0cf25b36b66117bc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/prison-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 206aeb4e19e242545817b0c560f5d1f7
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 36b137fa3b5ccbb4eb5c3ecb8c7a6fbe
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..965f40ca44d92a2f597fc04ab52bc0b19a9c8097
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..59886bbda026deb42ad452d39951dcf1e50ab287
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 8d57544bec7e2c34fa61c15afe16e9bf
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f533a97e2e8c9474dafb1f97129aa518
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-light-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-light-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..5812e6574b3519c7e4324fcf2bd42108bc5baa5e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-light-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-light-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-light-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9e8bb7a332792a9d907de1bbd7b5553a9ec571e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-light-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c7d01cb3a3849984db1e0e6dea66fc47
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f9d3798d62bed8648939a4bf7d104103
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-metro-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-metro-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..e77d02d3650660352e57e6ea4a25516694c421b4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-metro-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-metro-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-metro-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a3b643bb931183fc41fec1134f143752ea12415b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rail-metro-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 0028198a8e0c3f64889683cdc2419868
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: a6889c22be692b248b83aeee0a5aab21
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ranger-station-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ranger-station-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfef18a8b9307f96f376303eb59117d3e34bd0ec
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ranger-station-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ranger-station-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ranger-station-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c24bc51b1666cd80ee7ea5276920477847c92669
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/ranger-station-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 1c632f4cb235bf247898c559eddf4f66
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ecbfcf82011bfbd4eab315dd25319d16
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-christian-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-christian-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..465a670896a024e963e922fb8be38fed2a919ff8
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-christian-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-christian-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-christian-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..98586a2327f98fd6dccca65e2fcb2c0b4f449e33
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-christian-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 266fe43f7f5f132458eb084a820fa017
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 2de20eb43dcdaba4b8fd2de57f1ec8a8
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-jewish-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-jewish-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..292e3aefed96f208cb1aec89dbcc62f28934fb1d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-jewish-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-jewish-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-jewish-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dc5dba539907c89bc9df587bea136e1b659ce444
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-jewish-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: a4f9d53ca33c92a4e85a53dcf2bcf83c
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 4f8bb13116cacf0429c7868ca1e49e12
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-muslim-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-muslim-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ca699a3472970186edf4593a55706814ec03b62
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-muslim-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-muslim-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-muslim-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e7ded869012ae7005372ba35bebe50100b9d3eeb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/religious-muslim-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: b53bccd9065361e45b022c2778c6cdf7
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f1f61d1c9fa27be43b27e7e0e8e29192
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/residential-community-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/residential-community-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..dee858c6409ea265a1efb4aac365223893c42ebd
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/residential-community-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/residential-community-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/residential-community-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5be9c5981ad5b10307da20c15a5be2ad62d82690
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/residential-community-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 8b6e08736bb6cfc47adf26d30168a112
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 075cdc8c4246754429c0367e42bb3a5e
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/restaurant-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/restaurant-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..36bb446363e9bb92565c5eecdcdfbe441e6814cc
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/restaurant-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/restaurant-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/restaurant-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e78a73c1e73988b1c567b30dc4be81838ab27949
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/restaurant-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c57d8ad3580afa9469a25d7f694c7ef4
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 441d780a93bd7e3488b8aa17c963dd44
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/roadblock-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/roadblock-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b2028e836da2f17311dc35a7af0877225e0c9c4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/roadblock-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/roadblock-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/roadblock-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..930ff9eb8ef0f797686f2a715b3e057bf159917d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/roadblock-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 42d74a422de971c4bbe8bcfc9d7a52e2
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 9157a63463214d24e9ffbda055d82c2f
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rocket-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rocket-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..133e8e97aecc57186cfc7b33915e5cca7fca4156
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rocket-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rocket-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rocket-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..31badb49298768220b078d03c3d7c32549939a99
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/rocket-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: ba811397e931c754dac7b750dc6a0092
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 7001d480f1d4a1741beb6770115c213f
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/school-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/school-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..829f2c4bd64bb759e2a8534571872f2848d13c44
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/school-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/school-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/school-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6126645821763e64515e1ed17a2763f11d1f9df8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/school-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: b21b0426dd17d2147b0a9ac8292ced62
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 1ace508c4ffd737488fd0b58f9e2f771
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shelter-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shelter-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..f59de390bc55b924cd3193a2521f14eced2006cc
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shelter-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shelter-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shelter-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d37d83a38edd808600011c4331f9409c12bd306b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shelter-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 607390fa910fade45aa98f83f6e34951
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 424e35fa19e2c144faf61a742315d0fd
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shop-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shop-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..d583340cf88219824c11fdc078645eb1b3a3c082
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shop-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shop-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shop-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..69eb32288fbe13fd9346240b72c1d2133516b45e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/shop-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 591053151e5690843a9abd44ebf79681
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b6ff4416940123946bab45e2646ce30c
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/skiing-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/skiing-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..624a95d8225bb68d3ef3c164e75c50b2ed2ab4ce
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/skiing-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/skiing-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/skiing-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f082101b8a67db40fe3e07d6f7e9c562c87b7f0b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/skiing-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 66d1cceae098bc24fa8232e4a5eff25e
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: db85e3e57bf0a484382c385fe04630b3
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/soccer-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/soccer-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b71c5385201904483ec9f0d188f5b39a71c7d9a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/soccer-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/soccer-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/soccer-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2ddc1ea955f75fd6935c44152313effda6ace172
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/soccer-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 826d86a5e9ef99c4285c83adce88654d
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 66587b800dec9b34cb7f6a5079aec926
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e37cf7fbbb2c367e31ce2499dc0184174ae640a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d544459a8d470c12781fb5f448c41e216236e48
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: d20eb1ed6e139ec448e72058bfbf4e2d
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: f8fa2e12019ff2040941931be8940c03
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-stroked-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-stroked-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..450f48139fda43219d8f2c856776bf8d963940f8
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-stroked-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-stroked-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-stroked-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a1133d67cb24f56ad2c526775b9c9e011e3df7fa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/square-stroked-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 2990428a352e2884786762733fceca80
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: e12fc3d9ce6c07c42ad63c167c014565
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/stadium-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/stadium-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..fff2b8eaddc20ef458157ebacdd69e06dc60494e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/stadium-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/stadium-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/stadium-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..051917e72ae132c4f7aabab1da65b8097c24d9cd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/stadium-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 5cd344da491f1044ba6206898a1e79f0
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ba5e574e5bd7a204a97162fbca434243
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ae26f7dd2948b30120daf35e0c4111b696f3c41
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ca89f548cc8e9855f7a1819bce3b2e64652d2707
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 4412d2f8f47b513428b2823fa66d55e5
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 75247fc2750a42b4daccb2cec465a0e4
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-stroked-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-stroked-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..28b4efd425518aa03a0431b610de00e500b78080
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-stroked-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-stroked-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-stroked-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0c939780a5962e59fa47a85cbecab4c4cdbb9aaa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/star-stroked-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 8c1b77a0885e16741b9ca566cca795c8
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ff67a8a533db90a40b10383611054bdb
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/suitcase-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/suitcase-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..451bf69c4ff2c902162f54a874d1f6323abf42fb
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/suitcase-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/suitcase-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/suitcase-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a4749d06688a636c93bbd5fe8c2a4d6961f3cad0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/suitcase-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c071dad9d3050a54e80551cddd9b7021
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 01d72c43379ede740804aa4afa21503c
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/sushi-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/sushi-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..48edb4d44a11adab5734ab6187386458e3e1e7eb
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/sushi-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/sushi-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/sushi-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1ff4c0f3e5101bd42ff21ceba2475c466ec834eb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/sushi-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 27a366aade3a7904f86b4538ba21bdd2
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 3a0c9d5ee8d06f14e8ebad746079f000
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/swimming-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/swimming-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..2421a327abba5795aa3558020454a5aa710ff757
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/swimming-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/swimming-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/swimming-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f5551ee5d4d0947748adfa4feff5b044d01a07a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/swimming-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: efae5cfb6e53ae8409aecbf7eef40ac1
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 1e2e49bfe1786e44fae66ae0636c2f07
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/teahouse-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/teahouse-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b7cc2aa9bfb43262903f00e69b88d9b5bd8f3e4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/teahouse-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/teahouse-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/teahouse-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..808f09c0e08910a25d79a43c424b1aaad4c40233
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/teahouse-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 2ef69bc38ea8a064385fc07ab2ed79dd
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 0b3e5c1e77efb60458ddff4b0bd21832
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/telephone-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/telephone-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d97dea98c734384697b5aa9b99e059470b8dd8b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/telephone-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/telephone-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/telephone-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5227bd54dc29481d46194229b46007cddeadcf1a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/telephone-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: ac8cf0225fee67d4f86b968f8ed64468
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ef307118b6519a94397af7e265ecdd40
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/tennis-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/tennis-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..f165598ffa1ebdd103a2427cb806fc6f0aff8880
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/tennis-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/tennis-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/tennis-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7e11cd216a6d8858505c5c8eb8febf6fe1d1e14b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/tennis-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 8d18b54c5e9a44f46a18d7585f895a87
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5c6fcb5f94d6abf4db413bca02467a26
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/theatre-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/theatre-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..dde5feba4d8800dd3b8c5ff8005127495fc0ae10
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/theatre-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/theatre-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/theatre-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e7318837aee676139199e5004cf9b220f476f824
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/theatre-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: fdcf1646c2636004ca82e6046ed05398
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: ae224367deef875458dd43a2b9319042
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/toilet-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/toilet-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..829e217a665542a4d1fbb97493143a39d7aac798
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/toilet-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/toilet-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/toilet-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f47e73eb8c4d047eeeb5f96acfb8e532b5151f54
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/toilet-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: baa3d11b19b652f40b873bea866fca56
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 7ea7b51422d4d414195be2b9d336d0dc
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/town-hall-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/town-hall-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..8fce3f03da0819d750b4cfb4187a8fbe0f42aa44
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/town-hall-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/town-hall-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/town-hall-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aa07fb8688460711d92478335c68613f129fc909
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/town-hall-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 9102b449df46d244c852c3c6e92f99dc
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 26e8e986e0ff8184690495db826c4050
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..05a2f6dc3c4fdd55e1575ec30118235300f94a14
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6c3ad7da4d28084964a96d690c23915a304071c5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: f54f3a126717f974284272da3d701b5b
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 2c2bc058b5a82af4abc9b1070dcb367c
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-stroked-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-stroked-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..802d81bd3428d07bbabf5a906369d30c0e0ff11f
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-stroked-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-stroked-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-stroked-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a494fe92980fdf38d2c3c55586ad69a1cb19382
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/triangle-stroked-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 46b1eee3e283d73438cf428363f6d37b
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b5fee8f7e6d5f6749a9063743774e295
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/veterinary-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/veterinary-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..7aa0f2ae9444910e3a2d9b4425dcbf36227990e1
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/veterinary-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/veterinary-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/veterinary-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf64b13f2b71c88f0c9a4050881b0531c83532fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/veterinary-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: a8bea32fe84c3c94eb3de19a3a15057a
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: c3332e2d7e17393409d29ed08ab03820
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/volcano-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/volcano-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe6afac4d6640332959f84cd7c8253f8e56bd87e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/volcano-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/volcano-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/volcano-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..78426a9ee2a3ce2228f296771b021ff4d49a7f23
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/volcano-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: adf4b35731ef85a4fb5abdf6eaca3de4
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 6a3da5ef568a14a4d9fd78c5c96eab3f
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/warehouse-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/warehouse-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..4fbebb1fa1281ce8eb95bbe35db3f46fd8ef5ea5
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/warehouse-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/warehouse-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/warehouse-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..00df1d7ec1ef4401fa1303a7af4dd21c99c0659f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/warehouse-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 3d9903eae716f93498931cff4806f1e9
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 1ad6e6da5614ab340963524b04624dac
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/waste-basket-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/waste-basket-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ceeecabccd39dc9d4f817213d8361801c615fa7
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/waste-basket-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/waste-basket-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/waste-basket-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6ec32214558c1aae699433110127577caf01ccc8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/waste-basket-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: d6e1dd6c5dbc43d43adbe36b7c00b38a
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 60796088d13497642bdad74362452169
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/water-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/water-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..02ccab75432061ef654e5c257aae78f0c5aed82d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/water-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/water-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/water-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6cbb29f200a2ff9986f8ad5f87880105b78100aa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/water-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: adc98df7d2e216c4294db26b0fe7ca87
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: fff440cb3fd0ad54aa3fbb30ecd17204
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wetland-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wetland-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..aced94938d8833eea1f555364891ca5432a51e27
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wetland-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wetland-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wetland-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a72d871d680c065fc0a621b7a099e43843c6e6f4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wetland-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: be0ba1cde49b24648ba3ec24fae5059b
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 6f9d1bda83de4cb4bbadb832ff48cec6
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wheelchair-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wheelchair-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..059ab46bf8f16a478dd1077179b4bb085b5e6317
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wheelchair-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wheelchair-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wheelchair-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6940106ab1c5e3759add35b18b107f098d65c7f0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/wheelchair-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: c2cc9bfd9d26ce146bed5db4dc5bfff2
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5cc632d3b87a4824c95a0791832a3019
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/zoo-15.png b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/zoo-15.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0ed065cef2e13886709381b2f7cdf05cf281ceb
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/zoo-15.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/maki/zoo-15.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/zoo-15.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..393018c571587d3ca84de2fe29aeb2a76fab09c6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/maki/zoo-15.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 8e1b3d7011cd4ff4bb10438e495d6073
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 1d6432c568e3a9a4292d7b64bc45fa13
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/roadTest.png b/T3-Unity/Assets/Mapbox/Examples/Resources/roadTest.png
new file mode 100644
index 0000000000000000000000000000000000000000..7fdb3f3ea6e518a9e506977ca1d267029fe63da4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Resources/roadTest.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/roadTest.png.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/roadTest.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bb3e25f13bf635375326884dd693f28d052e093c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/roadTest.png.meta
@@ -0,0 +1,59 @@
+fileFormatVersion: 2
+guid: a3edef48e8d373841a5c1c5abea5c9af
+timeCreated: 1485431583
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  allowsAlphaSplitting: 0
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/rotatedPin.prefab b/T3-Unity/Assets/Mapbox/Examples/Resources/rotatedPin.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..e3827da4b9e5249decf56e69ff3c73d7d0fc159e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/rotatedPin.prefab
@@ -0,0 +1,198 @@
+%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: 1057678692566920}
+  m_IsPrefabParent: 1
+--- !u!1 &1057678692566920
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4890254268300416}
+  m_Layer: 0
+  m_Name: rotatedPin
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1491214401396238
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4400882319096550}
+  - component: {fileID: 33644394183837576}
+  - component: {fileID: 23888668398322532}
+  m_Layer: 0
+  m_Name: star 4
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1724194668711158
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4686506628960176}
+  - component: {fileID: 33738135124850492}
+  - component: {fileID: 23072612878901596}
+  - component: {fileID: 114827012837867960}
+  m_Layer: 0
+  m_Name: pinpoint 4
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4400882319096550
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1491214401396238}
+  m_LocalRotation: {x: 0, y: -0, z: -0.38268346, w: 0.92387956}
+  m_LocalPosition: {x: -0.0057005137, y: 0.005893751, z: 0}
+  m_LocalScale: {x: 2.2383811, y: 2.2383811, z: 3.0839245}
+  m_Children: []
+  m_Father: {fileID: 4890254268300416}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4686506628960176
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1724194668711158}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: -0.0067071705, y: 0.006354162, z: 0}
+  m_LocalScale: {x: 2.5545917, y: 1.0380212, z: 2.5545917}
+  m_Children: []
+  m_Father: {fileID: 4890254268300416}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4890254268300416
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1057678692566920}
+  m_LocalRotation: {x: 0, y: -0.29545793, z: 0, w: 0.95535576}
+  m_LocalPosition: {x: 0, y: 17.04, z: 0}
+  m_LocalScale: {x: 333, y: 333, z: 333}
+  m_Children:
+  - {fileID: 4686506628960176}
+  - {fileID: 4400882319096550}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: -34.37, z: 0}
+--- !u!23 &23072612878901596
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1724194668711158}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 9c84f71e98b0047259dedc9428260078, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23888668398322532
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1491214401396238}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33644394183837576
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1491214401396238}
+  m_Mesh: {fileID: 4300022, guid: 69df092de970eec4a8de42c500691f9f, type: 3}
+--- !u!33 &33738135124850492
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1724194668711158}
+  m_Mesh: {fileID: 4300024, guid: 69df092de970eec4a8de42c500691f9f, type: 3}
+--- !u!114 &114827012837867960
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1724194668711158}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9c39c383c96521a4083f7339972619c7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  MoveTarget: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Resources/rotatedPin.prefab.meta b/T3-Unity/Assets/Mapbox/Examples/Resources/rotatedPin.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d02c7427368342b080bec6902726347ea527c77
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Resources/rotatedPin.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 71b3f24e777144169adb9853fc5cde6b
+timeCreated: 1568927620
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e2077c8fa118700b2d12ebdcf77b7863da242fa8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8fd49800828142e459c8f90273994d18
+folderAsset: yes
+timeCreated: 1502482884
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraBillboard.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraBillboard.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dc4cddbd082aef8eedff058f9678bb2ed3ab08f7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraBillboard.cs
@@ -0,0 +1,19 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+
+	public class CameraBillboard : MonoBehaviour
+	{
+		public Camera _camera;
+
+		public void Start()
+		{
+			_camera = Camera.main;
+		}
+
+		void Update()
+		{
+			transform.LookAt(transform.position + _camera.transform.rotation * Vector3.forward, _camera.transform.rotation * Vector3.up);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraBillboard.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraBillboard.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2a912bb33636372b14b7940588c5a526f4e73ece
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraBillboard.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 22805dac1b8933d49b89c409a8903cde
+timeCreated: 1510777606
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraMovement.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraMovement.cs
new file mode 100644
index 0000000000000000000000000000000000000000..842df9a1b6ec1d167bf75e831700de22aaf839b3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraMovement.cs
@@ -0,0 +1,148 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using UnityEngine.EventSystems;
+	using Mapbox.Unity.Map;
+
+	public class CameraMovement : MonoBehaviour
+	{
+		[SerializeField]
+		AbstractMap _map;
+
+		[SerializeField]
+		float _panSpeed = 20f;
+
+		[SerializeField]
+		float _zoomSpeed = 50f;
+
+		[SerializeField]
+		Camera _referenceCamera;
+
+		Quaternion _originalRotation;
+		Vector3 _origin;
+		Vector3 _delta;
+		bool _shouldDrag;
+
+		void HandleTouch()
+		{
+			float zoomFactor = 0.0f;
+			//pinch to zoom. 
+			switch (Input.touchCount)
+			{
+				case 1:
+					{
+						HandleMouseAndKeyBoard();
+					}
+					break;
+				case 2:
+					{
+						// Store both touches.
+						Touch touchZero = Input.GetTouch(0);
+						Touch touchOne = Input.GetTouch(1);
+
+						// Find the position in the previous frame of each touch.
+						Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition;
+						Vector2 touchOnePrevPos = touchOne.position - touchOne.deltaPosition;
+
+						// Find the magnitude of the vector (the distance) between the touches in each frame.
+						float prevTouchDeltaMag = (touchZeroPrevPos - touchOnePrevPos).magnitude;
+						float touchDeltaMag = (touchZero.position - touchOne.position).magnitude;
+
+						// Find the difference in the distances between each frame.
+						zoomFactor = 0.05f * (touchDeltaMag - prevTouchDeltaMag);
+					}
+					ZoomMapUsingTouchOrMouse(zoomFactor);
+					break;
+				default:
+					break;
+			}
+		}
+
+		void ZoomMapUsingTouchOrMouse(float zoomFactor)
+		{
+			var y = zoomFactor * _zoomSpeed;
+			transform.localPosition += (transform.forward * y);
+		}
+
+		void HandleMouseAndKeyBoard()
+		{
+			if (Input.GetMouseButton(0) && !EventSystem.current.IsPointerOverGameObject())
+			{
+				var mousePosition = Input.mousePosition;
+				mousePosition.z = _referenceCamera.transform.localPosition.y;
+				_delta = _referenceCamera.ScreenToWorldPoint(mousePosition) - _referenceCamera.transform.localPosition;
+				_delta.y = 0f;
+				if (_shouldDrag == false)
+				{
+					_shouldDrag = true;
+					_origin = _referenceCamera.ScreenToWorldPoint(mousePosition);
+				}
+			}
+			else
+			{
+				_shouldDrag = false;
+			}
+
+			if (_shouldDrag == true)
+			{
+				var offset = _origin - _delta;
+				offset.y = transform.localPosition.y;
+				transform.localPosition = offset;
+			}
+			else
+			{
+				if (EventSystem.current.IsPointerOverGameObject())
+				{
+					return;
+				}
+
+				var x = Input.GetAxis("Horizontal");
+				var z = Input.GetAxis("Vertical");
+				var y = Input.GetAxis("Mouse ScrollWheel") * _zoomSpeed;
+				if (!(Mathf.Approximately(x, 0) && Mathf.Approximately(y, 0) && Mathf.Approximately(z, 0)))
+				{
+					transform.localPosition += transform.forward * y + (_originalRotation * new Vector3(x * _panSpeed, 0, z * _panSpeed));
+					_map.UpdateMap();
+				}
+			}
+
+
+		}
+
+		void Awake()
+		{
+			_originalRotation = Quaternion.Euler(0, transform.eulerAngles.y, 0);
+
+			if (_referenceCamera == null)
+			{
+				_referenceCamera = GetComponent<Camera>();
+				if (_referenceCamera == null)
+				{
+					throw new System.Exception("You must have a reference camera assigned!");
+				}
+			}
+
+			if (_map == null)
+			{
+				_map = FindObjectOfType<AbstractMap>();
+				if (_map == null)
+				{
+					throw new System.Exception("You must have a reference map assigned!");
+				}
+			}
+		}
+
+		void LateUpdate()
+		{
+
+			if (Input.touchSupported && Input.touchCount > 0)
+			{
+				HandleTouch();
+			}
+			else
+			{
+				HandleMouseAndKeyBoard();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraMovement.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraMovement.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..329afa8633c22bdabefd69053215fd143e47bedc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/CameraMovement.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9527fd56bc6a0c549a1e550219f9b16e
+timeCreated: 1485631502
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ChangeShadowDistance.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/ChangeShadowDistance.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4e1e44731ded32ca438606cd8ef0bdb9e9d5f189
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ChangeShadowDistance.cs
@@ -0,0 +1,14 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+
+	public class ChangeShadowDistance : MonoBehaviour
+	{
+		public int ShadowDistance;
+
+		void Start()
+		{
+			QualitySettings.shadowDistance = ShadowDistance;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ChangeShadowDistance.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/ChangeShadowDistance.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f7e75d84cbbadd8a2fdeacc11515cf7ac8c3cb00
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ChangeShadowDistance.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ce97be288e861a243b6c6df4cc790edc
+timeCreated: 1501704587
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/DragableDirectionWaypoint.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/DragableDirectionWaypoint.cs
new file mode 100644
index 0000000000000000000000000000000000000000..164c4494a3122516bd1e8d83ea3f6d17d5df4ae0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/DragableDirectionWaypoint.cs
@@ -0,0 +1,29 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Mapbox.Examples
+{
+	public class DragableDirectionWaypoint : MonoBehaviour
+	{
+		public Transform MoveTarget;
+		private Vector3 screenPoint;
+		private Vector3 offset;
+		private Plane _yPlane;
+
+		public void Start()
+		{
+			_yPlane = new Plane(Vector3.up, Vector3.zero);
+		}
+
+		void OnMouseDrag()
+		{
+			Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
+			float enter = 0.0f;
+			if (_yPlane.Raycast(ray, out enter))
+			{
+				MoveTarget.position = ray.GetPoint(enter);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/DragableDirectionWaypoint.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/DragableDirectionWaypoint.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..28b98e3021ba110ebcfc6a8ac8088dbe017c3ee4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/DragableDirectionWaypoint.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 9c39c383c96521a4083f7339972619c7
+timeCreated: 1528989212
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureSelectionDetector.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureSelectionDetector.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fc9310325ab65801a396a9ad6232e839942a7ac3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureSelectionDetector.cs
@@ -0,0 +1,22 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public class FeatureSelectionDetector : MonoBehaviour
+	{
+		private FeatureUiMarker _marker;
+		private VectorEntity _feature;
+
+		public void OnMouseUpAsButton()
+		{
+			_marker.Show(_feature);
+		}
+
+		internal void Initialize(FeatureUiMarker marker, VectorEntity ve)
+		{
+			_marker = marker;
+			_feature = ve;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureSelectionDetector.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureSelectionDetector.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2c058be2dedb2dbc9e67eb265d4e098282a117db
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureSelectionDetector.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 010d94246aba24241a3b67f258407dab
+timeCreated: 1499984096
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureUiMarker.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureUiMarker.cs
new file mode 100644
index 0000000000000000000000000000000000000000..442ed568d7686e73c107d5332d2bf6037235918f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureUiMarker.cs
@@ -0,0 +1,78 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine;
+	using UnityEngine.UI;
+	using System.Linq;
+
+	public class FeatureUiMarker : MonoBehaviour
+	{
+		[SerializeField]
+		private Transform _wrapperMarker;
+		[SerializeField]
+		private Transform _infoPanel;
+		[SerializeField]
+		private Text _info;
+
+		private Vector3[] _targetVerts;
+		private VectorEntity _selectedFeature;
+
+		void Update()
+		{
+			Snap();
+		}
+
+		internal void Clear()
+		{
+			gameObject.SetActive(false);
+		}
+
+		internal void Show(VectorEntity selectedFeature)
+		{
+			if (selectedFeature == null)
+			{
+				Clear();
+				return;
+			}
+			_selectedFeature = selectedFeature;
+			transform.position = new Vector3(0, 0, 0);
+			var mesh = selectedFeature.MeshFilter;
+
+			if (mesh != null)
+			{
+				_targetVerts = mesh.mesh.vertices;
+				Snap();
+			}
+			gameObject.SetActive(true);
+		}
+
+		private void Snap()
+		{
+			if (_targetVerts == null || _selectedFeature == null)
+				return;
+
+			var left = float.MaxValue;
+			var right = float.MinValue;
+			var top = float.MinValue;
+			var bottom = float.MaxValue;
+			foreach (var vert in _targetVerts)
+			{
+				var pos = Camera.main.WorldToScreenPoint(_selectedFeature.Transform.position + (_selectedFeature.Transform.lossyScale.x * vert));
+				if (pos.x < left)
+					left = pos.x;
+				else if (pos.x > right)
+					right = pos.x;
+				if (pos.y > top)
+					top = pos.y;
+				else if (pos.y < bottom)
+					bottom = pos.y;
+			}
+
+			_wrapperMarker.position = new Vector2(left - 10, top + 10);
+			(_wrapperMarker as RectTransform).sizeDelta = new Vector2(right - left + 20, top - bottom + 20);
+
+			_infoPanel.position = new Vector2(right + 10, top + 10);
+			_info.text = string.Join(" \r\n ", _selectedFeature.Feature.Properties.Select(x => x.Key + " - " + x.Value.ToString()).ToArray());
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureUiMarker.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureUiMarker.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..92ad66118fbbeb6e8f5dd1454fa172a949d3f1ef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/FeatureUiMarker.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 742344d451cea414d878bf6ae3951a8e
+timeCreated: 1499980961
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ForwardGeocodeUserInput.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/ForwardGeocodeUserInput.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7804f8540cde9847da65829f92f46091f1cd09e7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ForwardGeocodeUserInput.cs
@@ -0,0 +1,78 @@
+//-----------------------------------------------------------------------
+// <copyright file="ForwardGeocodeUserInput.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity;
+	using UnityEngine;
+	using UnityEngine.UI;
+	using System;
+	using Mapbox.Geocoding;
+	using Mapbox.Utils;
+
+	[RequireComponent(typeof(InputField))]
+	public class ForwardGeocodeUserInput : MonoBehaviour
+	{
+		InputField _inputField;
+
+		ForwardGeocodeResource _resource;
+
+		Vector2d _coordinate;
+		public Vector2d Coordinate
+		{
+			get
+			{
+				return _coordinate;
+			}
+		}
+
+		bool _hasResponse;
+		public bool HasResponse
+		{
+			get
+			{
+				return _hasResponse;
+			}
+		}
+
+		public ForwardGeocodeResponse Response { get; private set; }
+
+		public event Action<ForwardGeocodeResponse> OnGeocoderResponse = delegate { };
+
+		void Awake()
+		{
+			_inputField = GetComponent<InputField>();
+			_inputField.onEndEdit.AddListener(HandleUserInput);
+			_resource = new ForwardGeocodeResource("");
+		}
+
+		void HandleUserInput(string searchString)
+		{
+			_hasResponse = false;
+			if (!string.IsNullOrEmpty(searchString))
+			{
+				_resource.Query = searchString;
+				MapboxAccess.Instance.Geocoder.Geocode(_resource, HandleGeocoderResponse);
+			}
+		}
+
+		void HandleGeocoderResponse(ForwardGeocodeResponse res)
+		{
+			_hasResponse = true;
+			if (null == res)
+			{
+				_inputField.text = "no geocode response";
+			}
+			else if (null != res.Features && res.Features.Count > 0)
+			{
+				var center = res.Features[0].Center;
+				_coordinate = res.Features[0].Center;
+			}
+			Response = res;
+			OnGeocoderResponse(res);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ForwardGeocodeUserInput.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/ForwardGeocodeUserInput.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4c087ee1182c108055458268f60750cf6a6a2b53
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ForwardGeocodeUserInput.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9bce9ff37f5964623a657f4003af54f2
+timeCreated: 1480366442
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/HeroBuildingSelectionUserInput.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/HeroBuildingSelectionUserInput.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d3db188b78e00fac834e46f754e106ffdd1ef439
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/HeroBuildingSelectionUserInput.cs
@@ -0,0 +1,88 @@
+//-----------------------------------------------------------------------
+// <copyright file="HeroBuildingSelectionUserInput.cs" company="Mapbox">
+//     Copyright (c) 2018 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity;
+	using UnityEngine;
+	using UnityEngine.UI;
+	using System;
+	using Mapbox.Geocoding;
+	using Mapbox.Utils;
+	using Mapbox.Unity.Location;
+	using Mapbox.Unity.Utilities;
+
+	public class HeroBuildingSelectionUserInput : MonoBehaviour
+	{
+		
+		[Geocode]
+		public string location;
+
+		[SerializeField]
+		private Vector3 _cameraPosition;
+		[SerializeField]
+		private Vector3 _cameraRotation;
+
+		private Camera _camera;
+
+		Button _button;
+
+		ForwardGeocodeResource _resource;
+
+		bool _hasResponse;
+		public bool HasResponse
+		{
+			get
+			{
+				return _hasResponse;
+			}
+		}
+
+		public ForwardGeocodeResponse Response { get; private set; }
+
+		public event Action<ForwardGeocodeResponse, bool> OnGeocoderResponse = delegate { };
+
+		void Awake()
+		{
+			_button = GetComponent<Button>();
+			_button.onClick.AddListener(HandleUserInput);
+			_resource = new ForwardGeocodeResource("");
+			_camera = Camera.main;
+		}
+
+		void TransformCamera()
+		{
+			_camera.transform.position = _cameraPosition;
+			_camera.transform.localEulerAngles = _cameraRotation;	
+		}
+
+		void HandleUserInput()
+		{
+			_hasResponse = false;
+			if (!string.IsNullOrEmpty(location))
+			{
+				_resource.Query = location;
+				MapboxAccess.Instance.Geocoder.Geocode(_resource, HandleGeocoderResponse);
+
+			}
+		}
+
+		void HandleGeocoderResponse(ForwardGeocodeResponse res)
+		{
+			_hasResponse = true;
+			Response = res;
+			TransformCamera();
+			OnGeocoderResponse(res, false);
+		}
+
+		public void BakeCameraTransform()
+		{
+			_cameraPosition = _camera.transform.position;
+			_cameraRotation = _camera.transform.localEulerAngles;
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/HeroBuildingSelectionUserInput.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/HeroBuildingSelectionUserInput.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..40d3b49227e002fde9413cdcb129d22d1869857d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/HeroBuildingSelectionUserInput.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 587b1db6b06084de28d873bfbbff270c
+timeCreated: 1534461976
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/HighlightFeature.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/HighlightFeature.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7e34fa7d049b9bc65f14491697b90a74f53e389d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/HighlightFeature.cs
@@ -0,0 +1,40 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using System.Collections.Generic;
+
+	public class HighlightFeature : MonoBehaviour
+	{
+		static Material _highlightMaterial;
+
+		private List<Material> _materials = new List<Material>();
+
+		MeshRenderer _meshRenderer;
+
+		void Start()
+		{
+			if (_highlightMaterial == null)
+			{
+				_highlightMaterial = Instantiate(GetComponent<MeshRenderer>().material);
+				_highlightMaterial.color = Color.red;
+			}
+
+			_meshRenderer = GetComponent<MeshRenderer>();
+			
+			foreach (var item in _meshRenderer.sharedMaterials)
+			{
+				_materials.Add(item);
+			}
+		}
+
+		public void OnMouseEnter()
+		{
+			_meshRenderer.sharedMaterial = _highlightMaterial;
+		}
+
+		public void OnMouseExit()
+		{
+			_meshRenderer.materials = _materials.ToArray();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/HighlightFeature.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/HighlightFeature.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fa5bb7dcb84d764bef2304b21069f46049375163
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/HighlightFeature.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 64cb1b303dc6db64aa28a4229e62e9ed
+timeCreated: 1499987937
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ImmediatePositionWithLocationProvider.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/ImmediatePositionWithLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..15b99d497b37cf2c1008dfbef393c7c6d9df4426
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ImmediatePositionWithLocationProvider.cs
@@ -0,0 +1,42 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.Location;
+	using Mapbox.Unity.Map;
+	using UnityEngine;
+
+	public class ImmediatePositionWithLocationProvider : MonoBehaviour
+	{
+
+		bool _isInitialized;
+
+		ILocationProvider _locationProvider;
+		ILocationProvider LocationProvider
+		{
+			get
+			{
+				if (_locationProvider == null)
+				{
+					_locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider;
+				}
+
+				return _locationProvider;
+			}
+		}
+
+		Vector3 _targetPosition;
+
+		void Start()
+		{
+			LocationProviderFactory.Instance.mapManager.OnInitialized += () => _isInitialized = true;
+		}
+
+		void LateUpdate()
+		{
+			if (_isInitialized)
+			{
+				var map = LocationProviderFactory.Instance.mapManager;
+				transform.localPosition = map.GeoToWorldPosition(LocationProvider.CurrentLocation.LatitudeLongitude);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ImmediatePositionWithLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/ImmediatePositionWithLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1fd37e814e0e6a3aa459dbc89a104c649a73420b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ImmediatePositionWithLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7760043eea2cd452ba7117f2c97e0038
+timeCreated: 1512235497
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/LabelTextSetter.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/LabelTextSetter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..39bd17ec13d32064288db5d08c1c4c9d61acacef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/LabelTextSetter.cs
@@ -0,0 +1,30 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+	using System.Collections.Generic;
+	using UnityEngine;
+
+	public class LabelTextSetter : MonoBehaviour, IFeaturePropertySettable
+	{
+		[SerializeField]
+		TextMesh _textMesh; 
+
+		public void Set(Dictionary<string, object> props)
+		{
+			_textMesh.text = "";
+
+			if (props.ContainsKey("name"))
+			{
+				_textMesh.text = props["name"].ToString();
+			}
+			else if (props.ContainsKey("house_num"))
+			{
+				_textMesh.text = props["house_num"].ToString();
+			}
+			else if (props.ContainsKey("type"))
+			{
+				_textMesh.text = props["type"].ToString();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/LabelTextSetter.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/LabelTextSetter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..915900d32f8dc7bbac377a81d34258b738e01c99
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/LabelTextSetter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 75f4a424246980d46a214433149ef222
+timeCreated: 1510776694
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/LoadingPanelController.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/LoadingPanelController.cs
new file mode 100644
index 0000000000000000000000000000000000000000..48da4507617b633b04a1754ce2ae93c1af8309df
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/LoadingPanelController.cs
@@ -0,0 +1,76 @@
+
+using System.Linq;
+
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using UnityEngine.UI;
+
+	[ExecuteInEditMode]
+	public class LoadingPanelController : MonoBehaviour
+	{
+		[SerializeField]
+		GameObject _content;
+
+		[SerializeField]
+		Text _text;
+
+		[SerializeField]
+		AnimationCurve _curve;
+
+		AbstractMap _map;
+		void Awake()
+		{
+			_map = FindObjectOfType<AbstractMap>();
+			_map.OnInitialized += _map_OnInitialized;
+
+			_map.OnEditorPreviewEnabled += OnEditorPreviewEnabled;
+			_map.OnEditorPreviewDisabled += OnEditorPreviewDisabled;
+
+		}
+
+		void _map_OnInitialized()
+		{
+
+			var visualizer = _map.MapVisualizer;
+			_text.text = "LOADING";
+			visualizer.OnMapVisualizerStateChanged += (s) =>
+			{
+
+				if (this == null)
+					return;
+
+				if (s == ModuleState.Finished)
+				{
+					_content.SetActive(false);
+				}
+				else if (s == ModuleState.Working)
+				{
+
+					// Uncommment me if you want the loading screen to show again
+					// when loading new tiles.
+					//_content.SetActive(true);
+				}
+
+			};
+		}
+
+		void OnEditorPreviewEnabled()
+		{
+			_content.SetActive(false);
+		}
+
+		void OnEditorPreviewDisabled()
+		{
+			_content.SetActive(true);
+		}
+
+
+		void Update()
+		{
+			var t = _curve.Evaluate(Time.time);
+			_text.color = Color.Lerp(Color.clear, Color.white, t);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/LoadingPanelController.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/LoadingPanelController.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aac53f43924afd86d795afcdd0d075a8cf12fa43
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/LoadingPanelController.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 81f500634e518f74bbba30a8e7d186bd
+timeCreated: 1495661022
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/LocationStatus.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/LocationStatus.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3e11ae670978ac4f8ddc85d5a509e9192126aa28
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/LocationStatus.cs
@@ -0,0 +1,55 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.Location;
+	using Mapbox.Utils;
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using UnityEngine.UI;
+
+	public class LocationStatus : MonoBehaviour
+	{
+
+		[SerializeField]
+		Text _statusText;
+
+		private AbstractLocationProvider _locationProvider = null;
+		void Start()
+		{
+			if (null == _locationProvider)
+			{
+				_locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider as AbstractLocationProvider;
+			}
+		}
+
+
+		void Update()
+		{
+			Location currLoc = _locationProvider.CurrentLocation;
+
+			if (currLoc.IsLocationServiceInitializing)
+			{
+				_statusText.text = "location services are initializing";
+			}
+			else
+			{
+				if (!currLoc.IsLocationServiceEnabled)
+				{
+					_statusText.text = "location services not enabled";
+				}
+				else
+				{
+					if (currLoc.LatitudeLongitude.Equals(Vector2d.zero))
+					{
+						_statusText.text = "Waiting for location ....";
+					}
+					else
+					{
+						_statusText.text = string.Format("{0}", currLoc.LatitudeLongitude);
+					}
+				}
+			}
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/LocationStatus.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/LocationStatus.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..42fd83906bbcda559c10b0be8437d86cbcb176fa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/LocationStatus.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 57387868ef277924ea4a999647c6db75
+timeCreated: 1521423856
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/MakiHelper.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/MakiHelper.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5bf22b0326a3f7eb1986da05665345ff20899d1b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/MakiHelper.cs
@@ -0,0 +1,44 @@
+namespace Mapbox.Examples
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using UnityEngine.UI;
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+
+	public class MakiHelper : MonoBehaviour, IFeaturePropertySettable
+	{
+		public static RectTransform Parent;
+		public static GameObject UiPrefab;
+
+		private GameObject _uiObject;
+
+		public void Set(Dictionary<string, object> props)
+		{
+			if (Parent == null)
+			{
+				var canv = GameObject.Find("PoiCanvas");
+				var ob = new GameObject("PoiContainer");
+				ob.transform.SetParent(canv.transform);
+				Parent = ob.AddComponent<RectTransform>();
+				UiPrefab = Resources.Load<GameObject>("MakiUiPrefab");
+			}
+
+			if (props.ContainsKey("maki"))
+			{
+				_uiObject = Instantiate(UiPrefab);
+				_uiObject.transform.SetParent(Parent);
+				_uiObject.transform.Find("Image").GetComponent<Image>().sprite = Resources.Load<Sprite>("maki/" + props["maki"].ToString() + "-15");
+				if (props.ContainsKey("name"))
+				{
+					_uiObject.GetComponentInChildren<Text>().text = props["name"].ToString();
+				}
+			}
+		}
+
+		public void LateUpdate()
+		{
+			if (_uiObject)
+				_uiObject.transform.position = Camera.main.WorldToScreenPoint(transform.position);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/MakiHelper.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/MakiHelper.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aad591d558fae167b1d2c2b5d3f525f83400839b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/MakiHelper.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0c96e6ca6f8915940b5a184409597ca6
+timeCreated: 1483230584
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ObjectInspectorModifier.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/ObjectInspectorModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8a22ec805ce52900bf89699801444a79b890c050
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ObjectInspectorModifier.cs
@@ -0,0 +1,68 @@
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using UnityEngine.UI;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using System.Collections.Generic;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Object Inspector Modifier")]
+	public class ObjectInspectorModifier : GameObjectModifier
+	{
+		private Dictionary<GameObject, FeatureSelectionDetector> _detectors;
+		private Canvas _canvas;
+		private FeatureUiMarker _marker;
+		private FeatureSelectionDetector _tempDetector;
+		private Transform _root;
+
+		public override void Initialize()
+		{
+			if (_detectors == null)
+			{
+				_detectors = new Dictionary<GameObject, FeatureSelectionDetector>();
+			}
+
+			if (_marker == null)
+			{
+				if(_root == null)
+				{
+					_root = FindObjectOfType<AbstractMap>().transform;
+				}
+
+				var go = new GameObject("InteractiveSelectionCanvas", typeof(Canvas), typeof(CanvasScaler), typeof(GraphicRaycaster));
+				go.transform.SetParent(_root);
+				_canvas = go.GetComponent<Canvas>();
+				_canvas.renderMode = RenderMode.ScreenSpaceOverlay;
+
+				var sel = Instantiate(Resources.Load<GameObject>("selector"));
+				sel.transform.SetParent(_canvas.transform);
+				_marker = sel.GetComponent<FeatureUiMarker>();
+			}
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			if (_detectors.ContainsKey(ve.GameObject))
+			{
+				_detectors[ve.GameObject].Initialize(_marker, ve);
+			}
+			else
+			{
+				_tempDetector = ve.GameObject.AddComponent<FeatureSelectionDetector>();
+				_detectors.Add(ve.GameObject, _tempDetector);
+				_tempDetector.Initialize(_marker, ve);
+			}
+		}
+
+		public override void Clear()
+		{
+			if (_canvas != null)
+			{
+				_canvas.gameObject.Destroy();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ObjectInspectorModifier.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/ObjectInspectorModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..12504c2a6657428a0d80c458bd2e64a911fbc843
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ObjectInspectorModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 68e011ce2209f4df1b390a7750c33744
+timeCreated: 1500570143
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiLabelTextSetter.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiLabelTextSetter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9b4bbfdbf923beaa00ec578e19e91cb4b0220900
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiLabelTextSetter.cs
@@ -0,0 +1,40 @@
+ namespace Mapbox.Examples
+{
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using UnityEngine.UI;
+
+	public class PoiLabelTextSetter : MonoBehaviour, IFeaturePropertySettable
+	{
+		[SerializeField]
+		Text _text;
+		[SerializeField]
+		Image _background;
+
+		public void Set(Dictionary<string, object> props)
+		{
+			_text.text = "";
+
+			if (props.ContainsKey("name"))
+			{
+				_text.text = props["name"].ToString();
+			}
+			else if (props.ContainsKey("house_num"))
+			{
+				_text.text = props["house_num"].ToString();
+			}
+			else if (props.ContainsKey("type"))
+			{
+				_text.text = props["type"].ToString();
+			}
+			RefreshBackground();
+		}
+
+		public void RefreshBackground()
+		{
+			RectTransform backgroundRect = _background.GetComponent<RectTransform>();
+			LayoutRebuilder.ForceRebuildLayoutImmediate(backgroundRect);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiLabelTextSetter.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiLabelTextSetter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..329be59c63470eb9cf0b04f8280fa533d296d464
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiLabelTextSetter.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ba99666da3af044c0ae878f372ea4115
+timeCreated: 1523999824
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiMarkerHelper.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiMarkerHelper.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e9905b651641b42e51f447421c38a56cfa0fb3e9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiMarkerHelper.cs
@@ -0,0 +1,24 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+	using System.Collections.Generic;
+
+	public class PoiMarkerHelper : MonoBehaviour, IFeaturePropertySettable
+	{
+		Dictionary<string, object> _props;
+
+		public void Set(Dictionary<string, object> props)
+		{
+			_props = props;
+		}
+
+		void OnMouseUpAsButton()
+		{
+			foreach (var prop in _props)
+			{
+				Debug.Log(prop.Key + ":" + prop.Value);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiMarkerHelper.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiMarkerHelper.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..09eff06e07394c085a747d66dec3874a0d19f0b0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/PoiMarkerHelper.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 73a4653526c970849afac4be5c5930ba
+timeCreated: 1494886137
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/PositionWithLocationProvider.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/PositionWithLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b0042f5e3120ec5d43e19aba32c9bb62eb51c35c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/PositionWithLocationProvider.cs
@@ -0,0 +1,86 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.Location;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.Map;
+	using UnityEngine;
+
+	public class PositionWithLocationProvider : MonoBehaviour
+	{
+		[SerializeField]
+		private AbstractMap _map;
+
+		/// <summary>
+		/// The rate at which the transform's position tries catch up to the provided location.
+		/// </summary>
+		[SerializeField]
+		float _positionFollowFactor;
+
+		/// <summary>
+		/// Use a mock <see cref="T:Mapbox.Unity.Location.TransformLocationProvider"/>,
+		/// rather than a <see cref="T:Mapbox.Unity.Location.EditorLocationProvider"/>. 
+		/// </summary>
+		[SerializeField]
+		bool _useTransformLocationProvider;
+
+		bool _isInitialized;
+
+		/// <summary>
+		/// The location provider.
+		/// This is public so you change which concrete <see cref="T:Mapbox.Unity.Location.ILocationProvider"/> to use at runtime.
+		/// </summary>
+		ILocationProvider _locationProvider;
+		public ILocationProvider LocationProvider
+		{
+			private get
+			{
+				if (_locationProvider == null)
+				{
+					_locationProvider = _useTransformLocationProvider ?
+						LocationProviderFactory.Instance.TransformLocationProvider : LocationProviderFactory.Instance.DefaultLocationProvider;
+				}
+
+				return _locationProvider;
+			}
+			set
+			{
+				if (_locationProvider != null)
+				{
+					_locationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+
+				}
+				_locationProvider = value;
+				_locationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+			}
+		}
+
+		Vector3 _targetPosition;
+
+		void Start()
+		{
+			LocationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+			_map.OnInitialized += () => _isInitialized = true;
+		}
+
+		void OnDestroy()
+		{
+			if (LocationProvider != null)
+			{
+				LocationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+			}
+		}
+
+		void LocationProvider_OnLocationUpdated(Location location)
+		{
+			if (_isInitialized && location.IsLocationUpdated)
+			{
+				_targetPosition = _map.GeoToWorldPosition(location.LatitudeLongitude);
+			}
+		}
+
+		void Update()
+		{
+			transform.localPosition = Vector3.Lerp(transform.localPosition, _targetPosition, Time.deltaTime * _positionFollowFactor);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/PositionWithLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/PositionWithLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d463b002f94d9a6aa4c4e41ce5fd8c3d42652334
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/PositionWithLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4bb39d89f6f3742418be7c93b4259637
+timeCreated: 1492115167
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/QuadTreeCameraMovement.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/QuadTreeCameraMovement.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4933cf459e3e590eae72147c902e2471e292f47f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/QuadTreeCameraMovement.cs
@@ -0,0 +1,301 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Utils;
+	using UnityEngine;
+	using UnityEngine.EventSystems;
+	using System;
+
+	public class QuadTreeCameraMovement : MonoBehaviour
+	{
+		[SerializeField]
+		[Range(1, 20)]
+		public float _panSpeed = 1.0f;
+
+		[SerializeField]
+		float _zoomSpeed = 0.25f;
+
+		[SerializeField]
+		public Camera _referenceCamera;
+
+		[SerializeField]
+		AbstractMap _mapManager;
+
+		[SerializeField]
+		bool _useDegreeMethod;
+
+		private Vector3 _origin;
+		private Vector3 _mousePosition;
+		private Vector3 _mousePositionPrevious;
+		private bool _shouldDrag;
+		private bool _isInitialized = false;
+		private Plane _groundPlane = new Plane(Vector3.up, 0);
+		private bool _dragStartedOnUI = false;
+
+		void Awake()
+		{
+			if (null == _referenceCamera)
+			{
+				_referenceCamera = GetComponent<Camera>();
+				if (null == _referenceCamera) { Debug.LogErrorFormat("{0}: reference camera not set", this.GetType().Name); }
+			}
+			_mapManager.OnInitialized += () =>
+			{
+				_isInitialized = true;
+			};
+		}
+
+		public void Update()
+		{
+			if (Input.GetMouseButtonDown(0) && EventSystem.current.IsPointerOverGameObject())
+			{
+				_dragStartedOnUI = true;
+			}
+
+			if (Input.GetMouseButtonUp(0))
+			{
+				_dragStartedOnUI = false;
+			}
+		}
+
+
+		private void LateUpdate()
+		{
+			if (!_isInitialized) { return; }
+
+			if (!_dragStartedOnUI)
+			{
+				if (Input.touchSupported && Input.touchCount > 0)
+				{
+					HandleTouch();
+				}
+				else
+				{
+					HandleMouseAndKeyBoard();
+				}
+			}
+		}
+
+		void HandleMouseAndKeyBoard()
+		{
+			// zoom
+			float scrollDelta = 0.0f;
+			scrollDelta = Input.GetAxis("Mouse ScrollWheel");
+			ZoomMapUsingTouchOrMouse(scrollDelta);
+
+
+			//pan keyboard
+			float xMove = Input.GetAxis("Horizontal");
+			float zMove = Input.GetAxis("Vertical");
+
+			PanMapUsingKeyBoard(xMove, zMove);
+
+
+			//pan mouse
+			PanMapUsingTouchOrMouse();
+		}
+
+		void HandleTouch()
+		{
+			float zoomFactor = 0.0f;
+			//pinch to zoom.
+			switch (Input.touchCount)
+			{
+				case 1:
+					{
+						PanMapUsingTouchOrMouse();
+					}
+					break;
+				case 2:
+					{
+						// Store both touches.
+						Touch touchZero = Input.GetTouch(0);
+						Touch touchOne = Input.GetTouch(1);
+
+						// Find the position in the previous frame of each touch.
+						Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition;
+						Vector2 touchOnePrevPos = touchOne.position - touchOne.deltaPosition;
+
+						// Find the magnitude of the vector (the distance) between the touches in each frame.
+						float prevTouchDeltaMag = (touchZeroPrevPos - touchOnePrevPos).magnitude;
+						float touchDeltaMag = (touchZero.position - touchOne.position).magnitude;
+
+						// Find the difference in the distances between each frame.
+						zoomFactor = 0.01f * (touchDeltaMag - prevTouchDeltaMag);
+					}
+					ZoomMapUsingTouchOrMouse(zoomFactor);
+					break;
+				default:
+					break;
+			}
+		}
+
+		void ZoomMapUsingTouchOrMouse(float zoomFactor)
+		{
+			var zoom = Mathf.Max(0.0f, Mathf.Min(_mapManager.Zoom + zoomFactor * _zoomSpeed, 21.0f));
+			if (Math.Abs(zoom - _mapManager.Zoom) > 0.0f)
+			{
+				_mapManager.UpdateMap(_mapManager.CenterLatitudeLongitude, zoom);
+			}
+		}
+
+		void PanMapUsingKeyBoard(float xMove, float zMove)
+		{
+			if (Math.Abs(xMove) > 0.0f || Math.Abs(zMove) > 0.0f)
+			{
+				// Get the number of degrees in a tile at the current zoom level.
+				// Divide it by the tile width in pixels ( 256 in our case)
+				// to get degrees represented by each pixel.
+				// Keyboard offset is in pixels, therefore multiply the factor with the offset to move the center.
+				float factor = _panSpeed * (Conversions.GetTileScaleInDegrees((float)_mapManager.CenterLatitudeLongitude.x, _mapManager.AbsoluteZoom));
+
+				var latitudeLongitude = new Vector2d(_mapManager.CenterLatitudeLongitude.x + zMove * factor * 2.0f, _mapManager.CenterLatitudeLongitude.y + xMove * factor * 4.0f);
+
+				_mapManager.UpdateMap(latitudeLongitude, _mapManager.Zoom);
+			}
+		}
+
+		void PanMapUsingTouchOrMouse()
+		{
+			if (_useDegreeMethod)
+			{
+				UseDegreeConversion();
+			}
+			else
+			{
+				UseMeterConversion();
+			}
+		}
+
+		void UseMeterConversion()
+		{
+			if (Input.GetMouseButtonUp(1))
+			{
+				var mousePosScreen = Input.mousePosition;
+				//assign distance of camera to ground plane to z, otherwise ScreenToWorldPoint() will always return the position of the camera
+				//http://answers.unity3d.com/answers/599100/view.html
+				mousePosScreen.z = _referenceCamera.transform.localPosition.y;
+				var pos = _referenceCamera.ScreenToWorldPoint(mousePosScreen);
+
+				var latlongDelta = _mapManager.WorldToGeoPosition(pos);
+				Debug.Log("Latitude: " + latlongDelta.x + " Longitude: " + latlongDelta.y);
+			}
+
+			if (Input.GetMouseButton(0) && !EventSystem.current.IsPointerOverGameObject())
+			{
+				var mousePosScreen = Input.mousePosition;
+				//assign distance of camera to ground plane to z, otherwise ScreenToWorldPoint() will always return the position of the camera
+				//http://answers.unity3d.com/answers/599100/view.html
+				mousePosScreen.z = _referenceCamera.transform.localPosition.y;
+				_mousePosition = _referenceCamera.ScreenToWorldPoint(mousePosScreen);
+
+				if (_shouldDrag == false)
+				{
+					_shouldDrag = true;
+					_origin = _referenceCamera.ScreenToWorldPoint(mousePosScreen);
+				}
+			}
+			else
+			{
+				_shouldDrag = false;
+			}
+
+			if (_shouldDrag == true)
+			{
+				var changeFromPreviousPosition = _mousePositionPrevious - _mousePosition;
+				if (Mathf.Abs(changeFromPreviousPosition.x) > 0.0f || Mathf.Abs(changeFromPreviousPosition.y) > 0.0f)
+				{
+					_mousePositionPrevious = _mousePosition;
+					var offset = _origin - _mousePosition;
+
+					if (Mathf.Abs(offset.x) > 0.0f || Mathf.Abs(offset.z) > 0.0f)
+					{
+						if (null != _mapManager)
+						{
+							float factor = _panSpeed * Conversions.GetTileScaleInMeters((float)0, _mapManager.AbsoluteZoom) / _mapManager.UnityTileSize;
+							var latlongDelta = Conversions.MetersToLatLon(new Vector2d(offset.x * factor, offset.z * factor));
+							var newLatLong = _mapManager.CenterLatitudeLongitude + latlongDelta;
+
+							_mapManager.UpdateMap(newLatLong, _mapManager.Zoom);
+						}
+					}
+					_origin = _mousePosition;
+				}
+				else
+				{
+					if (EventSystem.current.IsPointerOverGameObject())
+					{
+						return;
+					}
+					_mousePositionPrevious = _mousePosition;
+					_origin = _mousePosition;
+				}
+			}
+		}
+
+		void UseDegreeConversion()
+		{
+			if (Input.GetMouseButton(0) && !EventSystem.current.IsPointerOverGameObject())
+			{
+				var mousePosScreen = Input.mousePosition;
+				//assign distance of camera to ground plane to z, otherwise ScreenToWorldPoint() will always return the position of the camera
+				//http://answers.unity3d.com/answers/599100/view.html
+				mousePosScreen.z = _referenceCamera.transform.localPosition.y;
+				_mousePosition = _referenceCamera.ScreenToWorldPoint(mousePosScreen);
+
+				if (_shouldDrag == false)
+				{
+					_shouldDrag = true;
+					_origin = _referenceCamera.ScreenToWorldPoint(mousePosScreen);
+				}
+			}
+			else
+			{
+				_shouldDrag = false;
+			}
+
+			if (_shouldDrag == true)
+			{
+				var changeFromPreviousPosition = _mousePositionPrevious - _mousePosition;
+				if (Mathf.Abs(changeFromPreviousPosition.x) > 0.0f || Mathf.Abs(changeFromPreviousPosition.y) > 0.0f)
+				{
+					_mousePositionPrevious = _mousePosition;
+					var offset = _origin - _mousePosition;
+
+					if (Mathf.Abs(offset.x) > 0.0f || Mathf.Abs(offset.z) > 0.0f)
+					{
+						if (null != _mapManager)
+						{
+							// Get the number of degrees in a tile at the current zoom level.
+							// Divide it by the tile width in pixels ( 256 in our case)
+							// to get degrees represented by each pixel.
+							// Mouse offset is in pixels, therefore multiply the factor with the offset to move the center.
+							float factor = _panSpeed * Conversions.GetTileScaleInDegrees((float)_mapManager.CenterLatitudeLongitude.x, _mapManager.AbsoluteZoom) / _mapManager.UnityTileSize;
+
+							var latitudeLongitude = new Vector2d(_mapManager.CenterLatitudeLongitude.x + offset.z * factor, _mapManager.CenterLatitudeLongitude.y + offset.x * factor);
+							_mapManager.UpdateMap(latitudeLongitude, _mapManager.Zoom);
+						}
+					}
+					_origin = _mousePosition;
+				}
+				else
+				{
+					if (EventSystem.current.IsPointerOverGameObject())
+					{
+						return;
+					}
+					_mousePositionPrevious = _mousePosition;
+					_origin = _mousePosition;
+				}
+			}
+		}
+
+		private Vector3 getGroundPlaneHitPoint(Ray ray)
+		{
+			float distance;
+			if (!_groundPlane.Raycast(ray, out distance)) { return Vector3.zero; }
+			return ray.GetPoint(distance);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/QuadTreeCameraMovement.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/QuadTreeCameraMovement.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3bf39e973193ed1b0c26fc39c33fe2de59e00c11
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/QuadTreeCameraMovement.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2c699b8e1864b4b248acb7a04ede9480
+timeCreated: 1508527204
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ReloadMap.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/ReloadMap.cs
new file mode 100644
index 0000000000000000000000000000000000000000..231c2cfc2202679bfda629575718ba4af40da77a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ReloadMap.cs
@@ -0,0 +1,98 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Geocoding;
+	using UnityEngine.UI;
+	using Mapbox.Unity.Map;
+	using UnityEngine;
+	using System;
+	using System.Collections;
+
+	public class ReloadMap : MonoBehaviour
+	{
+		Camera _camera;
+		Vector3 _cameraStartPos;
+		AbstractMap _map;
+
+		[SerializeField]
+		ForwardGeocodeUserInput _forwardGeocoder;
+
+		[SerializeField]
+		Slider _zoomSlider;
+
+		private HeroBuildingSelectionUserInput[] _heroBuildingSelectionUserInput;
+
+		Coroutine _reloadRoutine;
+
+		WaitForSeconds _wait;
+
+		void Awake()
+		{
+			_camera = Camera.main;
+			_cameraStartPos = _camera.transform.position;
+			_map = FindObjectOfType<AbstractMap>();
+			if(_map == null)
+			{
+				Debug.LogError("Error: No Abstract Map component found in scene.");
+				return;
+			}
+			if (_zoomSlider != null)
+			{
+				_map.OnUpdated += () => { _zoomSlider.value = _map.Zoom; };
+				_zoomSlider.onValueChanged.AddListener(Reload);
+			}
+			if(_forwardGeocoder != null)
+			{
+				_forwardGeocoder.OnGeocoderResponse += ForwardGeocoder_OnGeocoderResponse;
+			}
+			_heroBuildingSelectionUserInput = GetComponentsInChildren<HeroBuildingSelectionUserInput>();
+			if(_heroBuildingSelectionUserInput != null)
+			{
+				for (int i = 0; i < _heroBuildingSelectionUserInput.Length; i++)
+				{
+					_heroBuildingSelectionUserInput[i].OnGeocoderResponse += ForwardGeocoder_OnGeocoderResponse;
+				}
+			}
+			_wait = new WaitForSeconds(.3f);
+		}
+
+		void ForwardGeocoder_OnGeocoderResponse(ForwardGeocodeResponse response)
+		{
+			if (null != response.Features && response.Features.Count > 0)
+			{
+				int zoom = _map.AbsoluteZoom;
+				_map.UpdateMap(response.Features[0].Center, zoom);
+			}
+		}
+
+		void ForwardGeocoder_OnGeocoderResponse(ForwardGeocodeResponse response, bool resetCamera)
+		{
+			if (response == null)
+			{
+				return;
+			}
+			if (resetCamera)
+			{
+				_camera.transform.position = _cameraStartPos;
+			}
+			ForwardGeocoder_OnGeocoderResponse(response);
+		}
+
+		void Reload(float value)
+		{
+			if (_reloadRoutine != null)
+			{
+				StopCoroutine(_reloadRoutine);
+				_reloadRoutine = null;
+			}
+			_reloadRoutine = StartCoroutine(ReloadAfterDelay((int)value));
+		}
+
+		IEnumerator ReloadAfterDelay(int zoom)
+		{
+			yield return _wait;
+			_camera.transform.position = _cameraStartPos;
+			_map.UpdateMap(_map.CenterLatitudeLongitude, zoom);
+			_reloadRoutine = null;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ReloadMap.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/ReloadMap.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..909c7ba8185f47758d50540dd5c675ad46dfb4a4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ReloadMap.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c00b1c78fb49f4ebd834aac587275216
+timeCreated: 1506100530
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ReverseGeocodeUserInput.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/ReverseGeocodeUserInput.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5ec08bfdc954ff71c37fa52d3a1dfca585f0b205
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ReverseGeocodeUserInput.cs
@@ -0,0 +1,88 @@
+//-----------------------------------------------------------------------
+// <copyright file="ReverseGeocodeUserInput.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+namespace Mapbox.Examples
+{
+    using Mapbox.Unity;
+    using System;
+    using UnityEngine;
+    using UnityEngine.UI;
+    using Mapbox.Geocoding;
+    using Mapbox.Utils;
+	using Mapbox.Unity.Utilities;
+
+    /// <summary>
+    /// Peforms a reverse geocoder request (search by latitude, longitude) whenever the InputField on *this*
+    /// gameObject is finished with an edit. 
+    /// Expects input in the form of "latitude, longitude"
+    /// </summary>
+    [RequireComponent(typeof(InputField))]
+	public class ReverseGeocodeUserInput : MonoBehaviour
+	{
+		InputField _inputField;
+
+		ReverseGeocodeResource _resource;
+
+		Geocoder _geocoder;
+
+		Vector2d _coordinate;
+
+		bool _hasResponse;
+		public bool HasResponse
+		{
+			get
+			{
+				return _hasResponse;
+			}
+		}
+
+		public ReverseGeocodeResponse Response { get; private set;}
+
+		public event EventHandler<EventArgs> OnGeocoderResponse;
+
+		void Awake()
+		{
+			_inputField = GetComponent<InputField>();
+			_inputField.onEndEdit.AddListener(HandleUserInput);
+			_resource = new ReverseGeocodeResource(_coordinate);
+		}
+
+		void Start()
+		{
+            _geocoder = MapboxAccess.Instance.Geocoder;
+		}
+
+		/// <summary>
+		/// An edit was made to the InputField.
+		/// Unity will send the string from _inputField.
+		/// Make geocoder query.
+		/// </summary>
+		/// <param name="searchString">Search string.</param>
+		void HandleUserInput(string searchString)
+		{
+			_hasResponse = false;
+			if (!string.IsNullOrEmpty(searchString))
+			{
+				_coordinate = Conversions.StringToLatLon(searchString);
+				_resource.Query = _coordinate;
+				_geocoder.Geocode(_resource, HandleGeocoderResponse);
+			}
+		}
+
+		/// <summary>
+		/// Handles the geocoder response by updating coordinates and notifying observers.
+		/// </summary>
+		/// <param name="res">Res.</param>
+		void HandleGeocoderResponse(ReverseGeocodeResponse res)
+		{
+			_hasResponse = true;
+			Response = res;
+			if (OnGeocoderResponse != null)
+			{
+				OnGeocoderResponse(this, EventArgs.Empty);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/ReverseGeocodeUserInput.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/ReverseGeocodeUserInput.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ead4dc017ec934fe340be65a3463ca1cd07b4ee5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/ReverseGeocodeUserInput.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 872cc2c04f0c94a39a7647e7ed7667e1
+timeCreated: 1480366442
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/RotateWithLocationProvider.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/RotateWithLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f08a9fc731680d8dd7ce5d3e3b945d2dc3b726eb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/RotateWithLocationProvider.cs
@@ -0,0 +1,164 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.Location;
+	using UnityEngine;
+
+	public class RotateWithLocationProvider : MonoBehaviour
+	{
+		/// <summary>
+		/// Location property used for rotation: false=Heading (default), true=Orientation  
+		/// </summary>
+		[SerializeField]
+		[Tooltip("Per default 'UserHeading' (direction the device is moving) is used for rotation. Check to use 'DeviceOrientation' (where the device is facing)")]
+		bool _useDeviceOrientation;
+
+		/// <summary>
+		/// 
+		/// </summary>
+		[SerializeField]
+		[Tooltip("Only evaluated when 'Use Device Orientation' is checked. Subtracts UserHeading from DeviceOrientation. Useful if map is rotated by UserHeading and DeviceOrientation should be displayed relative to the heading.")]
+		bool _subtractUserHeading;
+
+		/// <summary>
+		/// The rate at which the transform's rotation tries catch up to the provided heading.  
+		/// </summary>
+		[SerializeField]
+		[Tooltip("The rate at which the transform's rotation tries catch up to the provided heading. ")]
+		float _rotationFollowFactor = 1;
+
+		/// <summary>
+		/// Set this to true if you'd like to adjust the rotation of a RectTransform (in a UI canvas) with the heading.
+		/// </summary>
+		[SerializeField]
+		bool _rotateZ;
+
+		/// <summary>
+		/// <para>Set this to true if you'd like to adjust the sign of the rotation angle.</para>
+		/// <para>eg angle passed in 63.5, angle that should be used for rotation: -63.5.</para>
+		/// <para>This might be needed when rotating the map and not objects on the map.</para>
+		/// </summary>
+		[SerializeField]
+		[Tooltip("Set this to true if you'd like to adjust the sign of the rotation angle. eg angle passed in 63.5, angle that should be used for rotation: -63.5.")]
+		bool _useNegativeAngle;
+
+		/// <summary>
+		/// Use a mock <see cref="T:Mapbox.Unity.Location.TransformLocationProvider"/>,
+		/// rather than a <see cref="T:Mapbox.Unity.Location.EditorLocationProvider"/>.   
+		/// </summary>
+		[SerializeField]
+		bool _useTransformLocationProvider;
+
+		Quaternion _targetRotation;
+
+		/// <summary>
+		/// The location provider.
+		/// This is public so you change which concrete <see cref="ILocationProvider"/> to use at runtime.  
+		/// </summary>
+		ILocationProvider _locationProvider;
+		public ILocationProvider LocationProvider
+		{
+			private get
+			{
+				if (_locationProvider == null)
+				{
+					_locationProvider = _useTransformLocationProvider ?
+						LocationProviderFactory.Instance.TransformLocationProvider : LocationProviderFactory.Instance.DefaultLocationProvider;
+				}
+
+				return _locationProvider;
+			}
+			set
+			{
+				if (_locationProvider != null)
+				{
+					_locationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+
+				}
+				_locationProvider = value;
+				_locationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+			}
+		}
+
+		Vector3 _targetPosition;
+
+		void Start()
+		{
+			LocationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+		}
+
+		void OnDestroy()
+		{
+			if (LocationProvider != null)
+			{
+				LocationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+			}
+		}
+
+		void LocationProvider_OnLocationUpdated(Location location)
+		{
+
+			float rotationAngle = _useDeviceOrientation ? location.DeviceOrientation : location.UserHeading;
+
+			if (_useNegativeAngle) { rotationAngle *= -1f; }
+
+			// 'Orientation' changes all the time, pass through immediately
+			if (_useDeviceOrientation)
+			{
+				if (_subtractUserHeading)
+				{
+					if (rotationAngle > location.UserHeading)
+					{
+						rotationAngle = 360 - (rotationAngle - location.UserHeading);
+					}
+					else
+					{
+						rotationAngle = location.UserHeading - rotationAngle + 360;
+					}
+
+					if (rotationAngle < 0) { rotationAngle += 360; }
+					if (rotationAngle >= 360) { rotationAngle -= 360; }
+				}
+				_targetRotation = Quaternion.Euler(getNewEulerAngles(rotationAngle));
+			}
+			else
+			{
+				// if rotating by 'Heading' only do it if heading has a new value
+				if (location.IsUserHeadingUpdated)
+				{
+					_targetRotation = Quaternion.Euler(getNewEulerAngles(rotationAngle));
+				}
+			}
+		}
+
+
+		private Vector3 getNewEulerAngles(float newAngle)
+		{
+			var localRotation = transform.localRotation;
+			var currentEuler = localRotation.eulerAngles;
+			var euler = Mapbox.Unity.Constants.Math.Vector3Zero;
+
+			if (_rotateZ)
+			{
+				euler.z = -newAngle;
+
+				euler.x = currentEuler.x;
+				euler.y = currentEuler.y;
+			}
+			else
+			{
+				euler.y = -newAngle;
+
+				euler.x = currentEuler.x;
+				euler.z = currentEuler.z;
+			}
+
+			return euler;
+		}
+
+
+		void Update()
+		{
+			transform.localRotation = Quaternion.Lerp(transform.localRotation, _targetRotation, Time.deltaTime * _rotationFollowFactor);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/RotateWithLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/RotateWithLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..766628f68e9a6915a3ddf4dec44ab120177ea07a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/RotateWithLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 061d2afb48ace4fd19611279b6cf732f
+timeCreated: 1492115182
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/TrafficUvAnimator.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/TrafficUvAnimator.cs
new file mode 100644
index 0000000000000000000000000000000000000000..33793eba62e17d35c28eec00f535f72ef14fa464
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/TrafficUvAnimator.cs
@@ -0,0 +1,29 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Mapbox.Examples
+{
+	public class TrafficUvAnimator : MonoBehaviour
+	{
+		public Material[] Materials;
+		public float Speed;
+		private Vector2 _offset;
+
+		void Start()
+		{
+
+		}
+
+		void Update()
+		{
+			_offset.Set(_offset.x + Time.deltaTime * Speed, 0.2f);
+
+			foreach (var item in Materials)
+			{
+				item.SetTextureOffset("_MainTex", _offset);
+			}
+		}
+	}
+}
+
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/TrafficUvAnimator.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/TrafficUvAnimator.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3551a08f900af7ac64308a56b54f9e38e2868647
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/TrafficUvAnimator.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e63ef20f8dd90df4789bc9f4d8d22083
+timeCreated: 1528933518
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/UpdateMapWithLocationProvider.cs b/T3-Unity/Assets/Mapbox/Examples/Scripts/UpdateMapWithLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..91aed70cb92dff235c68c960641ede653b3984fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/UpdateMapWithLocationProvider.cs
@@ -0,0 +1,112 @@
+namespace Mapbox.Unity.Map
+{
+	using System.Collections;
+	using Mapbox.Unity.Location;
+	using UnityEngine;
+
+	public class UpdateMapWithLocationProvider : MonoBehaviour
+	{
+		[SerializeField]
+		AbstractMap _map;
+
+		ILocationProvider _locationProvider;
+		Vector3 _targetPosition;
+		bool _isMapInitialized = false;
+
+		/// <summary>
+		/// The time taken to move from the start to finish positions
+		/// </summary>
+		public float timeTakenDuringLerp = 1f;
+
+		//Whether we are currently interpolating or not
+		private bool _isLerping;
+
+		//The start and finish positions for the interpolation
+		private Vector3 _startPosition;
+		private Vector3 _endPosition;
+
+		private Utils.Vector2d _startLatLong;
+		private Utils.Vector2d _endLatlong;
+
+		//The Time.time value when we started the interpolation
+		private float _timeStartedLerping;
+
+		private void Awake()
+		{
+			// Prevent double initialization of the map. 
+			_map.InitializeOnStart = false;
+		}
+
+		IEnumerator Start()
+		{
+			yield return null;
+			_locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider;
+			_locationProvider.OnLocationUpdated += LocationProvider_OnFirstLocationUpdate;
+		}
+
+		void LocationProvider_OnFirstLocationUpdate(Unity.Location.Location location)
+		{
+			_locationProvider.OnLocationUpdated -= LocationProvider_OnFirstLocationUpdate;
+			_map.OnInitialized += () =>
+			{
+				_isMapInitialized = true;
+				_locationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+			};
+			_map.Initialize(location.LatitudeLongitude, _map.AbsoluteZoom);
+		}
+
+		void LocationProvider_OnLocationUpdated(Unity.Location.Location location)
+		{
+			if (_isMapInitialized && location.IsLocationUpdated)
+			{
+				StartLerping(location);
+			}
+		}
+
+		/// <summary>
+		/// Called to begin the linear interpolation
+		/// </summary>
+		void StartLerping(Unity.Location.Location location)
+		{
+			_isLerping = true;
+			_timeStartedLerping = Time.time;
+			timeTakenDuringLerp = Time.deltaTime;
+
+			//We set the start position to the current position
+			_startLatLong = _map.CenterLatitudeLongitude;
+			_endLatlong = location.LatitudeLongitude;
+			_startPosition = _map.GeoToWorldPosition(_startLatLong, false);
+			_endPosition = _map.GeoToWorldPosition(_endLatlong, false);
+		}
+
+		//We do the actual interpolation in FixedUpdate(), since we're dealing with a rigidbody
+		void LateUpdate()
+		{
+			if (_isMapInitialized && _isLerping)
+			{
+				//We want percentage = 0.0 when Time.time = _timeStartedLerping
+				//and percentage = 1.0 when Time.time = _timeStartedLerping + timeTakenDuringLerp
+				//In other words, we want to know what percentage of "timeTakenDuringLerp" the value
+				//"Time.time - _timeStartedLerping" is.
+				float timeSinceStarted = Time.time - _timeStartedLerping;
+				float percentageComplete = timeSinceStarted / timeTakenDuringLerp;
+
+				//Perform the actual lerping.  Notice that the first two parameters will always be the same
+				//throughout a single lerp-processs (ie. they won't change until we hit the space-bar again
+				//to start another lerp)
+				_startPosition = _map.GeoToWorldPosition(_startLatLong, false);
+				_endPosition = _map.GeoToWorldPosition(_endLatlong, false);
+				var position = Vector3.Lerp(_startPosition, _endPosition, percentageComplete);
+				var latLong = _map.WorldToGeoPosition(position);
+				_map.UpdateMap(latLong, _map.Zoom);
+
+				//When we've completed the lerp, we set _isLerping to false
+				if (percentageComplete >= 1.0f)
+				{
+					_isLerping = false;
+
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Examples/Scripts/UpdateMapWithLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Examples/Scripts/UpdateMapWithLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf29158dbd20354ea8cdbfad5d1684eec95f1448
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Scripts/UpdateMapWithLocationProvider.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b45b6cb0c94914eb6a1fac86abfc6aba
+timeCreated: 1524787995
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures.meta b/T3-Unity/Assets/Mapbox/Examples/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..16d227d30c007b156861d1bef377aa0b501a351f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Textures.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 11b6257f2d1394da4aaf941d16569953
+folderAsset: yes
+timeCreated: 1495678673
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/CircleSmall_Fill.png b/T3-Unity/Assets/Mapbox/Examples/Textures/CircleSmall_Fill.png
new file mode 100644
index 0000000000000000000000000000000000000000..9440751609d3fad439769273d394e13fae176cd2
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Textures/CircleSmall_Fill.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/CircleSmall_Fill.png.meta b/T3-Unity/Assets/Mapbox/Examples/Textures/CircleSmall_Fill.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..245de44d1f60ca03460a30b07fde9ca0d1c05371
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Textures/CircleSmall_Fill.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: f04f7faa5cfd8444a9b61e426135725f
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -3
+  maxTextureSize: 1024
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: 16
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 1024
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: c2ae327361c347f4a84eab010b9dbb4b
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/LeftRoundCornerFill.png b/T3-Unity/Assets/Mapbox/Examples/Textures/LeftRoundCornerFill.png
new file mode 100644
index 0000000000000000000000000000000000000000..189b69ea1c14a882ba90f8f885a5730fa621245d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Textures/LeftRoundCornerFill.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/LeftRoundCornerFill.png.meta b/T3-Unity/Assets/Mapbox/Examples/Textures/LeftRoundCornerFill.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de3f84ffc52b730466020344f94cb1c7b015f485
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Textures/LeftRoundCornerFill.png.meta
@@ -0,0 +1,59 @@
+fileFormatVersion: 2
+guid: 30e7307438b5b411ea17484304ecabf5
+timeCreated: 1495680354
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  allowsAlphaSplitting: 0
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/RoundCornerStroke.png b/T3-Unity/Assets/Mapbox/Examples/Textures/RoundCornerStroke.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c8df28a66ac52a5d6b617eefbdbc0f40b106068
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Textures/RoundCornerStroke.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/RoundCornerStroke.png.meta b/T3-Unity/Assets/Mapbox/Examples/Textures/RoundCornerStroke.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9a302bd6f60cc7d5f1b5104e3db9a5c994a9bc86
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Textures/RoundCornerStroke.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 57f0feb9c22325a428aed5b9785af52a
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -3
+  maxTextureSize: 1024
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: 16
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 7, y: 7, z: 7, w: 7}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 1024
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: dcc4f6df28a08c341acd0093c9d38dec
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerFill.png b/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerFill.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac87e5aa2081a7ddeed352fbb111dc4acb671ea2
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerFill.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerFill.png.meta b/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerFill.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9c211b1e4a0904564a3075eb2a01f5916adb9de0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerFill.png.meta
@@ -0,0 +1,59 @@
+fileFormatVersion: 2
+guid: 1a7e8c44c480f4dc7abb2af0695e76a5
+timeCreated: 1495680353
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  allowsAlphaSplitting: 0
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerStroke.png b/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerStroke.png
new file mode 100644
index 0000000000000000000000000000000000000000..9cba8315910cf0ace71fde16056f769c82d106ce
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerStroke.png differ
diff --git a/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerStroke.png.meta b/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerStroke.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..36493f8c32c1ce5e11fb1b048bf280b63492221e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/Textures/SharpCornerStroke.png.meta
@@ -0,0 +1,59 @@
+fileFormatVersion: 2
+guid: 62ff6c1ec3d7c480390dcfce60f18b29
+timeCreated: 1495680354
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  allowsAlphaSplitting: 0
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ab73e981b247b4671dae57dedfc26f4f7600b9f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f7c7ee4e09f02f248a8ec08427bdc05f
+folderAsset: yes
+timeCreated: 1502482234
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddRemoveBuildingMonobehavior.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddRemoveBuildingMonobehavior.asset
new file mode 100644
index 0000000000000000000000000000000000000000..dc291945950150ad49207cf1e139381ea65139b4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddRemoveBuildingMonobehavior.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c3b6ec6b924494ffda604db0a299df8d, type: 3}
+  m_Name: AddRemoveBuildingMonobehavior
+  m_EditorClassIdentifier: 
+  Active: 1
+  _types:
+  - _typeString: RemoveBuildingsScript
+    _script: {fileID: 11500000, guid: a088088ee5eb042d6832643c8c17452f, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddRemoveBuildingMonobehavior.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddRemoveBuildingMonobehavior.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aa3ec2c3da6ab383a966bcc56ed70c370f36ce8e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddRemoveBuildingMonobehavior.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 13e618a59576440f598bb23fcb160b32
+timeCreated: 1525811307
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddToTreeCollectionModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddToTreeCollectionModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..b2cadb3118a6b244a7d6c4860f80f3f44cf29b37
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddToTreeCollectionModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4538b91da572dfa41adf689573eaba4b, type: 3}
+  m_Name: AddToTreeCollectionModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _collection: {fileID: 11400000, guid: f11fd5ce183f93846858df725d8eab7b, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddToTreeCollectionModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddToTreeCollectionModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b7a0324ce457a9e962fe947b70c701c4587ff96
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/AddToTreeCollectionModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d534c6a861f735c4dab3990ac3c05158
+timeCreated: 1519740059
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BasicsVectorTileFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BasicsVectorTileFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..63c8116445e126c7beb8f3eea44537633655303f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BasicsVectorTileFactory.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63d97cb1cfb3f1b499c24763afa54873, type: 3}
+  m_Name: BasicsVectorTileFactory
+  m_EditorClassIdentifier: 
+  _mapId: mapbox.mapbox-streets-v7
+  Visualizers:
+  - {fileID: 11400000, guid: 49b5b5cab8982084a986f2d148acff42, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BasicsVectorTileFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BasicsVectorTileFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..287ebf71e26ee492d5a558839fd0e51ae1be689b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BasicsVectorTileFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ee4d24cec5a998543b716563b2b77dae
+timeCreated: 1494434733
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BoxColliderModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BoxColliderModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4bc8da8c530e446c49a2ad11c4ee3168f953165b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BoxColliderModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 288d05a2dbabb0f46a5fa6c85102780a, type: 3}
+  m_Name: BoxColliderModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _colliderType: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BoxColliderModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BoxColliderModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cc0c88c929ce3d96ae0dd611e2dc8559b5ad3db3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/BoxColliderModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b7b664c5d0b1dfd4ea8bf239a71912ef
+timeCreated: 1494350935
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ChamferHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ChamferHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4e48516eaa88ef4ef98abd0e4284ae2c7546ca0f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ChamferHeightModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 232ffe870b9f2df408d25ad59dbfe77c, type: 3}
+  m_Name: ChamferHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 1
+  _height: 0
+  _forceHeight: 0
+  _offset: 0.2
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ChamferHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ChamferHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fe88e1ed323c932e5f73e7173953b39dffba9049
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ChamferHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4dbdd9c4bb7ba4d41ac1b710cf40de49
+timeCreated: 1512261653
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourLayerVisualizer.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourLayerVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..45cd8b900a5eab6ce22f46439100178b932f76ad
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourLayerVisualizer.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ContourLayerVisualizer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: contour
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: b3647897e3930654caf419e243c60bfc, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourLayerVisualizer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourLayerVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cf43b987a96266b35780ad059b8ca6575267d592
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourLayerVisualizer.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5225cff0314e0fa4b92190829fefeaf3
+timeCreated: 1500643231
+licenseType: Free
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourMergedStyle.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourMergedStyle.asset
new file mode 100644
index 0000000000000000000000000000000000000000..99abc15c61daa8bd8906456573f1f72c4050a8a2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourMergedStyle.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3}
+  m_Name: ContourMergedStyle
+  m_EditorClassIdentifier: 
+  MeshModifiers:
+  - {fileID: 11400000, guid: 4fe5c136889ae0347af431be7e59e489, type: 2}
+  - {fileID: 11400000, guid: b432bf85b0df280468dcfdaf5a9b90d0, type: 2}
+  - {fileID: 11400000, guid: a49403503b2b1534f832833cbd477437, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: d1b47072992f2e546a66849dc252fbea, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourMergedStyle.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourMergedStyle.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d5917aa58fa549cad81f2cfcf82ef69d33636420
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourMergedStyle.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b3647897e3930654caf419e243c60bfc
+timeCreated: 1500643300
+licenseType: Free
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourTerraceMeshFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourTerraceMeshFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..ce4172efe8a40e22467dd07436dd31af76e3e4e2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourTerraceMeshFactory.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63d97cb1cfb3f1b499c24763afa54873, type: 3}
+  m_Name: ContourTerraceMeshFactory
+  m_EditorClassIdentifier: 
+  _mapId: mapbox.mapbox-terrain-v2
+  Visualizers:
+  - {fileID: 11400000, guid: 5225cff0314e0fa4b92190829fefeaf3, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourTerraceMeshFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourTerraceMeshFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a3e092296783edebf6694b40366ac7192feed0c7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ContourTerraceMeshFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 99a5ed38fb057344493cad6cc2af7477
+timeCreated: 1500643208
+licenseType: Free
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsHeight.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsHeight.asset
new file mode 100644
index 0000000000000000000000000000000000000000..0460c8e2cb125d979e1b7fc671d1075b35f539d9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsHeight.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: DirectionsHeight
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 4
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsHeight.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsHeight.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..83c0f41d558e8a0dae3cabd28757a0d68ab372e1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsHeight.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cd4bcff551c0d418997f52b78da87a0e
+timeCreated: 1485393302
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsLine.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsLine.asset
new file mode 100644
index 0000000000000000000000000000000000000000..48a192ea79d2b90a596853f44a97f18ede30e691
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsLine.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9e1e9c060b6589e4e8b990a9c709bcdd, type: 3}
+  m_Name: DirectionsLine
+  m_EditorClassIdentifier: 
+  Active: 1
+  Width: 8
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsLine.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsLine.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bb22cd87ba7f2d07903e59c2d230252213bfdc05
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DirectionsLine.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d31b2cb2a75a54d5bb6402fe0bd8c6cf
+timeCreated: 1485393291
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DisableMeshRendererModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DisableMeshRendererModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..649c0e3fb11cb5ba0aba5c255fbace4d56ad9b82
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DisableMeshRendererModifier.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a0fe0aeb4b2814799b34ce6cfd6308a1, type: 3}
+  m_Name: DisableMeshRendererModifier
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DisableMeshRendererModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DisableMeshRendererModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9ada792606af9f269381bfa22da40de5292a2241
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/DisableMeshRendererModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4aeb0629486794f25bf199af8a4f4830
+timeCreated: 1508782027
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FeatureBehaviourModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FeatureBehaviourModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..307d83e885e11930610cab2cfb4208501264cd24
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FeatureBehaviourModifier.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fdf79806a4f74da4aa48339c010a208c, type: 3}
+  m_Name: FeatureBehaviourModifier
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FeatureBehaviourModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FeatureBehaviourModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ab66c865d07e39ee1a4970fc272906b6c9d8f86e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FeatureBehaviourModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 69c9fbc203d6e934ea944041d43ea709
+timeCreated: 1509395647
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FixedHeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FixedHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..68feac56583c58fa94c1712f7fe8ecba911133e9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FixedHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: FixedHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 1
+  _height: 1
+  _createSideWalls: 0
+  _separateSubmesh: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FixedHeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FixedHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dd7cbbff3ea6ef50c6365f17347d8dbcfddea3b5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/FixedHeightModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 746927ff22b0c5247bc7d3e1c9b928d7
+timeCreated: 1485209393
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HeightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..cc60412fa5aba06262167bdbe35e40f52dd2369f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HeightModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: HeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 1
+  _forceHeight: 1
+  _height: 2
+  _createSideWalls: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HeightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d998cbe28384bdcf8ca23f2bad99745b2c35d27a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HeightModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a49403503b2b1534f832833cbd477437
+timeCreated: 1485209393
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HighlightModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HighlightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1e9586547debad09ac664ee9d50fcd43bdf9b253
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HighlightModifier.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c3b6ec6b924494ffda604db0a299df8d, type: 3}
+  m_Name: HighlightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _types:
+  - _typeString: Mapbox.Examples.HighlightFeature
+    _script: {fileID: 11500000, guid: 64cb1b303dc6db64aa28a4229e62e9ed, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HighlightModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HighlightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b6328540b37e9a205652d78d7f19aeea71476ff
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/HighlightModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: aa354e89f869a4db0a6c3ceb3c79d0be
+timeCreated: 1499887015
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LineModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LineModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e7c88fc2110f5148604d67cbdf7a284779ef6910
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LineModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9e1e9c060b6589e4e8b990a9c709bcdd, type: 3}
+  m_Name: LineModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  Width: 3
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LineModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LineModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7a90d7e4348f9cdd3041b669f5b64c2ba2d30764
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LineModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7c518d85eb2ed0440ac158307895eec4
+timeCreated: 1485266533
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LoftModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LoftModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..d55dba49698286140d808f5a06fd3227f70945ce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LoftModifier.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 634e53b543236f246833fc88fea03aa0, type: 3}
+  m_Name: LoftModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  Slice: {fileID: 1161984165156050, guid: a89fda20d92b63e46ab2900a8e978041, type: 2}
+  _closeEdges: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LoftModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LoftModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b6de2f454174d8e5ed5f32ba8eb92da5f56ab0c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/LoftModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 197bef1c2516cdf49be5fc58b2344f69
+timeCreated: 1509997052
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapBoxStylesMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapBoxStylesMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..40832d4270999946246ab4a881fd4ecc5de50d99
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapBoxStylesMaterialModifier.asset
@@ -0,0 +1,24 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: MapBoxStylesMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    projectMapImagery: 0
+    texturingType: 3
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: d4d7464e3429a44e090f55a4ac17f110, type: 2}
+    - Materials:
+      - {fileID: 2100000, guid: 55cc6edead802446b9106b2998406844, type: 2}
+    atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+    colorPallete: {fileID: 11400000, guid: e1b79d6caac0144adada0c548ef06705, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapBoxStylesMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapBoxStylesMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d2d96818806a7225f86af4bfd9823ba073a8098d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapBoxStylesMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 85d7acaaafb33410dbbc83cfad604f86
+timeCreated: 1520616331
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapboxStylesColorModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapboxStylesColorModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..5a26de534e465f71d7fcdcf84e315730330608eb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapboxStylesColorModifier.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 56e8568e69143416293940ecb62ec734, type: 3}
+  m_Name: MapboxStylesColorModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  m_scriptablePalette: {fileID: 11400000, guid: ef118b5e263da4b1fa4327ca1d3e0c7b,
+    type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapboxStylesColorModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapboxStylesColorModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4274cecbfebfb494fb6067a9798ef3a42aba193e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MapboxStylesColorModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: af0e85fdc76cf4bceb25d8ad0bfa2ace
+timeCreated: 1520461546
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MeshColliderModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MeshColliderModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..786ac7426cc82b94beb6784d57b0465e46bbad5e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MeshColliderModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 288d05a2dbabb0f46a5fa6c85102780a, type: 3}
+  m_Name: MeshColliderModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _colliderType: 2
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MeshColliderModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MeshColliderModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8b3e6c175e5357d9ee513aa01d0e9bfdd6378e61
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/MeshColliderModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 203d61015a4124744bf28f4502b286fc
+timeCreated: 1499974088
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ObjectInspector.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ObjectInspector.asset
new file mode 100644
index 0000000000000000000000000000000000000000..3e0738741ec2fa285befcdab293cd3e5285aa9f4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ObjectInspector.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 68e011ce2209f4df1b390a7750c33744, type: 3}
+  m_Name: ObjectInspector
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ObjectInspector.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ObjectInspector.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..160c021a1a753fbee8e992ae273bc38b1de341a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ObjectInspector.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 14ec972a1cec2dc429f5eca7d22b572f
+timeCreated: 1499990087
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkLayerModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkLayerModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..347b45823500ee6d78bee54a98470f2d50115d53
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkLayerModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a4644f4fa4408d144a9c7927401f3807, type: 3}
+  m_Name: ParkLayerModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _layerId: 9
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkLayerModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkLayerModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..79f44806a105af1d79bd390a733ccd7b9ff2407b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkLayerModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3505ec4e61e3f4c4d88fc3c5548e7144
+timeCreated: 1499974183
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkModifierStack.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkModifierStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..508ddb376159d385a21711f801fd2cba1dca5a7c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkModifierStack.asset
@@ -0,0 +1,22 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: ParkModifierStack
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 4fe5c136889ae0347af431be7e59e489, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 203d61015a4124744bf28f4502b286fc, type: 2}
+  - {fileID: 11400000, guid: 3505ec4e61e3f4c4d88fc3c5548e7144, type: 2}
+  - {fileID: 11400000, guid: d5cfd67d46b2f4892ae231737f3a95f8, type: 2}
+  - {fileID: 11400000, guid: 14ec972a1cec2dc429f5eca7d22b572f, type: 2}
+  - {fileID: 11400000, guid: 4aeb0629486794f25bf199af8a4f4830, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkModifierStack.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkModifierStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..930c25240e2916ab665a1333eecd0fcc3e772216
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkModifierStack.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 000166c0f999e4d44b968d47724ea242
+timeCreated: 1499974020
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkVectorLayerVisualizer.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkVectorLayerVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1d2d333a0227f5203e5a061aebd232ba4bcb7e6b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkVectorLayerVisualizer.asset
@@ -0,0 +1,25 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ParkVectorLayerVisualizer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: landuse
+  Filters: []
+  _defaultStack: {fileID: 0}
+  Stacks:
+  - Type: park
+    Types:
+    - park
+    Stack: {fileID: 11400000, guid: 000166c0f999e4d44b968d47724ea242, type: 2}
+  _enableCoroutines: 1
+  _entityPerCoroutine: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkVectorLayerVisualizer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkVectorLayerVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4b6019b469771ede29398bcc085f21c6bb63a538
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ParkVectorLayerVisualizer.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 42d0c054e597a4590a29b5b66fbec4aa
+timeCreated: 1499973942
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7da31a5e5d155a22c67bd6ee3ae504cc23dacc02
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifier.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: PoiDemo3dPoiModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    prefab: {fileID: 1000010288152912, guid: 44828d4325e8b544ca6ffec352cfe165, type: 2}
+    scaleDownWithWorld: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dddfd0476f50c46c381af64ea9872b40ad225461
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 873cf898fb44149798c637959fd811ba
+timeCreated: 1495466963
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifierStack.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifierStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..0cee9cde452a74b374f482b51943412a947291df
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifierStack.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: PoiDemo3dPoiModifierStack
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: c1c619f43a2cb5b4a8cbc80e9e814804, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 873cf898fb44149798c637959fd811ba, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifierStack.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifierStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..32b230f6cfba8bab529814a2a9b2c55cc0e311c4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiModifierStack.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85d1afb37443a9c4484dffbeecb4cbd5
+timeCreated: 1494972592
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiVisualizer.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..17841e7b15db610767f9ad5dece737f09a8b8819
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiVisualizer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: PoiDemo3dPoiVisualizer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: poi_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 85d1afb37443a9c4484dffbeecb4cbd5, type: 2}
+  Stacks: []
+  _enableCoroutines: 1
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiVisualizer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..78a0b7cae575a42fb5db1462cf3ba83269905046
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemo3dPoiVisualizer.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a493b030d561f34448a13f55bec8b7fc
+timeCreated: 1485353769
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..b96a78df48a5207c04def65bbc86925cdccb5a30
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifier.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dd8aacc1880ff504d9531b4d61c86458, type: 3}
+  m_Name: PoiDemoUiPoiModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _prefab: {fileID: 1000011742328300, guid: 39c06c41287c07843b78097666be5c58, type: 2}
+  _scaleDownWithWorld: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1e3063437efd3d775f9447979ba24b56b0fb2eeb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 866380150c130402eb0d14f648c57418
+timeCreated: 1495466963
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifierStack.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifierStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..c331b402288d85a18516859b06e34b4b812ffbae
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifierStack.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: PoiDemoUiPoiModifierStack
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: c1c619f43a2cb5b4a8cbc80e9e814804, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 866380150c130402eb0d14f648c57418, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifierStack.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifierStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1f22cfd3d2586f40eb9f417b3a007f35afdb189d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiModifierStack.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 493414ab78a4e1b4896fc10cd6be4fa1
+timeCreated: 1494972592
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiVisualizer.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e3a5afff9252e8e063db1fca97a619beb0314abf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiVisualizer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: PoiDemoUiPoiVisualizer
+  m_EditorClassIdentifier: 
+  Active: 0
+  _classificationKey: 
+  _key: poi_label
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 493414ab78a4e1b4896fc10cd6be4fa1, type: 2}
+  Stacks: []
+  _enableCoroutines: 1
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiVisualizer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..83cce5b4ebce45edbbe2b04a10305ff31e015ca1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiDemoUiPoiVisualizer.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3395a1a7d9533a74591d5ae0381edbfe
+timeCreated: 1485353769
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiVectorTileFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiVectorTileFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f65ed66d18705a5f13c20688f7c5cfef32545ac2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiVectorTileFactory.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63d97cb1cfb3f1b499c24763afa54873, type: 3}
+  m_Name: PoiVectorTileFactory
+  m_EditorClassIdentifier: 
+  _mapId: mapbox.mapbox-streets-v7
+  Visualizers:
+  - {fileID: 11400000, guid: 49b5b5cab8982084a986f2d148acff42, type: 2}
+  - {fileID: 11400000, guid: a493b030d561f34448a13f55bec8b7fc, type: 2}
+  - {fileID: 11400000, guid: 3395a1a7d9533a74591d5ae0381edbfe, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiVectorTileFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiVectorTileFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6758479ee2ff7fda66510ffefbbc99dbf9626234
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PoiVectorTileFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b6db6e4901cc50246b1ed5c328d73872
+timeCreated: 1485208825
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PolygonModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PolygonModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..6e6b35dbc5eab702d65dbfb8a3f4a6fc65e2febd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PolygonModifier.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6c7ba03c743d46c4a99f4971c74f7cbd, type: 3}
+  m_Name: PolygonModifier
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PolygonModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PolygonModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e5615dada5bb351bdfcd23a8de9b9e4b0eafe2e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/PolygonModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4fe5c136889ae0347af431be7e59e489
+timeCreated: 1485209327
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/RemoveZFighting.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/RemoveZFighting.asset
new file mode 100644
index 0000000000000000000000000000000000000000..5648a0b9ce4aa3a1e5fe5442c2a4018a08b73339
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/RemoveZFighting.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fa6f0c874a917480ab42ea3d79edf819, type: 3}
+  m_Name: RemoveZFighting
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/RemoveZFighting.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/RemoveZFighting.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d9859cd1caef740b619a096c7db2a839c255276f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/RemoveZFighting.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 68f1c8a1aa79a4a7cb5af3c591ccbea9
+timeCreated: 1532995945
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SatelliteImageFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SatelliteImageFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7c04432570f642e62deea1853376e2f3d876930f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SatelliteImageFactory.asset
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2b10536479dade041b6db9893fdf723a, type: 3}
+  m_Name: SatelliteImageFactory
+  m_EditorClassIdentifier: 
+  _properties:
+    sourceType: 4
+    sourceOptions:
+      isActive: 1
+      layerSource:
+        Name: Streets
+        Id: mapbox.satellite
+        Modified: 
+        UserName: 
+    rasterOptions:
+      useRetina: 1
+      useCompression: 0
+      useMipMap: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SatelliteImageFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SatelliteImageFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a5c9d8bfc959f601ee3dd5197c711c0c85d801e0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SatelliteImageFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8aa6dfef55a93474fbc6cdfbb145b7d1
+timeCreated: 1485462806
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ScenicMapImageFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ScenicMapImageFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..615d274400662f5331ba4c1f947f594e9086c53a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ScenicMapImageFactory.asset
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2b10536479dade041b6db9893fdf723a, type: 3}
+  m_Name: ScenicMapImageFactory
+  m_EditorClassIdentifier: 
+  _properties:
+    sourceType: 6
+    sourceOptions:
+      isActive: 1
+      layerSource:
+        Name: Streets
+        Id: examples.a4c252ab
+        Modified: 
+        UserName: 
+    rasterOptions:
+      useRetina: 1
+      useCompression: 0
+      useMipMap: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ScenicMapImageFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ScenicMapImageFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..126c55f512ad4e6cf13abf0e2f5da551ab2cee49
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/ScenicMapImageFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4304eeeba74ed4e48a435f96d9076abc
+timeCreated: 1494434733
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SnapTerrainModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SnapTerrainModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4cb7ad18a53ea5567050318561374da08645ac47
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SnapTerrainModifier.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 40bee3110109c0848bb86c9b5c436039, type: 3}
+  m_Name: SnapTerrainModifier
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SnapTerrainModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SnapTerrainModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2bef6d24fdd323e874c501055d13c0df66c48bc9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SnapTerrainModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c1c619f43a2cb5b4a8cbc80e9e814804
+timeCreated: 1494973424
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SpawnInParkModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SpawnInParkModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..3b09432cfde280f6c3c99fed742cb327eb443625
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SpawnInParkModifier.asset
@@ -0,0 +1,25 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 420705c61d1b6435c8aa7b1cbd0ce80a, type: 3}
+  m_Name: SpawnInParkModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _spawnRateInSquareMeters: 20
+  _maxSpawn: 1000
+  _prefabs:
+  - {fileID: 1000012727180236, guid: 3a36803f92a1f4fb98a10f9d00e184bc, type: 2}
+  - {fileID: 1000010232061618, guid: e161657d9f870459abb03b980a14de8a, type: 2}
+  _layerMask:
+    serializedVersion: 2
+    m_Bits: 512
+  _scaleDownWithWorld: 1
+  _randomizeScale: 1
+  _randomizeRotation: 1
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SpawnInParkModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SpawnInParkModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3ed4ebe556ab45c0489946b833f2a14238873864
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/SpawnInParkModifier.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d5cfd67d46b2f4892ae231737f3a95f8
+timeCreated: 1499974107
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StyledBuildingVisualizer.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StyledBuildingVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..cde081fddb465177426f23861e5b81a9acce5cea
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StyledBuildingVisualizer.asset
@@ -0,0 +1,30 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: StyledBuildingVisualizer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: building
+  Filters:
+  - {fileID: 11400000, guid: e91169d62cb08f546aad375d626c1d51, type: 2}
+  _defaultStack: {fileID: 11400000, guid: 70166653a5881394c9dc697c1014376e, type: 2}
+  Stacks:
+  - Type: residential
+    Types:
+    - residential
+    Stack: {fileID: 11400000, guid: 8c7bd733341fc0a47bfbaea08b5f15ba, type: 2}
+  - Type: commercial
+    Types:
+    - commercial
+    Stack: {fileID: 11400000, guid: d234d20d9d280f84cb21cb7d8cac3cab, type: 2}
+  _enableCoroutines: 1
+  _entityPerCoroutine: 20
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StyledBuildingVisualizer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StyledBuildingVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a4b230874672284ea5edc2f47508005bcd13166a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StyledBuildingVisualizer.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 69e43c5ee5f5f6b46a12bf3f1ba27039
+timeCreated: 1485209228
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylingVectorTileFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylingVectorTileFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..0f44be7397db9f35ff9a10aeb8b7007c3250b495
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylingVectorTileFactory.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63d97cb1cfb3f1b499c24763afa54873, type: 3}
+  m_Name: StylingVectorTileFactory
+  m_EditorClassIdentifier: 
+  _mapId: mapbox.mapbox-streets-v7
+  Visualizers:
+  - {fileID: 11400000, guid: 69e43c5ee5f5f6b46a12bf3f1ba27039, type: 2}
+  - {fileID: 11400000, guid: 42d0c054e597a4590a29b5b66fbec4aa, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylingVectorTileFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylingVectorTileFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8fe860b4e9d628e77330d5d0bc5d9ad7d23856d6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylingVectorTileFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 923119689e177024682db7c643a8d54b
+timeCreated: 1485208825
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylizedMapImageFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylizedMapImageFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f1453d5d9218330a5ac176886f4cc98ee7b24da3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylizedMapImageFactory.asset
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2b10536479dade041b6db9893fdf723a, type: 3}
+  m_Name: StylizedMapImageFactory
+  m_EditorClassIdentifier: 
+  _properties:
+    sourceType: 6
+    sourceOptions:
+      isActive: 1
+      layerSource:
+        Name: Streets
+        Id: mapbox://styles/mapbox/cjavyikad85yp2rmpo82bb9tn
+        Modified: 
+        UserName: 
+    rasterOptions:
+      useRetina: 0
+      useCompression: 0
+      useMipMap: 0
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylizedMapImageFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylizedMapImageFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..394a4caca58a68ed6a1e651b7aac92d5ecf23dd3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/StylizedMapImageFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6d4ed53de8faf4af593ed0fa52208909
+timeCreated: 1492114655
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingStack.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..09ee64b5318af1301242fce5b33901e39f094600
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingStack.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: TerrainBuildingStack
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: c1c619f43a2cb5b4a8cbc80e9e814804, type: 2}
+  - {fileID: 11400000, guid: 4fe5c136889ae0347af431be7e59e489, type: 2}
+  - {fileID: 11400000, guid: b432bf85b0df280468dcfdaf5a9b90d0, type: 2}
+  - {fileID: 11400000, guid: a49403503b2b1534f832833cbd477437, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: f79ee57901cdf483e87c86d4ce3e7247, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingStack.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c8f17fa3999b11228d5062c6805a0067648af0d0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingStack.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 11b79b69f7d364409b9f32b249c41b82
+timeCreated: 1494434733
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingVisualizer.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..8012eb23b842b48d9d2275a1471df3a3d20144e1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingVisualizer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: TerrainBuildingVisualizer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: building
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 11b79b69f7d364409b9f32b249c41b82, type: 2}
+  Stacks: []
+  _enableCoroutines: 1
+  _entityPerCoroutine: 40
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingVisualizer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..61a03480974dca61fa6b841a267936a1a9c0f8d5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainBuildingVisualizer.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5b89dd37c0da7984e9b4e47434079059
+timeCreated: 1485209228
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e6041424fa4be2a2774042c7d82cde56a1047ca5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainFactory.asset
@@ -0,0 +1,38 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8338f26893d62c1439f387800a8e1c9a, type: 3}
+  m_Name: TerrainFactory
+  m_EditorClassIdentifier: 
+  _elevationOptions:
+    sourceType: 0
+    sourceOptions:
+      isActive: 1
+      layerSource:
+        Name: 
+        Id: mapbox.terrain-rgb
+        Modified: 
+        UserName: 
+    elevationLayerType: 1
+    requiredOptions:
+      baseMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+      addCollider: 0
+      exaggerationFactor: 1
+    modificationOptions:
+      sampleCount: 10
+      useRelativeHeight: 0
+      earthRadius: 1000
+    unityLayerOptions:
+      addToLayer: 0
+      layerId: 0
+    sideWallOptions:
+      isActive: 0
+      wallHeight: 10
+      wallMaterial: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4f192094bfb1ef77e8ba7ab23219e2a01fee5ecf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 74ed94e68d943483b89421350156bef7
+timeCreated: 1495687360
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainVectorTileFactory.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainVectorTileFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..d1bf9c51ac5e26ad368e21bde05cbfea7d5f6540
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainVectorTileFactory.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63d97cb1cfb3f1b499c24763afa54873, type: 3}
+  m_Name: TerrainVectorTileFactory
+  m_EditorClassIdentifier: 
+  _mapId: mapbox.mapbox-streets-v7
+  Visualizers:
+  - {fileID: 11400000, guid: 5b89dd37c0da7984e9b4e47434079059, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainVectorTileFactory.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainVectorTileFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c39be6fd1a71ccbf05b8c762f2f29c8c6fca404d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TerrainVectorTileFactory.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e4c27502735c942dca373c40a29e5a58
+timeCreated: 1494434733
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..03236a33dbf4775a8544aa29d698ff69780d6878
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueMaterialModifier.asset
@@ -0,0 +1,24 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: TransparentBlueMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    projectMapImagery: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 80bd19d68c4ef4a659db43cfb6b09b91, type: 2}
+    - Materials:
+      - {fileID: 2100000, guid: 80bd19d68c4ef4a659db43cfb6b09b91, type: 2}
+    atlasInfo: {fileID: 0}
+    colorPallete: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c100c421775244976ca58c0756a7c60662e28ce5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: da5cf9c4ee3594bc8944b55507453652
+timeCreated: 1508783212
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueSelectablePolygonStack.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueSelectablePolygonStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..fd3fac683df72a8a74e151b9537c331d91f4684e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueSelectablePolygonStack.asset
@@ -0,0 +1,23 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: TransparentBlueSelectablePolygonStack
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 4fe5c136889ae0347af431be7e59e489, type: 2}
+  - {fileID: 11400000, guid: b432bf85b0df280468dcfdaf5a9b90d0, type: 2}
+  - {fileID: 11400000, guid: a49403503b2b1534f832833cbd477437, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: da5cf9c4ee3594bc8944b55507453652, type: 2}
+  - {fileID: 11400000, guid: b7b664c5d0b1dfd4ea8bf239a71912ef, type: 2}
+  - {fileID: 11400000, guid: 14ec972a1cec2dc429f5eca7d22b572f, type: 2}
+  - {fileID: 11400000, guid: aa354e89f869a4db0a6c3ceb3c79d0be, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueSelectablePolygonStack.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueSelectablePolygonStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2c406bc8f8a9dd9ca557aa09c4aa3073fca17a44
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentBlueSelectablePolygonStack.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8c7bd733341fc0a47bfbaea08b5f15ba
+timeCreated: 1485212723
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyBuildingVisualizer.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyBuildingVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..37d84b090493aea6cf5477cc4159aed9abba1770
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyBuildingVisualizer.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: TransparentGreyBuildingVisualizer
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: building
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: eb06f9324c5364f48a98112dcafcd891, type: 2}
+  Stacks: []
+  _enableCoroutines: 1
+  _entityPerCoroutine: 30
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyBuildingVisualizer.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyBuildingVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3516b854149413eb7c7ddad7af39d40ab79cd4d9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyBuildingVisualizer.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 49b5b5cab8982084a986f2d148acff42
+timeCreated: 1485209228
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f05b9d1262af60c4e4eb4779c91b5a9b96473822
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyMaterialModifier.asset
@@ -0,0 +1,24 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: TransparentGreyMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    projectMapImagery: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 497423d004c7f44f690e8f82bed81904, type: 2}
+    - Materials:
+      - {fileID: 2100000, guid: 497423d004c7f44f690e8f82bed81904, type: 2}
+    atlasInfo: {fileID: 0}
+    colorPallete: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3059269cee69b6494d57da1242a0a046437471f3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f79ee57901cdf483e87c86d4ce3e7247
+timeCreated: 1508783212
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyPolygonStack.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyPolygonStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..186057708302fb3dbfc6c15968e90708bd47f9cf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyPolygonStack.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: TransparentGreyPolygonStack
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 4fe5c136889ae0347af431be7e59e489, type: 2}
+  - {fileID: 11400000, guid: b432bf85b0df280468dcfdaf5a9b90d0, type: 2}
+  - {fileID: 11400000, guid: a49403503b2b1534f832833cbd477437, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: f79ee57901cdf483e87c86d4ce3e7247, type: 2}
+  - {fileID: 11400000, guid: d534c6a861f735c4dab3990ac3c05158, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyPolygonStack.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyPolygonStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..80d9013e2ac5a10c7cb0eb698093038a6bd69246
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreyPolygonStack.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: eb06f9324c5364f48a98112dcafcd891
+timeCreated: 1485212723
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreySelectablePolygonStack.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreySelectablePolygonStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7ab8d1c0d97da41ddd6ff29572bdf99b22b095bf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreySelectablePolygonStack.asset
@@ -0,0 +1,23 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: TransparentGreySelectablePolygonStack
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 4fe5c136889ae0347af431be7e59e489, type: 2}
+  - {fileID: 11400000, guid: b432bf85b0df280468dcfdaf5a9b90d0, type: 2}
+  - {fileID: 11400000, guid: a49403503b2b1534f832833cbd477437, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: f79ee57901cdf483e87c86d4ce3e7247, type: 2}
+  - {fileID: 11400000, guid: b7b664c5d0b1dfd4ea8bf239a71912ef, type: 2}
+  - {fileID: 11400000, guid: 14ec972a1cec2dc429f5eca7d22b572f, type: 2}
+  - {fileID: 11400000, guid: aa354e89f869a4db0a6c3ceb3c79d0be, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreySelectablePolygonStack.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreySelectablePolygonStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0953ef35cc8433edf3236ff66e51692bfe8ad47d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentGreySelectablePolygonStack.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 70166653a5881394c9dc697c1014376e
+timeCreated: 1494434733
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeMaterialModifier.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeMaterialModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..75836c803b438287a98187e9c8378a5217cf6a11
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeMaterialModifier.asset
@@ -0,0 +1,24 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 76c93f3debdba4e48adb1b99cad0a0d2, type: 3}
+  m_Name: TransparentOrangeMaterialModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _options:
+    projectMapImagery: 0
+    texturingType: 0
+    materials:
+    - Materials:
+      - {fileID: 2100000, guid: 65fb5c4ce7e4e4e1bbd063bbb561cde7, type: 2}
+    - Materials:
+      - {fileID: 2100000, guid: 65fb5c4ce7e4e4e1bbd063bbb561cde7, type: 2}
+    atlasInfo: {fileID: 0}
+    colorPallete: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeMaterialModifier.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeMaterialModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0b15977935ba5d65cea180de513112c6c544889d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeMaterialModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8c839e30191934c63948abcddd333a44
+timeCreated: 1508783212
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeSelectablePolygonStack.asset b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeSelectablePolygonStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a9c1d2bee741c53ac7a135ac9ebfe434025f5c9f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeSelectablePolygonStack.asset
@@ -0,0 +1,23 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 25f09effe9db3dd4e9e825475d698ca3, type: 3}
+  m_Name: TransparentOrangeSelectablePolygonStack
+  m_EditorClassIdentifier: 
+  _moveFeaturePositionTo: 0
+  MeshModifiers:
+  - {fileID: 11400000, guid: 4fe5c136889ae0347af431be7e59e489, type: 2}
+  - {fileID: 11400000, guid: b432bf85b0df280468dcfdaf5a9b90d0, type: 2}
+  - {fileID: 11400000, guid: a49403503b2b1534f832833cbd477437, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 8c839e30191934c63948abcddd333a44, type: 2}
+  - {fileID: 11400000, guid: b7b664c5d0b1dfd4ea8bf239a71912ef, type: 2}
+  - {fileID: 11400000, guid: 14ec972a1cec2dc429f5eca7d22b572f, type: 2}
+  - {fileID: 11400000, guid: aa354e89f869a4db0a6c3ceb3c79d0be, type: 2}
diff --git a/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeSelectablePolygonStack.asset.meta b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeSelectablePolygonStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f8fab84f3b108a1e313a838fe4fd574af620d733
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Examples/_sharedModules/TransparentOrangeSelectablePolygonStack.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d234d20d9d280f84cb21cb7d8cac3cab
+timeCreated: 1485212723
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Fonts.meta b/T3-Unity/Assets/Mapbox/Fonts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b847d1e06eae340c3ae60e5ebdc7d4b2a0037f3b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Fonts.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3d729f28e8e9e4c73874798680125792
+folderAsset: yes
+timeCreated: 1480366434
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Bold.ttf b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..fd79d43bea0293ac1b20e8aca1142627983d2c07
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Bold.ttf differ
diff --git a/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Bold.ttf.meta b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Bold.ttf.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5b876459a324f74449b4cf2352972690455e19ad
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Bold.ttf.meta
@@ -0,0 +1,16 @@
+fileFormatVersion: 2
+guid: 7dfc2e1472ac84e1bb749a8a9f934483
+TrueTypeFontImporter:
+  serializedVersion: 2
+  fontSize: 5
+  forceTextureCase: -2
+  characterSpacing: 1
+  characterPadding: 0
+  includeFontData: 1
+  use2xBehaviour: 0
+  fontNames: []
+  customCharacters: 
+  fontRenderingMode: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Regular.ttf b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..db433349b7047f72f40072630c1bc110620bf09e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Regular.ttf differ
diff --git a/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Regular.ttf.meta b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Regular.ttf.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d73c76818034e0817a1f4bbc16ae8bacb3d9cfcd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Regular.ttf.meta
@@ -0,0 +1,16 @@
+fileFormatVersion: 2
+guid: bd1ea67ca2b5742d1a24fcbdc17c55e1
+TrueTypeFontImporter:
+  serializedVersion: 2
+  fontSize: 5
+  forceTextureCase: -2
+  characterSpacing: 1
+  characterPadding: 0
+  includeFontData: 1
+  use2xBehaviour: 0
+  fontNames: []
+  customCharacters: 
+  fontRenderingMode: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Semibold.ttf b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Semibold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..1a7679e3949fb045f152f456bc4adad31e8b9f55
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Semibold.ttf differ
diff --git a/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Semibold.ttf.meta b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Semibold.ttf.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4194125c3b49bfd2cf94c034a51680b999849151
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Fonts/OpenSans-Semibold.ttf.meta
@@ -0,0 +1,16 @@
+fileFormatVersion: 2
+guid: 218956a5c2a6e42d6a60afccf80b002b
+TrueTypeFontImporter:
+  serializedVersion: 2
+  fontSize: 5
+  forceTextureCase: -2
+  characterSpacing: 1
+  characterPadding: 0
+  includeFontData: 1
+  use2xBehaviour: 0
+  fontNames: []
+  customCharacters: 
+  fontRenderingMode: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Fonts/OpenSansLic.txt b/T3-Unity/Assets/Mapbox/Fonts/OpenSansLic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Fonts/OpenSansLic.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/T3-Unity/Assets/Mapbox/Fonts/OpenSansLic.txt.meta b/T3-Unity/Assets/Mapbox/Fonts/OpenSansLic.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b48dfd7d79fce5080b32dce417559bce03ed00d6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Fonts/OpenSansLic.txt.meta
@@ -0,0 +1,6 @@
+fileFormatVersion: 2
+guid: 7d1743538c61d42559fdf1e11d5bad17
+TextScriptImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Materials.meta b/T3-Unity/Assets/Mapbox/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fd563226ef1d02889fe04f66d9220e100854db62
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Materials.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b7649b69d4931a741ad3dcc8d326087b
+folderAsset: yes
+timeCreated: 1505418320
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Materials/LoadingMaterial.mat b/T3-Unity/Assets/Mapbox/Materials/LoadingMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..dbe4b1841ddf6a8c25ca22b0b66af830c1f9aa41
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Materials/LoadingMaterial.mat
@@ -0,0 +1,37 @@
+%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: LoadingMaterial
+  m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - PixelSnap: 0
+    - _EnableExternalAlpha: 0
+    - _InvFade: 1
+    m_Colors:
+    - _Color: {r: 0, g: 0.91724133, b: 1, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
+    - _TintColor: {r: 0, g: 0.7931032, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Materials/LoadingMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Materials/LoadingMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2b55853aee1960a38cd9273de00695ecefe463c2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Materials/LoadingMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e486fb1a0b4233944af95fee011a22e0
+timeCreated: 1505418341
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Materials/MaskTest.mat b/T3-Unity/Assets/Mapbox/Materials/MaskTest.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c0fb3d877cda6b11b6ef91194cfbfb536ecf481a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Materials/MaskTest.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: MaskTest
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Materials/MaskTest.mat.meta b/T3-Unity/Assets/Mapbox/Materials/MaskTest.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f2bce1ab8742f3de90c20abf34da1282acb7e196
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Materials/MaskTest.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: af23ad1f77579405eb8e5010eab51186
+timeCreated: 1518216790
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Materials/frameTest.mat b/T3-Unity/Assets/Mapbox/Materials/frameTest.mat
new file mode 100644
index 0000000000000000000000000000000000000000..bde661222109e44b3a6a2e7f363d9c448f6dbac0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Materials/frameTest.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: frameTest
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Materials/frameTest.mat.meta b/T3-Unity/Assets/Mapbox/Materials/frameTest.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1dfee4a484d9a17a4df0ff9de3ea378912988489
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Materials/frameTest.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8b1bace0619934bbd966f8b67360472c
+timeCreated: 1518735418
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs.meta b/T3-Unity/Assets/Mapbox/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a0ddb1214a05bc728be65bff9a3835a9a8c0a27c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0db425f244af04bc9a710f6886a34403
+folderAsset: yes
+timeCreated: 1480368170
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/Attribution.prefab b/T3-Unity/Assets/Mapbox/Prefabs/Attribution.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..d378bf3365bdab04c995c849aa9866639afc963b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/Attribution.prefab
@@ -0,0 +1,2976 @@
+%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: 1000012270391302}
+  m_IsPrefabParent: 1
+--- !u!1 &1000010054780072
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011786869730}
+  - component: {fileID: 222000013861620362}
+  - component: {fileID: 114000013954146960}
+  m_Layer: 5
+  m_Name: GeneralPopup
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1000010251623658
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000013849289752}
+  - component: {fileID: 222000013216232360}
+  - component: {fileID: 114000013974789120}
+  - component: {fileID: 114000010956861998}
+  m_Layer: 5
+  m_Name: MapboxLogo
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000010261933500
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011052731304}
+  - component: {fileID: 222000012542523728}
+  - component: {fileID: 114000014293323536}
+  - component: {fileID: 114000010413256100}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1000010322957038
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010832569436}
+  - component: {fileID: 222000012838451916}
+  - component: {fileID: 114000011669420336}
+  m_Layer: 5
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000010469169742
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012452801200}
+  - component: {fileID: 222000012598981250}
+  - component: {fileID: 114000012514615580}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000010595931910
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011871004796}
+  - component: {fileID: 222000010898632596}
+  - component: {fileID: 114000010200746752}
+  m_Layer: 5
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000010654442462
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010289174704}
+  - component: {fileID: 222000013765660792}
+  - component: {fileID: 114000011291760786}
+  m_Layer: 5
+  m_Name: Detail
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000010903190438
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012954539924}
+  - component: {fileID: 222000013821890836}
+  - component: {fileID: 114000013194257072}
+  - component: {fileID: 114000012991362564}
+  - component: {fileID: 114000011502999528}
+  m_Layer: 5
+  m_Name: OpenStreetMap
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011102880912
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012863316938}
+  - component: {fileID: 222000012073267988}
+  - component: {fileID: 114000011099255292}
+  m_Layer: 5
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011170295744
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011881113432}
+  - component: {fileID: 114000013425509446}
+  m_Layer: 5
+  m_Name: Buttons
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011206144066
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012853769856}
+  - component: {fileID: 222000014189796102}
+  - component: {fileID: 114000010891849290}
+  m_Layer: 5
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011230084972
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011665632892}
+  - component: {fileID: 222000010152334938}
+  - component: {fileID: 114000013305285980}
+  m_Layer: 5
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011293578650
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011436070778}
+  - component: {fileID: 222000011956438890}
+  - component: {fileID: 114000014032524088}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011707437516
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011240730510}
+  m_Layer: 5
+  m_Name: TextHolder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011782995990
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011463966310}
+  - component: {fileID: 222000013959506544}
+  - component: {fileID: 114000012327158974}
+  - component: {fileID: 114000013366972262}
+  - component: {fileID: 114000013102648220}
+  m_Layer: 5
+  m_Name: ImproveThisMap
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011939526250
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010449021188}
+  - component: {fileID: 222000012689643076}
+  - component: {fileID: 114000010853554134}
+  - component: {fileID: 114000010592763224}
+  - component: {fileID: 114000012459593998}
+  m_Layer: 5
+  m_Name: MoreInfo
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000011994908926
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010973732652}
+  - component: {fileID: 222000011304938888}
+  - component: {fileID: 114000011915122438}
+  m_Layer: 5
+  m_Name: MakeMapboxMapsBetter
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012270391302
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000013044306136}
+  - component: {fileID: 223000013144521578}
+  - component: {fileID: 114000013038469802}
+  - component: {fileID: 114000011445104640}
+  m_Layer: 5
+  m_Name: Attribution
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012472160484
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012669324860}
+  - component: {fileID: 222000014189569612}
+  - component: {fileID: 114000012113965706}
+  - component: {fileID: 114000012931723954}
+  - component: {fileID: 114000013215882760}
+  m_Layer: 5
+  m_Name: Mapbox
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012558740832
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012654707720}
+  - component: {fileID: 222000013053592878}
+  - component: {fileID: 114000013496265404}
+  - component: {fileID: 114000013548531306}
+  m_Layer: 5
+  m_Name: MapboxTelemetry
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012678072350
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012680463924}
+  - component: {fileID: 114000010010780026}
+  m_Layer: 5
+  m_Name: PoweredByMapbox
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012814445858
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000014186409798}
+  - component: {fileID: 222000012683884346}
+  - component: {fileID: 114000012237847192}
+  - component: {fileID: 114000011143267216}
+  - component: {fileID: 114000011949223418}
+  m_Layer: 5
+  m_Name: DigitalGlobe
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012855620454
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012464907794}
+  - component: {fileID: 222000011382682882}
+  - component: {fileID: 114000010656795658}
+  m_Layer: 5
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000012879106734
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010031077894}
+  - component: {fileID: 222000010158576028}
+  - component: {fileID: 114000010223518896}
+  - component: {fileID: 114000010598074150}
+  - component: {fileID: 114000011838890462}
+  m_Layer: 5
+  m_Name: Disgaree
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013082094982
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012998554140}
+  - component: {fileID: 222000010225006892}
+  - component: {fileID: 114000011266373950}
+  - component: {fileID: 114000013798014308}
+  m_Layer: 5
+  m_Name: Close
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013106954598
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011642918620}
+  - component: {fileID: 114000011250703824}
+  m_Layer: 5
+  m_Name: Buttons
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013265815560
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010592324750}
+  - component: {fileID: 222000012668071652}
+  - component: {fileID: 114000012880934706}
+  m_Layer: 5
+  m_Name: TelemetryPopup
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1000013302142452
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000011244315594}
+  - component: {fileID: 222000013925482918}
+  - component: {fileID: 114000012882014622}
+  m_Layer: 5
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013605029738
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000013466125426}
+  m_Layer: 5
+  m_Name: ImageHolder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013752281266
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010729241092}
+  - component: {fileID: 222000010271277808}
+  - component: {fileID: 114000012806416914}
+  m_Layer: 5
+  m_Name: PopupButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000013825489580
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010415967706}
+  - component: {fileID: 222000012252638138}
+  - component: {fileID: 114000012653900312}
+  - component: {fileID: 114000011412483932}
+  - component: {fileID: 114000012507710678}
+  m_Layer: 5
+  m_Name: Agree
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000014061529118
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000010566913724}
+  - component: {fileID: 114000012627991630}
+  - component: {fileID: 114000012965303632}
+  m_Layer: 5
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1000014070005868
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224000012294732398}
+  - component: {fileID: 222000012914824310}
+  - component: {fileID: 114000013336503972}
+  m_Layer: 5
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114000010010780026
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012678072350}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 1
+  m_Spacing: 6
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114000010200746752
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010595931910}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.18382353, g: 0.18382353, b: 0.18382353, a: 0.347}
+  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: 21300000, guid: 184ca10c8fb4d4c4b988276fd798c9dc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000010223518896
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012879106734}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Disagree
+--- !u!114 &114000010413256100
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010261933500}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000014293323536}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1000010054780072}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 1000013265815560}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 1000010261933500}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000010592763224
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011939526250}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000010853554134}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000010598074150
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012879106734}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000010223518896}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1000013265815560}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 1000010261933500}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000010656795658
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012855620454}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.18382353, g: 0.18382353, b: 0.18382353, a: 0.347}
+  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: 21300000, guid: 184ca10c8fb4d4c4b988276fd798c9dc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000010853554134
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011939526250}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: More Info
+--- !u!114 &114000010891849290
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011206144066}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.18382353, g: 0.18382353, b: 0.18382353, a: 0.347}
+  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: 21300000, guid: 184ca10c8fb4d4c4b988276fd798c9dc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000010956861998
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010251623658}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000012806416914}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1000010054780072}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 1
+        m_CallState: 2
+      - m_Target: {fileID: 1000010261933500}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 1
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000011099255292
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011102880912}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.18382353, g: 0.18382353, b: 0.18382353, a: 0.347}
+  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: 21300000, guid: 184ca10c8fb4d4c4b988276fd798c9dc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000011143267216
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012814445858}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000012237847192}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000011250703824
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013106954598}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 180
+    m_Bottom: 30
+  m_ChildAlignment: 4
+  m_Spacing: 6
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114000011266373950
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013082094982}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: CLOSE
+--- !u!114 &114000011291760786
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010654442462}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 0
+    m_MaxSize: 20
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: You are helping to make OpenStreetMap and Mapbox maps better by contributing
+    anonymous usage data.
+--- !u!114 &114000011412483932
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013825489580}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000012653900312}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1000013265815560}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 1000010261933500}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000011445104640
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012270391302}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114000011502999528
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010903190438}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7d2bfe282373c4419b3edefc8dd20f68, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _url: http://www.openstreetmap.org/copyright
+--- !u!114 &114000011669420336
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010322957038}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.18382353, g: 0.18382353, b: 0.18382353, a: 0.347}
+  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: 21300000, guid: 184ca10c8fb4d4c4b988276fd798c9dc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000011838890462
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012879106734}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 859a38e5f727a4ea7ad0839a89bcd655, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _booleanValue: 0
+--- !u!114 &114000011915122438
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011994908926}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 1
+    m_BestFit: 1
+    m_MinSize: 20
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Make Mapbox Maps Better
+--- !u!114 &114000011949223418
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012814445858}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7d2bfe282373c4419b3edefc8dd20f68, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _url: https://www.digitalglobe.com/about/our-company
+--- !u!114 &114000012113965706
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012472160484}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\xA9 Mapbox"
+--- !u!114 &114000012237847192
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012814445858}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\xA9 DigitalGlobe"
+--- !u!114 &114000012327158974
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011782995990}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Improve This Map
+--- !u!114 &114000012459593998
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011939526250}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7d2bfe282373c4419b3edefc8dd20f68, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _url: https://www.mapbox.com/telemetry/
+--- !u!114 &114000012507710678
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013825489580}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 859a38e5f727a4ea7ad0839a89bcd655, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _booleanValue: 1
+--- !u!114 &114000012514615580
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010469169742}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, 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_Sprite: {fileID: 21300000, guid: fa730453dea644416a34148b2e436e78, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000012627991630
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014061529118}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!114 &114000012653900312
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013825489580}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Agree
+--- !u!114 &114000012806416914
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013752281266}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.6}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 82852ff66538d44ccb63c5afc39708a5, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000012880934706
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013265815560}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.847}
+  m_RaycastTarget: 1
+  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: 21300000, guid: ae30072a59a25814e8cfe4b1f70242ed, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000012882014622
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013302142452}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.18382353, g: 0.18382353, b: 0.18382353, a: 0.347}
+  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: 21300000, guid: 184ca10c8fb4d4c4b988276fd798c9dc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000012931723954
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012472160484}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000012113965706}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000012965303632
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014061529118}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &114000012991362564
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010903190438}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000013194257072}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000013038469802
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012270391302}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 960, y: 680}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114000013102648220
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011782995990}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7d2bfe282373c4419b3edefc8dd20f68, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _url: https://www.mapbox.com/feedback/
+--- !u!114 &114000013194257072
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010903190438}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\xA9 OpenStreetMap"
+--- !u!114 &114000013215882760
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012472160484}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7d2bfe282373c4419b3edefc8dd20f68, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _url: https://www.mapbox.com/about/maps
+--- !u!114 &114000013305285980
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011230084972}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.18382353, g: 0.18382353, b: 0.18382353, a: 0.347}
+  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: 21300000, guid: 184ca10c8fb4d4c4b988276fd798c9dc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000013336503972
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014070005868}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.18382353, g: 0.18382353, b: 0.18382353, a: 0.347}
+  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: 21300000, guid: 184ca10c8fb4d4c4b988276fd798c9dc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000013366972262
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011782995990}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000012327158974}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000013425509446
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011170295744}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 70
+    m_Bottom: 50
+  m_ChildAlignment: 4
+  m_Spacing: 6
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114000013496265404
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012558740832}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.25882354, g: 0.39215687, b: 0.9843137, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 16
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Mapbox Telemetry
+--- !u!114 &114000013548531306
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012558740832}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000013496265404}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1000013265815560}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 1
+        m_CallState: 2
+      - m_Target: {fileID: 1000010054780072}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000013798014308
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013082094982}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114000011266373950}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 1000010054780072}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 1000010261933500}
+        m_MethodName: SetActive
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114000013954146960
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010054780072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.847}
+  m_RaycastTarget: 1
+  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: 21300000, guid: ae30072a59a25814e8cfe4b1f70242ed, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000013974789120
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010251623658}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.6}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 066eb96836b694d168eff135bd2aeaca, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114000014032524088
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011293578650}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, 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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 30
+    m_FontStyle: 1
+    m_BestFit: 1
+    m_MinSize: 16
+    m_MaxSize: 30
+    m_Alignment: 5
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Powered by
+--- !u!114 &114000014293323536
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010261933500}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.616}
+  m_RaycastTarget: 1
+  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 &222000010152334938
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011230084972}
+--- !u!222 &222000010158576028
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012879106734}
+--- !u!222 &222000010225006892
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013082094982}
+--- !u!222 &222000010271277808
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013752281266}
+--- !u!222 &222000010898632596
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010595931910}
+--- !u!222 &222000011304938888
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011994908926}
+--- !u!222 &222000011382682882
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012855620454}
+--- !u!222 &222000011956438890
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011293578650}
+--- !u!222 &222000012073267988
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011102880912}
+--- !u!222 &222000012252638138
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013825489580}
+--- !u!222 &222000012542523728
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010261933500}
+--- !u!222 &222000012598981250
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010469169742}
+--- !u!222 &222000012668071652
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013265815560}
+--- !u!222 &222000012683884346
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012814445858}
+--- !u!222 &222000012689643076
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011939526250}
+--- !u!222 &222000012838451916
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010322957038}
+--- !u!222 &222000012914824310
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014070005868}
+--- !u!222 &222000013053592878
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012558740832}
+--- !u!222 &222000013216232360
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010251623658}
+--- !u!222 &222000013765660792
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010654442462}
+--- !u!222 &222000013821890836
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010903190438}
+--- !u!222 &222000013861620362
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010054780072}
+--- !u!222 &222000013925482918
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013302142452}
+--- !u!222 &222000013959506544
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011782995990}
+--- !u!222 &222000014189569612
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012472160484}
+--- !u!222 &222000014189796102
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011206144066}
+--- !u!223 &223000013144521578
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012270391302}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 100
+  m_TargetDisplay: 0
+--- !u!224 &224000010031077894
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012879106734}
+  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:
+  - {fileID: 224000012853769856}
+  m_Father: {fileID: 224000011642918620}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 111, y: -265}
+  m_SizeDelta: {x: 222, y: 52.666664}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000010289174704
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010654442462}
+  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: 224000010973732652}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -30}
+  m_SizeDelta: {x: 0, y: 100}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!224 &224000010415967706
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013825489580}
+  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:
+  - {fileID: 224000012464907794}
+  m_Father: {fileID: 224000011642918620}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 111, y: -323.66666}
+  m_SizeDelta: {x: 222, y: 52.666664}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000010449021188
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011939526250}
+  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:
+  - {fileID: 224000010832569436}
+  m_Father: {fileID: 224000011642918620}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 111, y: -206.33333}
+  m_SizeDelta: {x: 222, y: 52.666664}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000010566913724
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014061529118}
+  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: 224000013044306136}
+  m_RootOrder: 4
+  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: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000010592324750
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013265815560}
+  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:
+  - {fileID: 224000010973732652}
+  - {fileID: 224000011642918620}
+  m_Father: {fileID: 224000013044306136}
+  m_RootOrder: 3
+  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: 342, y: 380}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000010729241092
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013752281266}
+  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: 224000013849289752}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: 32, y: 0}
+  m_SizeDelta: {x: 30, y: 30}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!224 &224000010832569436
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010322957038}
+  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: 224000010449021188}
+  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!224 &224000010973732652
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011994908926}
+  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:
+  - {fileID: 224000010289174704}
+  m_Father: {fileID: 224000010592324750}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -20}
+  m_SizeDelta: {x: -40, y: 30}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!224 &224000011052731304
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010261933500}
+  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: 224000013044306136}
+  m_RootOrder: 1
+  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!224 &224000011240730510
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011707437516}
+  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:
+  - {fileID: 224000011436070778}
+  m_Father: {fileID: 224000012680463924}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 148, y: -20}
+  m_SizeDelta: {x: 148, y: 40}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!224 &224000011244315594
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013302142452}
+  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: 224000012669324860}
+  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!224 &224000011436070778
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011293578650}
+  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: 224000011240730510}
+  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: 1, y: 0.5}
+--- !u!224 &224000011463966310
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011782995990}
+  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:
+  - {fileID: 224000011871004796}
+  m_Father: {fileID: 224000011881113432}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 111, y: -253.20004}
+  m_SizeDelta: {x: 222, y: 47.20001}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000011642918620
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013106954598}
+  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:
+  - {fileID: 224000010449021188}
+  - {fileID: 224000010031077894}
+  - {fileID: 224000010415967706}
+  m_Father: {fileID: 224000010592324750}
+  m_RootOrder: 1
+  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: -120, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000011665632892
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011230084972}
+  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: 224000014186409798}
+  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!224 &224000011786869730
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010054780072}
+  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:
+  - {fileID: 224000012680463924}
+  - {fileID: 224000011881113432}
+  - {fileID: 224000012998554140}
+  m_Father: {fileID: 224000013044306136}
+  m_RootOrder: 2
+  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: 342, y: 380}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000011871004796
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010595931910}
+  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: 224000011463966310}
+  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!224 &224000011881113432
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011170295744}
+  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:
+  - {fileID: 224000012669324860}
+  - {fileID: 224000012954539924}
+  - {fileID: 224000014186409798}
+  - {fileID: 224000011463966310}
+  - {fileID: 224000012654707720}
+  m_Father: {fileID: 224000011786869730}
+  m_RootOrder: 1
+  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: -120, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000012294732398
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000014070005868}
+  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: 224000012654707720}
+  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!224 &224000012452801200
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010469169742}
+  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: 224000013466125426}
+  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: -3}
+  m_SizeDelta: {x: 0, y: -6}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!224 &224000012464907794
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012855620454}
+  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: 224000010415967706}
+  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!224 &224000012654707720
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012558740832}
+  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:
+  - {fileID: 224000012294732398}
+  m_Father: {fileID: 224000011881113432}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 111, y: -306.40005}
+  m_SizeDelta: {x: 222, y: 47.20001}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000012669324860
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012472160484}
+  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:
+  - {fileID: 224000011244315594}
+  m_Father: {fileID: 224000011881113432}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 111, y: -93.600006}
+  m_SizeDelta: {x: 222, y: 47.20001}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000012680463924
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012678072350}
+  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:
+  - {fileID: 224000011240730510}
+  - {fileID: 224000013466125426}
+  m_Father: {fileID: 224000011786869730}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -10}
+  m_SizeDelta: {x: -40, y: 40}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!224 &224000012853769856
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011206144066}
+  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: 224000010031077894}
+  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!224 &224000012863316938
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000011102880912}
+  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: 224000012954539924}
+  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!224 &224000012954539924
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010903190438}
+  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:
+  - {fileID: 224000012863316938}
+  m_Father: {fileID: 224000011881113432}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 111, y: -146.80002}
+  m_SizeDelta: {x: 222, y: 47.20001}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224000012998554140
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013082094982}
+  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: 224000011786869730}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -40, y: 50}
+  m_Pivot: {x: 0.5, y: 0}
+--- !u!224 &224000013044306136
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012270391302}
+  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_Children:
+  - {fileID: 224000013849289752}
+  - {fileID: 224000011052731304}
+  - {fileID: 224000011786869730}
+  - {fileID: 224000010592324750}
+  - {fileID: 224000010566913724}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224000013466125426
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000013605029738}
+  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:
+  - {fileID: 224000012452801200}
+  m_Father: {fileID: 224000012680463924}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 154, y: -20}
+  m_SizeDelta: {x: 148, y: 40}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!224 &224000013849289752
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000010251623658}
+  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:
+  - {fileID: 224000010729241092}
+  m_Father: {fileID: 224000013044306136}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 20, y: 20}
+  m_SizeDelta: {x: 127, y: 32}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224000014186409798
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1000012814445858}
+  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:
+  - {fileID: 224000011665632892}
+  m_Father: {fileID: 224000011881113432}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 111, y: -200.00003}
+  m_SizeDelta: {x: 222, y: 47.20001}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/Attribution.prefab.meta b/T3-Unity/Assets/Mapbox/Prefabs/Attribution.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dffbf6a2264ab612177171eb80b83654c6e0c8a1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/Attribution.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3adcee2515f8c49f4a7afb3bacf2c56e
+timeCreated: 1495664292
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/CitySimulatorMap.prefab b/T3-Unity/Assets/Mapbox/Prefabs/CitySimulatorMap.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..649938406fe5fb72565c40b810eb46b8105ffe54
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/CitySimulatorMap.prefab
@@ -0,0 +1,290 @@
+%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: 1290224484336908}
+  m_IsPrefabParent: 1
+--- !u!1 &1290224484336908
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4187505068457818}
+  - component: {fileID: 114196496685157712}
+  m_Layer: 0
+  m_Name: CitySimulatorMap
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4187505068457818
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1290224484336908}
+  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}
+--- !u!114 &114196496685157712
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1290224484336908}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.784179, -122.401583
+      zoom: 16
+    extentOptions:
+      extentType: 1
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 1
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 1
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - country_label
+        - housenum_label
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Terrain
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: mapbox.3d-buildings,mapbox.mapbox-streets-v7
+          isActive: 1
+          sublayerName: ExtrudedBuildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 1
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 4
+          texturingType: 3
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: d4d7464e3429a44e090f55a4ac17f110, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: 55cc6edead802446b9106b2998406844, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 11400000, guid: ef118b5e263da4b1fa4327ca1d3e0c7b,
+            type: 2}
+          customStyleOptions:
+            texturingType: 3
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: a1aa333e18c0640d7b428eecff9c4af7, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: c0653693b48614a139a124871d499679, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Roads
+          geometryType: 1
+          layerName: road
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+        filterOptions:
+          _selectedLayerName: road
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: road
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 2
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 3
+          texturingType: 0
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: 8e8afdee0a225a84282f04f2fb89b8b6, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: b00db1eb69ea64eb4adb30b2c0fb01cb, type: 2}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 5ac0ac96d738c0845b30185d2838f299, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: b00db1eb69ea64eb4adb30b2c0fb01cb, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 1
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/CitySimulatorMap.prefab.meta b/T3-Unity/Assets/Mapbox/Prefabs/CitySimulatorMap.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d7d16fa2062a1c956fbf29bdb9c17774b2824f61
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/CitySimulatorMap.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5bb46bae81bf04608ac699be504c5e66
+timeCreated: 1520990077
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/IconicBuildingMap.prefab b/T3-Unity/Assets/Mapbox/Prefabs/IconicBuildingMap.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..5917450fbe01c8f8cd819c183c0bce9b4ae6c0bb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/IconicBuildingMap.prefab
@@ -0,0 +1,291 @@
+%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: 1416190854468854}
+  m_IsPrefabParent: 1
+--- !u!1 &1416190854468854
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4732696979201430}
+  - component: {fileID: 114585160210174956}
+  m_Layer: 0
+  m_Name: IconicBuildingMap
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4732696979201430
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1416190854468854}
+  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}
+--- !u!114 &114585160210174956
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1416190854468854}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.79514, -122.402756
+      zoom: 16
+    extentOptions:
+      extentType: 1
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 1
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 1
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - country_label
+        - housenum_label
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Terrain
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: mapbox.3d-buildings,mapbox.mapbox-streets-v7
+          isActive: 1
+          sublayerName: ExtrudedBuildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 3
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 4
+          texturingType: 3
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: a1aa333e18c0640d7b428eecff9c4af7, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: c0653693b48614a139a124871d499679, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+            type: 2}
+          customStyleOptions:
+            texturingType: 3
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: a1aa333e18c0640d7b428eecff9c4af7, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: c0653693b48614a139a124871d499679, type: 2}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers:
+        - {fileID: 11400000, guid: 9cc65532303e9448e8ecbe284fc7f035, type: 2}
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: Roads
+          geometryType: 1
+          layerName: road
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+        filterOptions:
+          _selectedLayerName: road
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: road
+          extrusionType: 5
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 2
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 3
+          texturingType: 0
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: 8e8afdee0a225a84282f04f2fb89b8b6, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: b00db1eb69ea64eb4adb30b2c0fb01cb, type: 2}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 8e8afdee0a225a84282f04f2fb89b8b6, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: b00db1eb69ea64eb4adb30b2c0fb01cb, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 1
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/IconicBuildingMap.prefab.meta b/T3-Unity/Assets/Mapbox/Prefabs/IconicBuildingMap.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..32ffb1c8f759edcef1ed22673286e6b64136f295
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/IconicBuildingMap.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4cd0111f17b6043cf817880e3fd57cd1
+timeCreated: 1534522836
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/LocationBasedGame.prefab b/T3-Unity/Assets/Mapbox/Prefabs/LocationBasedGame.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..89bd1ec895e2f9dc02ff53175e17d49f8b03748f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/LocationBasedGame.prefab
@@ -0,0 +1,979 @@
+%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: 1317352403415316}
+  m_IsPrefabParent: 1
+--- !u!1 &1065618987163410
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4961856903295740}
+  - component: {fileID: 114140835023345716}
+  - component: {fileID: 114668955501623132}
+  m_Layer: 0
+  m_Name: PlayerTarget
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1080079784494230
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4246599577666654}
+  - component: {fileID: 114061638112787974}
+  m_Layer: 0
+  m_Name: OrientationSmoothingAverage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1094528686802348
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4310658642812482}
+  - component: {fileID: 114105500206378512}
+  - component: {fileID: 114086566548189782}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1150654482131460
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4799350488123096}
+  - component: {fileID: 114005716392592828}
+  m_Layer: 0
+  m_Name: HeadingSmoothingLowPass
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1317352403415316
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4886150424162858}
+  m_Layer: 0
+  m_Name: LocationBasedGame
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1491795049829526
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4730853386710314}
+  - component: {fileID: 114352101756843672}
+  m_Layer: 0
+  m_Name: AndroidDeviceLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1495889947503892
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4542949352487020}
+  - component: {fileID: 33635898767261260}
+  - component: {fileID: 65999262174974900}
+  - component: {fileID: 23386010693667174}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1514120829208204
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4684202510553644}
+  - component: {fileID: 114275890671072080}
+  m_Layer: 0
+  m_Name: EditorLocationProviderLocationLog
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1593389716135088
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4743977495129256}
+  - component: {fileID: 114330636339840990}
+  m_Layer: 0
+  m_Name: OrientationSmoothingNoOperation
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1625832438174652
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4168681940542294}
+  - component: {fileID: 33348043099498896}
+  - component: {fileID: 135296336305408694}
+  - component: {fileID: 23748609930179622}
+  m_Layer: 0
+  m_Name: Sphere
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1638059881744458
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4129673418936512}
+  - component: {fileID: 114658503893516242}
+  m_Layer: 0
+  m_Name: EditorLocationArrayProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1794436748899412
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4661063812952726}
+  - component: {fileID: 114884900018957070}
+  m_Layer: 0
+  m_Name: HeadingSmoothingNoOperation
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1890051226035590
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4857128744900630}
+  - component: {fileID: 114811608996724456}
+  m_Layer: 0
+  m_Name: DefaultDeviceLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1914554019858210
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4556514920020454}
+  - component: {fileID: 114467468983267246}
+  m_Layer: 0
+  m_Name: LocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1955583132415804
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4086284340975594}
+  - component: {fileID: 114693865358142148}
+  m_Layer: 0
+  m_Name: HeadingSmoothingAverage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1973830715875770
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4586255385020768}
+  - component: {fileID: 114338581737783854}
+  m_Layer: 0
+  m_Name: OrientationSmoothingLowPass
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1996530296785342
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4109422646323390}
+  - component: {fileID: 114011132729224596}
+  m_Layer: 0
+  m_Name: TransformLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &4086284340975594
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1955583132415804}
+  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: 4857128744900630}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4109422646323390
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1996530296785342}
+  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: 4556514920020454}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4129673418936512
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1638059881744458}
+  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: 4556514920020454}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4168681940542294
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625832438174652}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 4.14, z: 0}
+  m_LocalScale: {x: 2, y: 2, z: 2}
+  m_Children: []
+  m_Father: {fileID: 4961856903295740}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4246599577666654
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1080079784494230}
+  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: 4857128744900630}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4310658642812482
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1094528686802348}
+  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: 4886150424162858}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4542949352487020
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1495889947503892}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1.5, z: 0}
+  m_LocalScale: {x: 1, y: 3, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4961856903295740}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4556514920020454
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1914554019858210}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -18.677399, y: 12.257265, z: 21.646572}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4857128744900630}
+  - {fileID: 4129673418936512}
+  - {fileID: 4109422646323390}
+  - {fileID: 4730853386710314}
+  - {fileID: 4684202510553644}
+  m_Father: {fileID: 4886150424162858}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4586255385020768
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1973830715875770}
+  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: 4857128744900630}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4661063812952726
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1794436748899412}
+  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: 4857128744900630}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4684202510553644
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1514120829208204}
+  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: 4556514920020454}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4730853386710314
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1491795049829526}
+  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: 4556514920020454}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4743977495129256
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1593389716135088}
+  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: 4857128744900630}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4799350488123096
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1150654482131460}
+  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: 4857128744900630}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4857128744900630
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1890051226035590}
+  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:
+  - {fileID: 4661063812952726}
+  - {fileID: 4086284340975594}
+  - {fileID: 4799350488123096}
+  - {fileID: 4743977495129256}
+  - {fileID: 4246599577666654}
+  - {fileID: 4586255385020768}
+  m_Father: {fileID: 4556514920020454}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4886150424162858
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1317352403415316}
+  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:
+  - {fileID: 4310658642812482}
+  - {fileID: 4961856903295740}
+  - {fileID: 4556514920020454}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4961856903295740
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1065618987163410}
+  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:
+  - {fileID: 4542949352487020}
+  - {fileID: 4168681940542294}
+  m_Father: {fileID: 4886150424162858}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23386010693667174
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1495889947503892}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: caa6c6f6f7879034992a27a6bc3794fd, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23748609930179622
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625832438174652}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: caa6c6f6f7879034992a27a6bc3794fd, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33348043099498896
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625832438174652}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33635898767261260
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1495889947503892}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65999262174974900
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1495889947503892}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &114005716392592828
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1150654482131460}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5bc20e719eeb82d448d4698d29d526c0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 2
+  _smoothingFactor: 0.009999999776482582
+--- !u!114 &114011132729224596
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1996530296785342}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a034c4eeb3293418aab101c1895844a4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 0
+  _autoFireEvent: 0
+  _updateInterval: 0
+  _sendEvent: 0
+  _targetTransform: {fileID: 0}
+--- !u!114 &114061638112787974
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1080079784494230}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6843ccbf70c208645a89b4c8c37a4ecf, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 10
+--- !u!114 &114086566548189782
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1094528686802348}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 96f0fa82f89d64bb9a6524c72d538179, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 114105500206378512}
+--- !u!114 &114105500206378512
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1094528686802348}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _initializeOnStart: 0
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.784179, -122.401583
+      zoom: 16
+    extentOptions:
+      extentType: 2
+      cameraBoundsOptions:
+        camera: {fileID: 0}
+        visibleBuffer: 0
+        disposeBuffer: 0
+      rangeAroundCenterOptions:
+        west: 1
+        north: 1
+        east: 1
+        south: 1
+      rangeAroundTransformOptions:
+        targetTransform: {fileID: 4961856903295740}
+        visibleBuffer: 3
+        disposeBuffer: 3
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 0}
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        addCollider: 0
+        exaggerationFactor: 1
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 1
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - contour
+        - country_label
+        - hillshade
+        - housenum_label
+        - landcover
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - traffic
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 3
+      sourceOptions:
+        isActive: 0
+        layerSource:
+          Name: Mapbox Terrain
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7,mapbox.mapbox-traffic-v1,mapbox.mapbox-terrain-v2
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers: []
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+--- !u!114 &114140835023345716
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1065618987163410}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7760043eea2cd452ba7117f2c97e0038, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114275890671072080
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1514120829208204}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c34c76d6349bc9844998f48d16f0d3bb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 1
+  _autoFireEvent: 1
+  _updateInterval: 0.1
+  _sendEvent: 0
+  _locationLogFile: {fileID: 4900000, guid: 5e6bb7224cef35c4788a4817b1c9778d, type: 3}
+--- !u!114 &114330636339840990
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1593389716135088}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1ea49ff9cb53e9b44b5fa981d0009588, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!114 &114338581737783854
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1973830715875770}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5bc20e719eeb82d448d4698d29d526c0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 7
+  _smoothingFactor: 0.5
+--- !u!114 &114352101756843672
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1491795049829526}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d3d557417079b1446999d2d86ff71dfb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _updateDistanceInMeters: 0.5
+  _updateTimeInMilliSeconds: 500
+--- !u!114 &114467468983267246
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1914554019858210}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b55f37f9a6f7e44f7bb35e6bc3863847, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  mapManager: {fileID: 114105500206378512}
+  _deviceLocationProviderUnity: {fileID: 114811608996724456}
+  _deviceLocationProviderAndroid: {fileID: 114352101756843672}
+  _editorLocationProvider: {fileID: 114275890671072080}
+  _transformLocationProvider: {fileID: 114011132729224596}
+  _dontDestroyOnLoad: 0
+--- !u!114 &114658503893516242
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1638059881744458}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6b5c815d91f9d4c3690891f3ed4c3162, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 1
+  _sendEvent: 0
+  _latitudeLongitude:
+  - 48.859489, 2.32000
+  - 48.859489, 2.32015
+  - 48.859489, 2.32030
+  - 48.859489, 2.32045
+  - 48.859489, 2.32060
+  _heading: 112
+--- !u!114 &114668955501623132
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1065618987163410}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 061d2afb48ace4fd19611279b6cf732f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _useDeviceOrientation: 0
+  _subtractUserHeading: 0
+  _rotationFollowFactor: 2
+  _rotateZ: 0
+  _useNegativeAngle: 0
+  _useTransformLocationProvider: 0
+--- !u!114 &114693865358142148
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1955583132415804}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6843ccbf70c208645a89b4c8c37a4ecf, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!114 &114811608996724456
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1890051226035590}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a38712e93231418a84665190b8473d0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _desiredAccuracyInMeters: 1
+  _updateDistanceInMeters: 0.5
+  _updateTimeInMilliSeconds: 500
+  _userHeadingSmoothing: {fileID: 114005716392592828}
+  _deviceOrientationSmoothing: {fileID: 114338581737783854}
+  _editorDebuggingOnly:
+    _mockUnityInputLocation: 1
+    _locationLogFile: {fileID: 4900000, guid: 5e6bb7224cef35c4788a4817b1c9778d, type: 3}
+--- !u!114 &114884900018957070
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1794436748899412}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1ea49ff9cb53e9b44b5fa981d0009588, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!135 &135296336305408694
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625832438174652}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/LocationBasedGame.prefab.meta b/T3-Unity/Assets/Mapbox/Prefabs/LocationBasedGame.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f512e74751abe3486c16d3061dc0850009488eb4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/LocationBasedGame.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 35ce2bb4caba9434db5e656796b632b1
+timeCreated: 1528956514
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/LocationProviderFactory.prefab b/T3-Unity/Assets/Mapbox/Prefabs/LocationProviderFactory.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..7d60a485d0e4c3705bbc0f2c9941c22d404cd66f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/LocationProviderFactory.prefab
@@ -0,0 +1,549 @@
+%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: 1605400046471130}
+  m_IsPrefabParent: 1
+--- !u!1 &1072194836493600
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4547357477629274}
+  - component: {fileID: 114665743543917518}
+  m_Layer: 0
+  m_Name: OrientationSmoothingLowPass
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1126074346445138
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4571334280868920}
+  - component: {fileID: 114189903949029994}
+  m_Layer: 0
+  m_Name: EditorLocationArrayProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1138706396882392
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4040343670449964}
+  - component: {fileID: 114050834106129140}
+  m_Layer: 0
+  m_Name: OrientationSmoothingNoOperation
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1334597763213690
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4831568114114072}
+  - component: {fileID: 114346689834948578}
+  m_Layer: 0
+  m_Name: EditorLocationProviderLocationLog
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1359982225887012
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4976591158707796}
+  - component: {fileID: 114889913300336898}
+  m_Layer: 0
+  m_Name: HeadingSmoothingLowPass
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1461356201740360
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4657526369587342}
+  - component: {fileID: 114585386640868846}
+  m_Layer: 0
+  m_Name: OrientationSmoothingAverage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1547503680519440
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4327817087063852}
+  - component: {fileID: 114545591127719896}
+  m_Layer: 0
+  m_Name: HeadingSmoothingNoOperation
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1547511233063230
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4298281135474838}
+  - component: {fileID: 114511931985414354}
+  m_Layer: 0
+  m_Name: DefaultDeviceLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1560769821367572
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4384223496714738}
+  - component: {fileID: 114312242556060558}
+  m_Layer: 0
+  m_Name: AndroidDeviceLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1605400046471130
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4806497037511362}
+  - component: {fileID: 114834956557871126}
+  m_Layer: 0
+  m_Name: LocationProviderFactory
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1769576109208534
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4197629483137308}
+  - component: {fileID: 114061583707577078}
+  m_Layer: 0
+  m_Name: TransformLocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1882429956169314
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4698310142003876}
+  - component: {fileID: 114924954806116516}
+  m_Layer: 0
+  m_Name: HeadingSmoothingAverage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4040343670449964
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1138706396882392}
+  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: 4298281135474838}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4197629483137308
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1769576109208534}
+  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: 4806497037511362}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4298281135474838
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1547511233063230}
+  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:
+  - {fileID: 4327817087063852}
+  - {fileID: 4698310142003876}
+  - {fileID: 4976591158707796}
+  - {fileID: 4040343670449964}
+  - {fileID: 4657526369587342}
+  - {fileID: 4547357477629274}
+  m_Father: {fileID: 4806497037511362}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4327817087063852
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1547503680519440}
+  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: 4298281135474838}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4384223496714738
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560769821367572}
+  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: 4806497037511362}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4547357477629274
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1072194836493600}
+  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: 4298281135474838}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4571334280868920
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1126074346445138}
+  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: 4806497037511362}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4657526369587342
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1461356201740360}
+  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: 4298281135474838}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4698310142003876
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1882429956169314}
+  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: 4298281135474838}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4806497037511362
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1605400046471130}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -18.677399, y: 12.257265, z: 21.646572}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4298281135474838}
+  - {fileID: 4571334280868920}
+  - {fileID: 4197629483137308}
+  - {fileID: 4384223496714738}
+  - {fileID: 4831568114114072}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4831568114114072
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1334597763213690}
+  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: 4806497037511362}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4976591158707796
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1359982225887012}
+  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: 4298281135474838}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114050834106129140
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1138706396882392}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1ea49ff9cb53e9b44b5fa981d0009588, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!114 &114061583707577078
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1769576109208534}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a034c4eeb3293418aab101c1895844a4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 0
+  _autoFireEvent: 0
+  _updateInterval: 0
+  _sendEvent: 0
+  _targetTransform: {fileID: 0}
+--- !u!114 &114189903949029994
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1126074346445138}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6b5c815d91f9d4c3690891f3ed4c3162, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 1
+  _sendEvent: 0
+  _latitudeLongitude:
+  - 48.859489, 2.32000
+  - 48.859489, 2.32015
+  - 48.859489, 2.32030
+  - 48.859489, 2.32045
+  - 48.859489, 2.32060
+  _heading: 112
+--- !u!114 &114312242556060558
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560769821367572}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d3d557417079b1446999d2d86ff71dfb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _updateDistanceInMeters: 0.5
+  _updateTimeInMilliSeconds: 500
+--- !u!114 &114346689834948578
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1334597763213690}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: beed7ad1e12d3434a943d5fb6807cb6d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 0
+  _autoFireEvent: 1
+  _updateInterval: 500
+  _sendEvent: 0
+  _locationLogFile: {fileID: 4900000, guid: 5e6bb7224cef35c4788a4817b1c9778d, type: 3}
+--- !u!114 &114511931985414354
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1547511233063230}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a38712e93231418a84665190b8473d0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _desiredAccuracyInMeters: 1
+  _updateDistanceInMeters: 0.5
+  _updateTimeInMilliSeconds: 500
+  _userHeadingSmoothing: {fileID: 114889913300336898}
+  _deviceOrientationSmoothing: {fileID: 114665743543917518}
+  _editorDebuggingOnly:
+    _mockUnityInputLocation: 1
+    _locationLogFile: {fileID: 4900000, guid: 5e6bb7224cef35c4788a4817b1c9778d, type: 3}
+--- !u!114 &114545591127719896
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1547503680519440}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1ea49ff9cb53e9b44b5fa981d0009588, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
+--- !u!114 &114585386640868846
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1461356201740360}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6843ccbf70c208645a89b4c8c37a4ecf, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 10
+--- !u!114 &114665743543917518
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1072194836493600}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5bc20e719eeb82d448d4698d29d526c0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 7
+  _smoothingFactor: 0.5
+--- !u!114 &114834956557871126
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1605400046471130}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b55f37f9a6f7e44f7bb35e6bc3863847, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  mapManager: {fileID: 0}
+  _deviceLocationProviderUnity: {fileID: 114511931985414354}
+  _deviceLocationProviderAndroid: {fileID: 114312242556060558}
+  _editorLocationProvider: {fileID: 114346689834948578}
+  _transformLocationProvider: {fileID: 114061583707577078}
+  _dontDestroyOnLoad: 0
+--- !u!114 &114889913300336898
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1359982225887012}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5bc20e719eeb82d448d4698d29d526c0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 2
+  _smoothingFactor: 0.009999999776482582
+--- !u!114 &114924954806116516
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1882429956169314}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6843ccbf70c208645a89b4c8c37a4ecf, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _measurements: 5
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/LocationProviderFactory.prefab.meta b/T3-Unity/Assets/Mapbox/Prefabs/LocationProviderFactory.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ac81e0070c7e288c37c2cdc477f54736ecdad86a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/LocationProviderFactory.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fa49ad38da3e540fca722d2ca9e1d026
+timeCreated: 1528956679
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/Map.prefab b/T3-Unity/Assets/Mapbox/Prefabs/Map.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..8378b52e064b968c24771eb6fcaf052c54eea83b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/Map.prefab
@@ -0,0 +1,185 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1257486800756004
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4867834046800562}
+  - component: {fileID: 114478715909612932}
+  m_Layer: 0
+  m_Name: Map
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4867834046800562
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1257486800756004}
+  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:
+  - {fileID: 1846876389875734023}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114478715909612932
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1257486800756004}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 48.57333, 7.75222
+      zoom: 15
+    extentOptions:
+      extentType: 1
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+    tileMaterial: {fileID: 2100000, guid: b9f23e9bce724fa4daac57ecded470b8, type: 2}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 1
+        useCompression: 0
+        useMipMap: 1
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 1
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames: []
+      _sourceType: 1
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Terrain
+          Id: mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers: []
+      locationPrefabList: []
+  _tileProvider: {fileID: 3463730844640051098}
+  _previewOptions:
+    isPreviewEnabled: 1
+--- !u!1 &8032358286642377195
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1846876389875734023}
+  - component: {fileID: 3463730844640051098}
+  m_Layer: 0
+  m_Name: TileProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1846876389875734023
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8032358286642377195}
+  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: 4867834046800562}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3463730844640051098
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8032358286642377195}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7d7ff8ed3b76a4ee5a451d64a5393e3f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/Map.prefab.meta b/T3-Unity/Assets/Mapbox/Prefabs/Map.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e96951e31badf0286ab8af8c12914f44c66fcbbe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/Map.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e6b749c6d877f4c19a5a5c3c0783d53b
+timeCreated: 1520535134
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/Player.prefab b/T3-Unity/Assets/Mapbox/Prefabs/Player.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..aa065947c64acec0613a2a6a5735c753c459a5fe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/Player.prefab
@@ -0,0 +1,238 @@
+%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: 1111785780636424}
+  m_IsPrefabParent: 1
+--- !u!1 &1111785780636424
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4895895357916372}
+  - component: {fileID: 114150699017918456}
+  - component: {fileID: 114909627013365610}
+  m_Layer: 0
+  m_Name: Player
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1138502710912304
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4614660974660258}
+  - component: {fileID: 33915310404607778}
+  - component: {fileID: 135225253641546306}
+  - component: {fileID: 23237265919546434}
+  m_Layer: 0
+  m_Name: Sphere
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1534900271134446
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4384392236184240}
+  - component: {fileID: 33393011270884676}
+  - component: {fileID: 65522443254307020}
+  - component: {fileID: 23696350353452674}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4384392236184240
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1534900271134446}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1.5, z: 0}
+  m_LocalScale: {x: 1, y: 3, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4895895357916372}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4614660974660258
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1138502710912304}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 4.14, z: 0}
+  m_LocalScale: {x: 2, y: 2, z: 2}
+  m_Children: []
+  m_Father: {fileID: 4895895357916372}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4895895357916372
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1111785780636424}
+  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:
+  - {fileID: 4384392236184240}
+  - {fileID: 4614660974660258}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23237265919546434
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1138502710912304}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: caa6c6f6f7879034992a27a6bc3794fd, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23696350353452674
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1534900271134446}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: caa6c6f6f7879034992a27a6bc3794fd, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33393011270884676
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1534900271134446}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33915310404607778
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1138502710912304}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65522443254307020
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1534900271134446}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &114150699017918456
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1111785780636424}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7760043eea2cd452ba7117f2c97e0038, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114909627013365610
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1111785780636424}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 061d2afb48ace4fd19611279b6cf732f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _rotationFollowFactor: 2
+  _rotateZ: 0
+  _useTransformLocationProvider: 0
+--- !u!135 &135225253641546306
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1138502710912304}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Prefabs/Player.prefab.meta b/T3-Unity/Assets/Mapbox/Prefabs/Player.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f0d62fa74e04076c76f01ef2bd8323d0daefcac3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Prefabs/Player.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 18593aeac18474b49bebac9e072ef2ab
+timeCreated: 1511288923
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/README.txt b/T3-Unity/Assets/Mapbox/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..77a1996a2186686c4a64dda4e982eae4d187b8bb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/README.txt
@@ -0,0 +1,23 @@
+Thank you for downloading the Mapbox Unity SDK (for Unity 2017.4.2+)!
+
+
+Getting started: https://www.mapbox.com/unity-sdk/overview/#getting-started
+
+Tutorials: https://www.mapbox.com/unity-sdk/tutorials/
+
+Known Issues: https://www.mapbox.com/mapbox-unity-sdk/docs/02-known-issues.html
+
+API: https://www.mapbox.com/mapbox-unity-sdk/api/
+
+
+
+Current version: 2.0.1, as of December 21st, 2018
+
+Changelog: https://www.mapbox.com/mapbox-unity-sdk/docs/05-changelog.html
+
+IMPORTANT:
+If you intend to deploy for Android, please set your minimum version to 15 in PlayerSettings.
+For iOS, please set your minimum version to 8.
+
+If you have any other issues or feedback, please contact us at https://www.mapbox.com/contact/
+or check our public repository: https://github.com/mapbox/mapbox-unity-sdk/issues.
diff --git a/T3-Unity/Assets/Mapbox/README.txt.meta b/T3-Unity/Assets/Mapbox/README.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4fa58b4362782276451713ecc70433225938403c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/README.txt.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0ae487f330dd3406f827bfa400c2d056
+timeCreated: 1480534669
+licenseType: Free
+TextScriptImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources.meta b/T3-Unity/Assets/Mapbox/Resources.meta
new file mode 100644
index 0000000000000000000000000000000000000000..67fa5db1132dd20fd0dbcea579f461118ffeef0d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5a5e985e7333443019481a23949c6167
+folderAsset: yes
+timeCreated: 1512679461
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..727dd4623fd833501d364ad99106ab95314556b1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9178b7d22c68b40698f6671a9b515cd6
+folderAsset: yes
+timeCreated: 1530553239
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0312042b1a5917dc3270c8179bd6f421ac3388b9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ae743a21163124bab8f611a46caf78da
+folderAsset: yes
+timeCreated: 1530553530
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/HeroStructureDefault.mat b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/HeroStructureDefault.mat
new file mode 100644
index 0000000000000000000000000000000000000000..b02ffb86bc52699189489936b1e4dfcea4dcd0bb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/HeroStructureDefault.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: HeroStructureDefault
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.225
+    - _GlossyReflections: 1
+    - _Metallic: 0.094
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.9117647, g: 0.9117647, b: 0.9117647, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/HeroStructureDefault.mat.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/HeroStructureDefault.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e827f87385355df7d1b80ce65039615015eeb6ac
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/HeroStructureDefault.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 3db77ee4b81b0439eb9843d7706d832d
+timeCreated: 1532463884
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBase.mat b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBase.mat
new file mode 100644
index 0000000000000000000000000000000000000000..531efe66365b4b043fcf109b18e156c14ef30ab0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBase.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: StatueOfLibertyBase
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.85882354, g: 0.75686276, b: 0.6784314, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBase.mat.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBase.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..09d74301cad1bd7018b0ef5252c00a4df137925e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBase.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 07e8a1a7dedf44e8180a04f153bb8f93
+timeCreated: 1532463884
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBody.mat b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBody.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a4e5588edb6ba2dcec0c663d04a250710f95ee9f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBody.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: StatueOfLibertyBody
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.49019608, g: 0.87058824, b: 0.8392157, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBody.mat.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBody.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..922a5b098e053ef9a3cad91b1a7954e22c62c8c2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Materials/StatueOfLibertyBody.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b06e58202ed324d33ad23577d5f69e5d
+timeCreated: 1532463884
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ef850477bf690725835c1144d46e707247c33f3d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1d96b7bd1cf684b818a131d85cc919ac
+folderAsset: yes
+timeCreated: 1530553522
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/ChryslerBuilding.fbx b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/ChryslerBuilding.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..51af28526ea8acb5461612f636a450d328c6cdca
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/ChryslerBuilding.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/ChryslerBuilding.fbx.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/ChryslerBuilding.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f1f1bc324c35dd21116d30969faa4c17d0a720a8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/ChryslerBuilding.fbx.meta
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 9ef00dc880db74fa2a52720b0b7b3c13
+timeCreated: 1533836370
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: ChryslerBuilding
+    100002: //RootNode
+    400000: ChryslerBuilding
+    400002: //RootNode
+    2100000: lambert1
+    2300000: ChryslerBuilding
+    3300000: ChryslerBuilding
+    4300000: ChryslerBuilding
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 0.01
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/CoitTower.fbx b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/CoitTower.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..bf604673efcfe3b50d7d3827a95e371f0269446d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/CoitTower.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/CoitTower.fbx.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/CoitTower.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d39d9065a4524c4a660fd33dfd0191e48301e75d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/CoitTower.fbx.meta
@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: 3b08328d5fd4f45b38052b68b9e3b74e
+timeCreated: 1533836370
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: lambert1
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: CoitTower
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 0.01
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/EmpireStateBuilding.fbx b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/EmpireStateBuilding.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..5a4c930dc5991523bd259a5e2c6aab6fe0c34c5a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/EmpireStateBuilding.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/EmpireStateBuilding.fbx.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/EmpireStateBuilding.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c1cfc2aa9570fea441a3a7bf317633ef76b00195
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/EmpireStateBuilding.fbx.meta
@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: 5a2fea3a89fae4f97b0661209286d9b9
+timeCreated: 1533836370
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: lambert1
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: Empire_State_Building1
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 0.01
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/OneWorldTradeCenter.fbx b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/OneWorldTradeCenter.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..3c8edc6d795ace63842d15bff49b05c98ad9ce54
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/OneWorldTradeCenter.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/OneWorldTradeCenter.fbx.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/OneWorldTradeCenter.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..60870c34b7c6cb26ebeead26a45f43a8ec1a09cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/OneWorldTradeCenter.fbx.meta
@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: 891973e6c0cc14d778d0090973a4ac11
+timeCreated: 1533836370
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: lambert1
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: OneWorldTradeCenter
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 0.01
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/SalesForceTower.fbx b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/SalesForceTower.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..c67c4e0f35a9b2147967820605ba708bb864a8eb
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/SalesForceTower.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/SalesForceTower.fbx.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/SalesForceTower.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b3c37db32d21e090baa3d9a09db16780c1f0a184
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/SalesForceTower.fbx.meta
@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: 2fb8615dbc67e43d081d04d16aa37949
+timeCreated: 1533836370
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: lambert1
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: SalesForceTower
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 0.01
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/StatueofLiberty.fbx b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/StatueofLiberty.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..f8623180d5876fb6e4c3c898c05c7f7af7310bfe
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/StatueofLiberty.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/StatueofLiberty.fbx.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/StatueofLiberty.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f4c82b49fd20c406d0811e4075cfe5798c9e686d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/StatueofLiberty.fbx.meta
@@ -0,0 +1,95 @@
+fileFormatVersion: 2
+guid: 76087a3bd0f174964bbe71a0a9c5386d
+timeCreated: 1533836370
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: Base
+    2100002: Statue
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: polySurface5
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 0.01
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/TransamericaPyramid.fbx b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/TransamericaPyramid.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..59d8886745be9454448873f3fa2a3208249def0a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/TransamericaPyramid.fbx differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/TransamericaPyramid.fbx.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/TransamericaPyramid.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d66e422310da4b2316f4389122ebb3cadb1491da
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Meshes/TransamericaPyramid.fbx.meta
@@ -0,0 +1,94 @@
+fileFormatVersion: 2
+guid: 7484dc0391f0f4984979c271ba6db225
+timeCreated: 1533836370
+licenseType: Pro
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: //RootNode
+    400000: //RootNode
+    2100000: lambert1
+    2300000: //RootNode
+    3300000: //RootNode
+    4300000: TransamericaPyramid
+    9500000: //RootNode
+  externalObjects: {}
+  materials:
+    importMaterials: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 0.01
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9bcbe011318152fc7aa5c8634a6020d269912453
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: af13ce38a0c2e411b970988ff7f3ce19
+folderAsset: yes
+timeCreated: 1532023164
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers/ReplaceGlobalHeroStructuresModifier.asset b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers/ReplaceGlobalHeroStructuresModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f134324b934959dd83abde162529de83926c50eb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers/ReplaceGlobalHeroStructuresModifier.asset
@@ -0,0 +1,87 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 13ade7ea2a146442b9575619cf724737, type: 3}
+  m_Name: ReplaceGlobalHeroStructuresModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  features:
+  - Name: TransamericaPyramid
+    active: 1
+    prefab: {fileID: 1149413301708452, guid: 6310371eff51a7344b94c2d1bd6659ee, type: 2}
+    scaleDownWithWorld: 1
+    _prefabLocations:
+    - 37.795135, -122.402748
+    _explicitlyBlockedFeatureIds:
+    - 1366159871
+    - 4513368931
+    - 4513368981
+    - 4513368951
+  - Name: CoitTower
+    active: 1
+    prefab: {fileID: 1557681104471738, guid: 2cb306508c053344ea5fbc519cdcff79, type: 2}
+    scaleDownWithWorld: 1
+    _prefabLocations:
+    - 37.8024, -122.405833
+    _explicitlyBlockedFeatureIds: []
+  - Name: SalesForceTower
+    active: 1
+    prefab: {fileID: 1410376122861786, guid: 8c4fae6310db68849ad95d5e92cd30fe, type: 2}
+    scaleDownWithWorld: 1
+    _prefabLocations:
+    - 37.7898526,-122.3972425
+    _explicitlyBlockedFeatureIds:
+    - 4319721861
+  - Name: EmpireStateBuilding
+    active: 1
+    prefab: {fileID: 1158024974015050, guid: f845fd35405547d4ca0a433a01c502c4, type: 2}
+    scaleDownWithWorld: 1
+    _prefabLocations:
+    - 40.748333333333, -73.985277777778
+    _explicitlyBlockedFeatureIds:
+    - 20989694
+    - 2659326181
+    - 1374251251
+    - 1374251271
+    - 1374251281
+    - 1374251291
+    - 1374251421
+    - 1374251331
+    - 1374251441
+    - 346338541
+    - 1374251311
+  - Name: ChryslerBuilding
+    active: 1
+    prefab: {fileID: 1858286666362292, guid: aedce91c327268742b81a28f40485857, type: 2}
+    scaleDownWithWorld: 1
+    _prefabLocations:
+    - 40.751622, -73.975333
+    _explicitlyBlockedFeatureIds: []
+  - Name: OneWorldTradeCenter
+    active: 1
+    prefab: {fileID: 1969484294415250, guid: 23006cc4ad4e90e47a00d5e992fa9c9e, type: 2}
+    scaleDownWithWorld: 1
+    _prefabLocations:
+    - 40.713, -74.0135
+    _explicitlyBlockedFeatureIds:
+    - 2410292511
+    - 2410292491
+    - 2410292501
+    - 2410292521
+    - 1472299781
+    - 2410292531
+    - 2410292481
+  - Name: StatueofLiberty
+    active: 1
+    prefab: {fileID: 1512981436160018, guid: 810c08d90875e4d2cab1a96f8a2edba4, type: 2}
+    scaleDownWithWorld: 1
+    _prefabLocations:
+    - 40.6892, -74.0445
+    _explicitlyBlockedFeatureIds: []
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers/ReplaceGlobalHeroStructuresModifier.asset.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers/ReplaceGlobalHeroStructuresModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0e4238cc1fccaf03eac109c29cb4c207f4c4db05
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Modifiers/ReplaceGlobalHeroStructuresModifier.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9cc65532303e9448e8ecbe284fc7f035
+timeCreated: 1530571520
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2a91261a6c417f1143802bc6677f45589a4f7e76
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 08406fe564d624dd69736f93927fe214
+folderAsset: yes
+timeCreated: 1531262326
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/ChryslerBuilding.prefab b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/ChryslerBuilding.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..1aaa88269846e4be15134954b175d9564a08afc8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/ChryslerBuilding.prefab
@@ -0,0 +1,84 @@
+%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: 1858286666362292}
+  m_IsPrefabParent: 1
+--- !u!1 &1858286666362292
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4566927207667822}
+  - component: {fileID: 33006862733243482}
+  - component: {fileID: 23603956348938526}
+  m_Layer: 0
+  m_Name: ChryslerBuilding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4566927207667822
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1858286666362292}
+  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}
+--- !u!23 &23603956348938526
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1858286666362292}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 3db77ee4b81b0439eb9843d7706d832d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33006862733243482
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1858286666362292}
+  m_Mesh: {fileID: 4300000, guid: 9ef00dc880db74fa2a52720b0b7b3c13, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/ChryslerBuilding.prefab.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/ChryslerBuilding.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e97394f3be79753818a057bd7c83d111e66677a6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/ChryslerBuilding.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: aedce91c327268742b81a28f40485857
+timeCreated: 1531516298
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/CoitTower.prefab b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/CoitTower.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..08519ce8356ec03e554730e9b84bb34f4758c459
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/CoitTower.prefab
@@ -0,0 +1,84 @@
+%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: 1557681104471738}
+  m_IsPrefabParent: 1
+--- !u!1 &1557681104471738
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4344938401925126}
+  - component: {fileID: 33074883412325742}
+  - component: {fileID: 23057148553458214}
+  m_Layer: 0
+  m_Name: CoitTower
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4344938401925126
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1557681104471738}
+  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}
+--- !u!23 &23057148553458214
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1557681104471738}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 3db77ee4b81b0439eb9843d7706d832d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33074883412325742
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1557681104471738}
+  m_Mesh: {fileID: 4300000, guid: 3b08328d5fd4f45b38052b68b9e3b74e, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/CoitTower.prefab.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/CoitTower.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5a2929d2fda63a8bffd37547c9e5da55a08d1a8d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/CoitTower.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2cb306508c053344ea5fbc519cdcff79
+timeCreated: 1533837084
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/EmpireStateBuilding.prefab b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/EmpireStateBuilding.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..bdf4bf92c72fbe7fe7550d1d02355d12ece83b61
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/EmpireStateBuilding.prefab
@@ -0,0 +1,84 @@
+%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: 1158024974015050}
+  m_IsPrefabParent: 1
+--- !u!1 &1158024974015050
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4729132199128288}
+  - component: {fileID: 33080274549203546}
+  - component: {fileID: 23730308311450780}
+  m_Layer: 0
+  m_Name: EmpireStateBuilding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4729132199128288
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1158024974015050}
+  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}
+--- !u!23 &23730308311450780
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1158024974015050}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 3db77ee4b81b0439eb9843d7706d832d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33080274549203546
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1158024974015050}
+  m_Mesh: {fileID: 4300000, guid: 5a2fea3a89fae4f97b0661209286d9b9, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/EmpireStateBuilding.prefab.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/EmpireStateBuilding.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a67ba383f19a50cf2c292cf086ebd5850c7df977
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/EmpireStateBuilding.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f845fd35405547d4ca0a433a01c502c4
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/OneWorldTradeCenter.prefab b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/OneWorldTradeCenter.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..06d55744167239cf13f5df1374b74859e1709db7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/OneWorldTradeCenter.prefab
@@ -0,0 +1,84 @@
+%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: 1969484294415250}
+  m_IsPrefabParent: 1
+--- !u!1 &1969484294415250
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4722413474237250}
+  - component: {fileID: 33903844087798318}
+  - component: {fileID: 23122515962132876}
+  m_Layer: 0
+  m_Name: OneWorldTradeCenter
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4722413474237250
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1969484294415250}
+  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}
+--- !u!23 &23122515962132876
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1969484294415250}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 3db77ee4b81b0439eb9843d7706d832d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33903844087798318
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1969484294415250}
+  m_Mesh: {fileID: 4300000, guid: 891973e6c0cc14d778d0090973a4ac11, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/OneWorldTradeCenter.prefab.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/OneWorldTradeCenter.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..84fd14410a6c89ff4c39e531e24c8ab7bd115ef6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/OneWorldTradeCenter.prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 23006cc4ad4e90e47a00d5e992fa9c9e
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/SalesForceTower.prefab b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/SalesForceTower.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..d92cccffcadbd725fd7ed60b17d8bf1576219feb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/SalesForceTower.prefab
@@ -0,0 +1,84 @@
+%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: 1410376122861786}
+  m_IsPrefabParent: 1
+--- !u!1 &1410376122861786
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4398265057899486}
+  - component: {fileID: 33621496149832244}
+  - component: {fileID: 23170822393837704}
+  m_Layer: 0
+  m_Name: SalesForceTower
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4398265057899486
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1410376122861786}
+  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}
+--- !u!23 &23170822393837704
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1410376122861786}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 3db77ee4b81b0439eb9843d7706d832d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33621496149832244
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1410376122861786}
+  m_Mesh: {fileID: 4300000, guid: 2fb8615dbc67e43d081d04d16aa37949, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/SalesForceTower.prefab.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/SalesForceTower.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4c5311c7baf0eb13359793fc906e5a4d348eee20
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/SalesForceTower.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8c4fae6310db68849ad95d5e92cd30fe
+timeCreated: 1533837091
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/StatueofLiberty.prefab b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/StatueofLiberty.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..35f8ad150f35ec7aed7eb5f223b6b164f0b70ca4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/StatueofLiberty.prefab
@@ -0,0 +1,103 @@
+%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: 1512981436160018}
+  m_IsPrefabParent: 1
+--- !u!1 &1512981436160018
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4735128613251444}
+  - component: {fileID: 33104524246768286}
+  - component: {fileID: 23030472429036658}
+  - component: {fileID: 95731898682986650}
+  m_Layer: 0
+  m_Name: StatueofLiberty
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4735128613251444
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1512981436160018}
+  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}
+--- !u!23 &23030472429036658
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1512981436160018}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 07e8a1a7dedf44e8180a04f153bb8f93, type: 2}
+  - {fileID: 2100000, guid: b06e58202ed324d33ad23577d5f69e5d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33104524246768286
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1512981436160018}
+  m_Mesh: {fileID: 4300000, guid: 76087a3bd0f174964bbe71a0a9c5386d, type: 3}
+--- !u!95 &95731898682986650
+Animator:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1512981436160018}
+  m_Enabled: 1
+  m_Avatar: {fileID: 9000000, guid: 76087a3bd0f174964bbe71a0a9c5386d, type: 3}
+  m_Controller: {fileID: 0}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/StatueofLiberty.prefab.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/StatueofLiberty.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7cdd1e9464463a5b0a1650498ae95ccacf3bd603
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/StatueofLiberty.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 810c08d90875e4d2cab1a96f8a2edba4
+timeCreated: 1533840962
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/TransamericaPyramid.prefab b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/TransamericaPyramid.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..0b3ddf6f3e8ce03924fafe1cee50660fca3a5e52
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/TransamericaPyramid.prefab
@@ -0,0 +1,84 @@
+%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: 1149413301708452}
+  m_IsPrefabParent: 1
+--- !u!1 &1149413301708452
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4122525094766956}
+  - component: {fileID: 33699940909911056}
+  - component: {fileID: 23004653334368634}
+  m_Layer: 0
+  m_Name: TransamericaPyramid
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4122525094766956
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1149413301708452}
+  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}
+--- !u!23 &23004653334368634
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1149413301708452}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 3db77ee4b81b0439eb9843d7706d832d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33699940909911056
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1149413301708452}
+  m_Mesh: {fileID: 4300000, guid: 7484dc0391f0f4984979c271ba6db225, type: 3}
diff --git a/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/TransamericaPyramid.prefab.meta b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/TransamericaPyramid.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8f23d9f7a67fbbe9016ec260d65cfccde2da892b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/HeroStructures/Prefabs/TransamericaPyramid.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6310371eff51a7344b94c2d1bd6659ee
+timeCreated: 1533837088
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d7d2c1ad3c788280f8434e98d10b9024cbd6813b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6c37bc97c80774f8aa0cb426d0f87ab5
+folderAsset: yes
+timeCreated: 1512672366
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabList.asset b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabList.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e1dae39ef8b1a1e695172db93089e5e8ffbff628
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabList.asset
@@ -0,0 +1,108 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c331d4375e95e4050aadbf5ed3492bba, type: 3}
+  m_Name: PrefabList
+  m_EditorClassIdentifier: 
+  SceneList:
+  - {fileID: 114897919769560758}
+  - {fileID: 114727026839306020}
+  - {fileID: 114308819730444958}
+  - {fileID: 114247311498626294}
+--- !u!114 &114128613080724838
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: ManualWorldSynchronization
+  m_EditorClassIdentifier: 
+  Name: ManualWorldSynchronization
+  ScenePath: Assets/MapboxAR/Examples/Scenes/ManualWorldSynchronization.unity
+  Image: {fileID: 2800000, guid: ef67c027bc2d14df2b999b22b8ca13cb, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114247311498626294
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: AutomaticWorldSynchronization
+  m_EditorClassIdentifier: 
+  Name: WorldScaleAR
+  ScenePath: Assets/MapboxAR/Examples/Scenes/WorldScaleAR.unity
+  Image: {fileID: 2800000, guid: 544693615a8f3459c94a0a5a8930a702, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114308819730444958
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: ARTabletopScene
+  m_EditorClassIdentifier: 
+  Name: TabletopAR
+  ScenePath: Assets/MapboxAR/Examples/Scenes/TabletopAR.unity
+  Image: {fileID: 2800000, guid: e96036a81f146439cb33587e192539c7, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114700025974298426
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: LocationBasedGame
+  m_EditorClassIdentifier: 
+  Name: Location-based Game
+  ScenePath: Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity
+  Image: {fileID: 2800000, guid: b9da555a2df00402d86244517dae835a, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114727026839306020
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: CitySimulator
+  m_EditorClassIdentifier: 
+  Name: City Simulator
+  ScenePath: Assets/Mapbox/Examples/0_PrefabScenes/CitySimulator.unity
+  Image: {fileID: 2800000, guid: 53e90d032a2624ab1801469b8ce804e4, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114897919769560758
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: Location-basedGame
+  m_EditorClassIdentifier: 
+  Name: Location-based Game
+  ScenePath: Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity
+  Image: {fileID: 2800000, guid: b9da555a2df00402d86244517dae835a, type: 3}
+  Text: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabList.asset.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabList.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4e9dbe9247c888e1c6cdf0950fe408896ce8d988
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabList.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8d2ff5cb743b345f4a7ff8b3cdc69f27
+timeCreated: 1521183682
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9778a31f07ccc011b9e91fba65e1cc8c506dc1b7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a56e2b9138ca147588d8b25dd640a830
+folderAsset: yes
+timeCreated: 1521145003
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/CitySimulator.gif b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/CitySimulator.gif
new file mode 100644
index 0000000000000000000000000000000000000000..be34291e4d9d48e2b7e046747acd6780bccf3774
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/CitySimulator.gif differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/CitySimulator.gif.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/CitySimulator.gif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f5f646d39ca4b05f3e88f7a24b587009a41479b7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/CitySimulator.gif.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 53e90d032a2624ab1801469b8ce804e4
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: fe078f204153970459e9996f88660484
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/Location-basedGame.gif b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/Location-basedGame.gif
new file mode 100644
index 0000000000000000000000000000000000000000..40c421f53b0a5f7b3d5df17b51bc3606a20a02da
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/Location-basedGame.gif differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/Location-basedGame.gif.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/Location-basedGame.gif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b4861e33e1ffb334c67c5ab18a22322bf1f5d774
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/Location-basedGame.gif.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: b9da555a2df00402d86244517dae835a
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 92ce3fd469f49a84c889b53a9f12d5c3
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/TabletopAR.gif b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/TabletopAR.gif
new file mode 100644
index 0000000000000000000000000000000000000000..445e736c53298c088f5cc5ed2f73efdd9afe325a
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/TabletopAR.gif differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/TabletopAR.gif.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/TabletopAR.gif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6120516483ff5bb7d7f2d99576d85d1bd874fe82
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/TabletopAR.gif.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: e96036a81f146439cb33587e192539c7
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 6ce884b091a6b764d88525875830e27d
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/WorldScaleAR.gif b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/WorldScaleAR.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8744eb2b25b6772052fde5b10d243ea8e40b7321
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/WorldScaleAR.gif differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/WorldScaleAR.gif.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/WorldScaleAR.gif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0e287912a52092cb5bd4eb84731b8d0c9c5d53c5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/WorldScaleAR.gif.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 544693615a8f3459c94a0a5a8930a702
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 20ef4a4e73f3884428dbcdae70fe2bd7
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/placeholder.png b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/placeholder.png
new file mode 100644
index 0000000000000000000000000000000000000000..e585a7abb6a3aeb6b6e28a1969301cd70db2690c
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/placeholder.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/placeholder.png.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/placeholder.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cefedcd9934826646680f92f8de77d2d1055db75
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/PrefabScreens/placeholder.png.meta
@@ -0,0 +1,117 @@
+fileFormatVersion: 2
+guid: ef67c027bc2d14df2b999b22b8ca13cb
+timeCreated: 1521143578
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: iPhone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Android
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: WebGL
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/ScenesList.asset b/T3-Unity/Assets/Mapbox/Resources/Mapbox/ScenesList.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e7901b58b3e78611e6092b59fb13a1bbdc5a430c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/ScenesList.asset
@@ -0,0 +1,334 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c331d4375e95e4050aadbf5ed3492bba, type: 3}
+  m_Name: ScenesList
+  m_EditorClassIdentifier: 
+  SceneList:
+  - {fileID: 114778326577532556}
+  - {fileID: 0}
+  - {fileID: 114867299411580208}
+  - {fileID: 114677639717397690}
+  - {fileID: 114502121280561658}
+  - {fileID: 114578278320698056}
+  - {fileID: 114771648504718328}
+  - {fileID: 114276195077856018}
+  - {fileID: 114065962956837788}
+  - {fileID: 114604153191931578}
+  - {fileID: 114601058624558330}
+  - {fileID: 114515002572569922}
+  - {fileID: 114605066102793998}
+  - {fileID: 114832298713168932}
+  - {fileID: 114562083331774168}
+  - {fileID: 114481292457269868}
+  - {fileID: 114261525222947302}
+  - {fileID: 114873904952696824}
+  - {fileID: 114095059372530020}
+  - {fileID: 114545493278003882}
+--- !u!114 &114065962956837788
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: Directions
+  m_EditorClassIdentifier: 
+  Name: Directions
+  ScenePath: Assets/Mapbox/Examples/5_Playground/Scenes/Directions.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114095059372530020
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: WorldScaleAR-ManualAlignment
+  m_EditorClassIdentifier: 
+  Name: WorldScaleAR-ManualAlignment
+  ScenePath: Assets/MapboxAR/Examples/Scenes/WorldScaleAR-ManualAlignment.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114261525222947302
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: VoxelMap
+  m_EditorClassIdentifier: 
+  Name: VoxelMap
+  ScenePath: Assets/Mapbox/Examples/8_VoxelMap/VoxelMap.unity
+  Image: {fileID: 2800000, guid: 805ed9e7e2bcd4071bd22b135125a912, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114276195077856018
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: ReplaceFeatures
+  m_EditorClassIdentifier: 
+  Name: ReplaceFeatures
+  ScenePath: Assets/Mapbox/Examples/4_ReplaceFeatures/ReplaceFeatures.unity
+  Image: {fileID: 2800000, guid: 81e4425f6c22e497d9f87b864accb082, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114481292457269868
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: Globe
+  m_EditorClassIdentifier: 
+  Name: Globe
+  ScenePath: Assets/Mapbox/Examples/7_Globe/Globe.unity
+  Image: {fileID: 2800000, guid: 31ea88f94a559415194f73d9ae78c4bb, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114502121280561658
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: TrafficAndDirections
+  m_EditorClassIdentifier: 
+  Name: TrafficAndDirections
+  ScenePath: Assets/Mapbox/Examples/1_DataExplorer/TrafficAndDirections.unity
+  Image: {fileID: 2800000, guid: 9f8dc63149c4c452fb12fa47be6bb6c9, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114515002572569922
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: RasterTile
+  m_EditorClassIdentifier: 
+  Name: RasterTile
+  ScenePath: Assets/Mapbox/Examples/5_Playground/Scenes/RasterTile.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114545493278003882
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: WorldScaleAR
+  m_EditorClassIdentifier: 
+  Name: WorldScaleAR
+  ScenePath: Assets/MapboxAR/Examples/Scenes/WorldScaleAR.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114556980017213984
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: Location-basedGame
+  m_EditorClassIdentifier: 
+  Name: Location-basedGame
+  ScenePath: Assets/Mapbox/Examples/0_PrefabScenes/Location-basedGame.unity
+  Image: {fileID: 2800000, guid: b9da555a2df00402d86244517dae835a, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114562083331774168
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: ZoomableMap
+  m_EditorClassIdentifier: 
+  Name: ZoomableMap
+  ScenePath: Assets/Mapbox/Examples/6_ZoomableMap/ZoomableMap.unity
+  Image: {fileID: 2800000, guid: f1321adbaa6e24299bb58ab33ad3adf9, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114578278320698056
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: AstronautGame
+  m_EditorClassIdentifier: 
+  Name: AstronautGame
+  ScenePath: Assets/Mapbox/Examples/2_AstronautGame/AstronautGame.unity
+  Image: {fileID: 2800000, guid: 260f5f572e80f479bbfb37b17a01ae03, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114601058624558330
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: LocationProvider
+  m_EditorClassIdentifier: 
+  Name: LocationProvider
+  ScenePath: Assets/Mapbox/Examples/5_Playground/Scenes/LocationProvider.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114604153191931578
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: ForwardGeocoder
+  m_EditorClassIdentifier: 
+  Name: ForwardGeocoder
+  ScenePath: Assets/Mapbox/Examples/5_Playground/Scenes/ForwardGeocoder.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114605066102793998
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: ReverseGeocoder
+  m_EditorClassIdentifier: 
+  Name: ReverseGeocoder
+  ScenePath: Assets/Mapbox/Examples/5_Playground/Scenes/ReverseGeocoder.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114677639717397690
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: InteractiveStyledVectorMap
+  m_EditorClassIdentifier: 
+  Name: InteractiveStyledVectorMap
+  ScenePath: Assets/Mapbox/Examples/1_DataExplorer/InteractiveStyledVectorMap.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114771648504718328
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: POIPlacement
+  m_EditorClassIdentifier: 
+  Name: POIPlacement
+  ScenePath: Assets/Mapbox/Examples/3_POIPlacement/POIPlacement.unity
+  Image: {fileID: 2800000, guid: c2103bdd982e845a0a07bc8ee6649a17, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114778326577532556
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: CitySimulator
+  m_EditorClassIdentifier: 
+  Name: CitySimulator
+  ScenePath: Assets/Mapbox/Examples/0_PrefabScenes/CitySimulator.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114832298713168932
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: VectorTile
+  m_EditorClassIdentifier: 
+  Name: VectorTile
+  ScenePath: Assets/Mapbox/Examples/5_Playground/Scenes/VectorTile.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
+--- !u!114 &114867299411580208
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: DataExplorer
+  m_EditorClassIdentifier: 
+  Name: DataExplorer
+  ScenePath: Assets/Mapbox/Examples/1_DataExplorer/DataExplorer.unity
+  Image: {fileID: 2800000, guid: 1b7a3200c45d3425bbf8e891123932d8, type: 3}
+  Text: {fileID: 0}
+--- !u!114 &114873904952696824
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e5d9ef4c9a5f1410ea3cf247b3917654, type: 3}
+  m_Name: TabletopAR
+  m_EditorClassIdentifier: 
+  Name: TabletopAR
+  ScenePath: Assets/MapboxAR/Examples/Scenes/TabletopAR.unity
+  Image: {fileID: 0}
+  Text: {fileID: 0}
diff --git a/T3-Unity/Assets/Mapbox/Resources/Mapbox/ScenesList.asset.meta b/T3-Unity/Assets/Mapbox/Resources/Mapbox/ScenesList.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..185d04cc1a1e50edd6a32a84c0057fac7098b6dc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/Mapbox/ScenesList.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5424214e66dd94ac79007c7c31989849
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxPin.prefab b/T3-Unity/Assets/Mapbox/Resources/MapboxPin.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..121834486e3795849cec0072244343fad49b5bdd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxPin.prefab
@@ -0,0 +1,212 @@
+%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: 1064074361305596}
+  m_IsPrefabParent: 1
+--- !u!1 &1064074361305596
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4975462510289000}
+  m_Layer: 0
+  m_Name: MapboxPin
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1406253380433950
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4433321769519016}
+  - component: {fileID: 33789390629346910}
+  - component: {fileID: 136328829604160218}
+  - component: {fileID: 23951160422349436}
+  m_Layer: 0
+  m_Name: Cylinder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1696503624169290
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4729070745943542}
+  - component: {fileID: 33050419455833054}
+  - component: {fileID: 135736392568148992}
+  - component: {fileID: 23926995882122000}
+  m_Layer: 0
+  m_Name: Sphere
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4433321769519016
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1406253380433950}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1.01, z: 0}
+  m_LocalScale: {x: 2, y: 2, z: 2}
+  m_Children: []
+  m_Father: {fileID: 4975462510289000}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4729070745943542
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1696503624169290}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 4, z: 0}
+  m_LocalScale: {x: 4, y: 4, z: 4}
+  m_Children: []
+  m_Father: {fileID: 4975462510289000}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4975462510289000
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1064074361305596}
+  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:
+  - {fileID: 4729070745943542}
+  - {fileID: 4433321769519016}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23926995882122000
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1696503624169290}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23951160422349436
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1406253380433950}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33050419455833054
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1696503624169290}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33789390629346910
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1406253380433950}
+  m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!135 &135736392568148992
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1696503624169290}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!136 &136328829604160218
+CapsuleCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1406253380433950}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  m_Radius: 0.5
+  m_Height: 2
+  m_Direction: 1
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxPin.prefab.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxPin.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6258e8924a70405bdd1ed26a974801ff5cf8aa55
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxPin.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 748e2c1db1257594bb438fbb7bd185f0
+timeCreated: 1538143890
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles.meta
new file mode 100644
index 0000000000000000000000000000000000000000..48508ed81a4287909a85c3579b67f43f7b1a0638
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a5b6f0096f22b4cdb826cdc4a583aa40
+folderAsset: yes
+timeCreated: 1520623954
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..361ae628e21596eb9acfa966219996570ae24f23
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d90a3ccee913b4a34859e3651cbdc26a
+folderAsset: yes
+timeCreated: 1524243556
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas.meta
new file mode 100644
index 0000000000000000000000000000000000000000..46a13ab65a23c7e47467ffdcdfe91eaa8c023ebf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 05547ab88e9284d98804718999dc129d
+folderAsset: yes
+timeCreated: 1524504493
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas/DefaultAtlasInfo.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas/DefaultAtlasInfo.asset
new file mode 100644
index 0000000000000000000000000000000000000000..35669f455229a1184b42db69f7be7ae37104b8a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas/DefaultAtlasInfo.asset
@@ -0,0 +1,320 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 48879146f3ce9fb4abc113a9a2bb8e0a, type: 3}
+  m_Name: DefaultAtlasInfo
+  m_EditorClassIdentifier: 
+  Textures:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 3
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 5
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 6
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 2
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 1
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 11
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 1
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 2
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 3
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 4
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  Roofs:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  AtlasEntityType: 0
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas/DefaultAtlasInfo.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas/DefaultAtlasInfo.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c3b73250a931fa3ac77860f5f881897480485edf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Atlas/DefaultAtlasInfo.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 414754d7155df47beb52ca117a774f21
+timeCreated: 1515083851
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2866dc4c1943db52fa320ef9897f49d91c1e1c26
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ace8a1e70c1984f91ac902b84df653aa
+folderAsset: yes
+timeCreated: 1524504545
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultPerRendererMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultPerRendererMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..04ab47fe238dffa243632d286878d37a2271dffb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultPerRendererMaterial.mat
@@ -0,0 +1,92 @@
+%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: DefaultPerRendererMaterial
+  m_Shader: {fileID: 4800000, guid: 02ca05f28416c4bbab659e473fa74ec6, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        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
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultPerRendererMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultPerRendererMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..becd03c371c527596f91093bcf352184f5c805bd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultPerRendererMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: babb58a68f0154cc28f9140a42b4f5c3
+timeCreated: 1527011731
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultSideMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..b0553207d7fd76562b5412f8bf8010b57455ff96
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultSideMaterial.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: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: d22116fee9b9b486f847633108f0fc42, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9b3adf70d4a741572c8261c82aadfc9152172dd5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultSideMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c0653693b48614a139a124871d499679
+timeCreated: 1524504520
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultTopMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..f31d7353705f09d988ca329e9dd1380ef29513cf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultTopMaterial.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: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: cbadf2ff391df40bbb762a1009a9a243, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3bba2e6fcd7d7729e16ce92bd9a2c63bdad6c8d9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Materials/DefaultTopMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a1aa333e18c0640d7b428eecff9c4af7
+timeCreated: 1524504507
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes.meta
new file mode 100644
index 0000000000000000000000000000000000000000..44a74f395d2f629ba6da84917280ba7472956538
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bf42686f8a8f346bdb651c756df746ea
+folderAsset: yes
+timeCreated: 1524504575
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes/DefaultPalette.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes/DefaultPalette.asset
new file mode 100644
index 0000000000000000000000000000000000000000..fd34f8090da3452af9a92abdd75b67948c33a7e1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes/DefaultPalette.asset
@@ -0,0 +1,25 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 324a61621a4444024b4a9423715bd22b, type: 3}
+  m_Name: DefaultPalette
+  m_EditorClassIdentifier: 
+  m_numColors: 3
+  m_keyColor: {r: 1, g: 1, b: 1, a: 1}
+  m_colors: []
+  m_hueRange: 0
+  m_saturationRange: 0
+  m_valueRange: 0
+  m_setBaseColor_Override: 0
+  m_setDetailColor1_Override: 0
+  m_setDetailColor2_Override: 0
+  m_baseColor_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor1_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor2_Override: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes/DefaultPalette.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes/DefaultPalette.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e8c7ef97a1fef795ce5eb7c138847d9fe6f97827
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Palettes/DefaultPalette.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 57bdfa37edf7a4f7f999d19443497554
+timeCreated: 1524504588
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a063e75e14fe1d5918630976004c802359038f7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 31022fd2d5b8b4a0d93345aeec1c4e50
+folderAsset: yes
+timeCreated: 1524504554
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultSideTexture.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultSideTexture.png
new file mode 100644
index 0000000000000000000000000000000000000000..998c64d6566be313c56daf2953a00484cb113e4f
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultSideTexture.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultSideTexture.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultSideTexture.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f6eef15dd5dc9c53ee17ba36f2d36b9bf905467d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultSideTexture.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: d22116fee9b9b486f847633108f0fc42
+timeCreated: 1548701735
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultTopTexture.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultTopTexture.png
new file mode 100644
index 0000000000000000000000000000000000000000..bac16711f650b60679fba008b047b2afaa14ca44
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultTopTexture.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultTopTexture.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultTopTexture.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f464746dd21e2a88890046337d5503add3388faa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/DefaultStyleAssets/Textures/DefaultTopTexture.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: cbadf2ff391df40bbb762a1009a9a243
+timeCreated: 1548701735
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0af2598e0c8ae0162e17d5fc0fda95380868e2b4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 041012e11f3cb4f4e83a5c06b5c4243d
+folderAsset: yes
+timeCreated: 1527182001
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacades.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacades.mat
new file mode 100644
index 0000000000000000000000000000000000000000..e71100a8713b5fb0862ae3bc9600a5930d351cc0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacades.mat
@@ -0,0 +1,92 @@
+%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: MapboxStylesFacades
+  m_Shader: {fileID: 4800000, guid: a58a57c7d09bd4d5a9dd79ebd542fea4, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 0.28676468, g: 0.28676468, b: 0.28676468, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor1: {r: 0.5147059, g: 0.5147059, b: 0.5147059, a: 1}
+    - _DetailColor2: {r: 0.7647059, g: 0.7647059, b: 0.7647059, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacades.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacades.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cfbd6c0ae2af6721c7ae00276caa4012fff202f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacades.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 402dd72669f434508aa3ebc1a1491897
+timeCreated: 1527182014
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacadesPerRenderer.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacadesPerRenderer.mat
new file mode 100644
index 0000000000000000000000000000000000000000..49d248a33bbc6fe2b2997fcabbe3db15aa98202c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacadesPerRenderer.mat
@@ -0,0 +1,92 @@
+%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: MapboxStylesFacadesPerRenderer
+  m_Shader: {fileID: 4800000, guid: 02ca05f28416c4bbab659e473fa74ec6, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacadesPerRenderer.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacadesPerRenderer.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5b1545df920bb0e2c5dd70b2ca58a6005318f7bc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesFacadesPerRenderer.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e094fd573e6524af3a68b053b7de22c8
+timeCreated: 1527182014
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofs.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofs.mat
new file mode 100644
index 0000000000000000000000000000000000000000..7c41e096cbde596b539a4e9144f90fe856b11fe3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofs.mat
@@ -0,0 +1,92 @@
+%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: MapboxStylesRoofs
+  m_Shader: {fileID: 4800000, guid: a58a57c7d09bd4d5a9dd79ebd542fea4, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 0.28676468, g: 0.28676468, b: 0.28676468, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor1: {r: 0.5147059, g: 0.5147059, b: 0.5147059, a: 1}
+    - _DetailColor2: {r: 0.7647059, g: 0.7647059, b: 0.7647059, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofs.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofs.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a28fc9bd7bcb3065ab76eee0a14f08971bda32e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofs.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7b8186f8ab7c84eaaa1f9890eb440693
+timeCreated: 1527182014
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofsPerRenderer.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofsPerRenderer.mat
new file mode 100644
index 0000000000000000000000000000000000000000..d30f0ae2fa7129311d1cc82d84ff0211837e3bef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofsPerRenderer.mat
@@ -0,0 +1,92 @@
+%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: MapboxStylesRoofsPerRenderer
+  m_Shader: {fileID: 4800000, guid: 02ca05f28416c4bbab659e473fa74ec6, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofsPerRenderer.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofsPerRenderer.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f8a2a5bd543a643af2d4dc89f958e0224685d3c3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Materials/MapboxStylesRoofsPerRenderer.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 97a65133a2ed4494bb233afaa06385bd
+timeCreated: 1527182014
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles.meta
new file mode 100644
index 0000000000000000000000000000000000000000..96dd1015edf4ffb64c71d352ec8b03a60c8c0fa9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 568d0dea9fa974961b4baaa83a571258
+folderAsset: yes
+timeCreated: 1524244146
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles.meta
new file mode 100644
index 0000000000000000000000000000000000000000..227b65b88de4441a5e2f22f503e0350b3f494882
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7241f5e399a064a5fb9b8bc54e740622
+folderAsset: yes
+timeCreated: 1524690481
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a638e5a4d894741bc99b12dbb6605cc2d07ae19d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 0cf8ce9db9a06419cac5718e3b06f3f8
+folderAsset: yes
+timeCreated: 1525729182
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9dc94e720697cdbc755ffbdf6db1367f8fc9b5ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e3a40f1d9963a4afca03fa1f602cc37f
+folderAsset: yes
+timeCreated: 1524673128
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b89f72b05495efe0559ab09efedd50cae6c7ee6d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2c2fc3b9e69b14a32b531bb67914a878
+folderAsset: yes
+timeCreated: 1524502554
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas/ColorAtlasInfo.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas/ColorAtlasInfo.asset
new file mode 100644
index 0000000000000000000000000000000000000000..114313752657209a6d0770c082e8b5036a005ab2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas/ColorAtlasInfo.asset
@@ -0,0 +1,320 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 48879146f3ce9fb4abc113a9a2bb8e0a, type: 3}
+  m_Name: ColorAtlasInfo
+  m_EditorClassIdentifier: 
+  Textures:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 3
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.175
+    topOfMidUv: 0.175
+    topOfBottomUv: 0.1
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.175
+    topOfMidUv: 0.175
+    topOfBottomUv: 0.1
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 5
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.175
+    topOfMidUv: 0.175
+    topOfBottomUv: 0.1
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 6
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.175
+    topOfMidUv: 0.175
+    topOfBottomUv: 0.1
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.425
+    topOfMidUv: 0.425
+    topOfBottomUv: 0.35
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 2
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.425
+    topOfMidUv: 0.425
+    topOfBottomUv: 0.35
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 1
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.425
+    topOfMidUv: 0.425
+    topOfBottomUv: 0.35
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 11
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.425
+    topOfMidUv: 0.425
+    topOfBottomUv: 0.35
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 1
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 24
+    FirstFloorHeight: 8
+    TopFloorHeight: 8
+    bottomOfTopUv: 0.9
+    topOfMidUv: 0.9
+    topOfBottomUv: 0.6
+    midUvHeight: 0.3
+    WallToFloorRatio: 0.6
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 2
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0.9
+    topOfMidUv: 0.9
+    topOfBottomUv: 0.6
+    midUvHeight: 0.3
+    WallToFloorRatio: 1.2
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 3
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0.9
+    topOfMidUv: 0.9
+    topOfBottomUv: 0.6
+    midUvHeight: 0.3
+    WallToFloorRatio: 1.2
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 4
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0.9
+    topOfMidUv: 0.9
+    topOfBottomUv: 0.6
+    midUvHeight: 0.3
+    WallToFloorRatio: 1.2
+  Roofs:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  AtlasEntityType: 0
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas/ColorAtlasInfo.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas/ColorAtlasInfo.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..56d5c2c7e2e6c8c802e2e3530ccfb570695b5c29
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Atlas/ColorAtlasInfo.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 05066a15aa3b24c6493cc83636625fe3
+timeCreated: 1515083851
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..df2c8c133db993900a5e186929886ff0f2d9071c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4e5007f04d3bc45a9a593ff4076b9dff
+folderAsset: yes
+timeCreated: 1524502483
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorSideMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..178929a85a69e41f1b39b849fc168988bd499e12
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorSideMaterial.mat
@@ -0,0 +1,103 @@
+%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: ColorSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..759f9474594b8ddfd9ce293272f90ec1e38c3b23
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorSideMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b45d1a21770e64c52a90af3260e1f91e
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorTopMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..352c50accbb76f3713008fde4221565db2f0ba22
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorTopMaterial.mat
@@ -0,0 +1,103 @@
+%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: ColorTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3bdf72714e88013fce6894031d73e56c88bf20dc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/Assets/Materials/ColorTopMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: efa673a70e78040569fec7b08ba99cfa
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/ColorIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/ColorIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..f499f48559b5ebb6c158123c7a47a17997392d3b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/ColorIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/ColorIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/ColorIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..df34fcd6861652170400e478e3f138d6cef7bc5e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Color/ColorIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: f3c3cfc0277d942eb89bfb56525e6c85
+timeCreated: 1534196301
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f277841550dc200c039ed946bd07f285bbc9149b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 979f508a7dc824a57bf76a9d0b81330f
+folderAsset: yes
+timeCreated: 1525729182
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9df0f033cb2ae231d1c0db6cf85e679c4480cff7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: de8a1d9f6101f44529f0f7e08bfc8cf7
+folderAsset: yes
+timeCreated: 1524673128
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas.meta
new file mode 100644
index 0000000000000000000000000000000000000000..497875079e67f69417d561377f4a68c87281c044
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1e200e749ca644415aeef1e0c8fe963b
+folderAsset: yes
+timeCreated: 1524502554
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas/DarkAtlasInfo.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas/DarkAtlasInfo.asset
new file mode 100644
index 0000000000000000000000000000000000000000..c4901b441b8e1700ce5c5751a18e8d9100a3e9dc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas/DarkAtlasInfo.asset
@@ -0,0 +1,86 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 48879146f3ce9fb4abc113a9a2bb8e0a, type: 3}
+  m_Name: DarkAtlasInfo
+  m_EditorClassIdentifier: 
+  Textures:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 1
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 30
+    FloorHeight: 18
+    FirstFloorHeight: 6
+    TopFloorHeight: 6
+  Roofs:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  AtlasEntityType: 0
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas/DarkAtlasInfo.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas/DarkAtlasInfo.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..062315a1afd1e7152c1022f0c9a5d3fa11857b48
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Atlas/DarkAtlasInfo.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 59ca6a03aa1ab4d5797fc37bc0f37797
+timeCreated: 1515083851
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..08abec151518a273daaeae8bb735a03e04be1c13
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5c84d35c417e140258f724c4556cff3c
+folderAsset: yes
+timeCreated: 1524502483
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkSideMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..75df0ba7f613c263e4373be0028fcbc3b18a53b0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkSideMaterial.mat
@@ -0,0 +1,103 @@
+%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: DarkSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6b927dd0846f4ae708a84abb8b3016a1948dd0fe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkSideMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5cb4277d0de1443ce84170893d05adca
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkTopMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..575b0c37b349ead8046da4d7035cecadcb1ec5fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkTopMaterial.mat
@@ -0,0 +1,103 @@
+%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: DarkTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..152e6812e89dd5a9bf6578d31e8a265d8cdb81ed
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/Assets/Materials/DarkTopMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1c7d76a44fa2d4908bf4ee096556a5db
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/DarkIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/DarkIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1e805bbad2242bc38b2bc5e6dc3ef0890619498
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/DarkIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/DarkIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/DarkIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec1c724fe5b5ad6f6df8961a0d0168fb7a6eba66
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Dark/DarkIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 8000e1968557249138e2cc002b9c082f
+timeCreated: 1534196301
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy.meta
new file mode 100644
index 0000000000000000000000000000000000000000..440273a3643e5827bf145ead6089db4a0fa12350
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5e23a332724014d2c9c637a78cad8cb6
+folderAsset: yes
+timeCreated: 1524075919
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..26e0c1218291328db5d513a4a2a6251f115dec74
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 94f396a4e39be4445bd593c3c2892fbf
+folderAsset: yes
+timeCreated: 1524673128
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4c9c9eb7bb33e3fc051d0cea917406e70b426d9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9db5db299e4da48688f54c671bd508db
+folderAsset: yes
+timeCreated: 1524502876
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas/FantasyAtlasInfo.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas/FantasyAtlasInfo.asset
new file mode 100644
index 0000000000000000000000000000000000000000..62bec047adba57c35c0aadd26577605adb945bd4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas/FantasyAtlasInfo.asset
@@ -0,0 +1,155 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 48879146f3ce9fb4abc113a9a2bb8e0a, type: 3}
+  m_Name: FantasyAtlasInfo
+  m_EditorClassIdentifier: 
+  Textures:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 3
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 5
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 6
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 2
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 1
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 11
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  Roofs:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas/FantasyAtlasInfo.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas/FantasyAtlasInfo.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9b00cac73383964664c81574c5fbcd5bca1e010e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Atlas/FantasyAtlasInfo.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4793568a8fb3c40a0ab74f5419319b48
+timeCreated: 1525818671
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9cac51d70628b28cbb38c82155c1f0a39cc96580
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 3d041e98647384eaf92cc34f92a9b9fc
+folderAsset: yes
+timeCreated: 1524502856
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasySideMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasySideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..e84fee0ac873bcaad75f9763016f9765ca67a087
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasySideMaterial.mat
@@ -0,0 +1,80 @@
+%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: FantasySideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: cc9fc53d1707044a89869011758a4ace, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 4a6fbea75bd8b4efd965f0e8562736f7, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: c0c54855db6f343369c7b95ea83766e0, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 387ea64048d8f4163b4f7f54e4cd5b3e, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasySideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasySideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fc9c6e2548f3249417b8e0fea563a6e71f110f8e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasySideMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7420a65a71a3f48a083a5e43216a8a6e
+timeCreated: 1523481632
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasyTopMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasyTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..46375012f18d69d1e505393ff6bed5dbfc6ce7b6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasyTopMaterial.mat
@@ -0,0 +1,80 @@
+%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: FantasyTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: cc9fc53d1707044a89869011758a4ace, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 4a6fbea75bd8b4efd965f0e8562736f7, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: c0c54855db6f343369c7b95ea83766e0, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: 387ea64048d8f4163b4f7f54e4cd5b3e, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasyTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasyTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a063ed9950f52a4276fa9ab1e3ec3cca90e5300e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Materials/FantasyTopMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2cc3bc1f1604c4145aebb2232440059b
+timeCreated: 1523481632
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0898683ec1b7e2a786bac14bf73f6f8d1857a4b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: dcaab30292cce476197b688f231dd19d
+folderAsset: yes
+timeCreated: 1524502864
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyAlbedo.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyAlbedo.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f28d2eb921c84fd1931cdc3fa09366254303ca5
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyAlbedo.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyAlbedo.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyAlbedo.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..da6b5a9512424b968fa809803911d4eb206c66da
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyAlbedo.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 4a6fbea75bd8b4efd965f0e8562736f7
+timeCreated: 1548702110
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyMetallic.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyMetallic.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f99a2e1c0e80771567752e04bc069b420eaada9
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyMetallic.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyMetallic.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyMetallic.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eb89e93433084b2a827e2a81f773c7b778e2bb73
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyMetallic.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: c0c54855db6f343369c7b95ea83766e0
+timeCreated: 1548702111
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyNormal.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyNormal.png
new file mode 100644
index 0000000000000000000000000000000000000000..3af374abb2371b0dc0f1c97786e41ecd78d05581
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyNormal.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyNormal.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyNormal.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..31374cf748bd1de99b7f26806016ccf30439dc12
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyNormal.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: cc9fc53d1707044a89869011758a4ace
+timeCreated: 1548702112
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyRoughness.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyRoughness.png
new file mode 100644
index 0000000000000000000000000000000000000000..bbaf99791eaab1dd2dc971ce03bc9a00f39b390d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyRoughness.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyRoughness.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyRoughness.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b471c0125a5dbeb683d2b7424f5ef769fcdd27b6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasyRoughness.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 387ea64048d8f4163b4f7f54e4cd5b3e
+timeCreated: 1548702109
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasySideAlbedo.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasySideAlbedo.png
new file mode 100644
index 0000000000000000000000000000000000000000..dec1ccd564700f35444ffcb94e580ba2e6fb900b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasySideAlbedo.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasySideAlbedo.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasySideAlbedo.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..453a4320952b27fea01aa153e54b3b0da322e636
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/Assets/Textures/FantasySideAlbedo.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 992dea7ebd0a54a45899a2e3dba54fa6
+timeCreated: 1548702111
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/FantasyIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/FantasyIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..7403fbebdf8ef2621869d981581fac11407a35a2
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/FantasyIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/FantasyIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/FantasyIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3293d6c966da6c732ac57b5257fb1196a3e73c4d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Fantasy/FantasyIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: e05ca07235f774564ac030037ceadf8c
+timeCreated: 1534196301
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0b92041247d1a5d72a38c064390648dad6996393
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 3ca2306bb5abf45a5a7658b0a34a4f23
+folderAsset: yes
+timeCreated: 1525729182
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35b99fc602c814c32ca7f40d2d6d924c5fed9099
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4c1d2a7e681424689a0b8b7ee56a214a
+folderAsset: yes
+timeCreated: 1524673128
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9f814d4a63185fc95e9b6c62edbeabe785297dda
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7afea0e425ae943f681258a33a848e8b
+folderAsset: yes
+timeCreated: 1524502554
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas/LightAtlasInfo.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas/LightAtlasInfo.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1cf85a4503b12e6cddc2301b1bd93e4012a3efb4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas/LightAtlasInfo.asset
@@ -0,0 +1,239 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 48879146f3ce9fb4abc113a9a2bb8e0a, type: 3}
+  m_Name: LightAtlasInfo
+  m_EditorClassIdentifier: 
+  Textures:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 3
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 5
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 6
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 2
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 1
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 11
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 1
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 50
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 2
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 50
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 3
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 50
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 4
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 50
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  Roofs:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas/LightAtlasInfo.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas/LightAtlasInfo.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cb073b2b6299808a35314fb935724937fc1a860a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Atlas/LightAtlasInfo.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 817b646f06c8845628ba7acf4819a67d
+timeCreated: 1515083851
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..895c1becaf4352b98b63b78f67db6e7950d28bc2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9728fd5c889f64b3198102e28e9c5d83
+folderAsset: yes
+timeCreated: 1524502483
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightSideMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a76dee78adaba38551e548b3ec431d59251b71f0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightSideMaterial.mat
@@ -0,0 +1,103 @@
+%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: LightSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.78676474, g: 0.78676474, b: 0.78676474, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..52773dbf2e1bae27cee6c26836c05b1ab89444de
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightSideMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b0c7fbba2306f4732b02134faa797327
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightTopMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..5595a2cfd53b22337220e72309fc3b21ed958b08
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightTopMaterial.mat
@@ -0,0 +1,103 @@
+%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: LightTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHABLEND_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 2
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.78676474, g: 0.78676474, b: 0.78676474, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..349a0e696729c69acce31dba90cd62a5504932a2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/Assets/Materials/LightTopMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ce046f747f2e84761ab461cb5f85fcbd
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/LightIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/LightIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3254307299c4fd25e9b036de9f072eafbacb0357
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/LightIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/LightIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/LightIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..82d3a70f596442ff99bbd0b7a4630717e3b9362a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Light/LightIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: a6abe9dc5451a4d4683e41afd413a0d5
+timeCreated: 1534196301
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4d63e41ef9b0ff01d15c03b30b8059ca450076b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1d39b68bd0fcc41e88196412d22a683f
+folderAsset: yes
+timeCreated: 1524075909
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e2c62ab0e79dd429a324304a8588bb59398ca8a4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bdbdb0d8875404b278dd343cf3b95064
+folderAsset: yes
+timeCreated: 1524673128
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5bd1ffc2437aa6dd8df6d58ec18d65d82627a6c2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: baf18efdb9c1e4533b37895d97c04abc
+folderAsset: yes
+timeCreated: 1524502876
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas/RealisticAtlasInfo.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas/RealisticAtlasInfo.asset
new file mode 100644
index 0000000000000000000000000000000000000000..2c23bcc36612b26ba01d1f7f54dd73e3ef9bfdc0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas/RealisticAtlasInfo.asset
@@ -0,0 +1,320 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 48879146f3ce9fb4abc113a9a2bb8e0a, type: 3}
+  m_Name: RealisticAtlasInfo
+  m_EditorClassIdentifier: 
+  Textures:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 2
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0.9
+    topOfMidUv: 0.9
+    topOfBottomUv: 0.6
+    midUvHeight: 0.3
+    WallToFloorRatio: 1.2
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 3
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.425
+    topOfMidUv: 0.425
+    topOfBottomUv: 0.35
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.425
+    topOfMidUv: 0.425
+    topOfBottomUv: 0.35
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 11
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.425
+    topOfMidUv: 0.425
+    topOfBottomUv: 0.35
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 2
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.425
+    topOfMidUv: 0.425
+    topOfBottomUv: 0.35
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 2
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.175
+    topOfMidUv: 0.175
+    topOfBottomUv: 0.1
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 6
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.175
+    topOfMidUv: 0.175
+    topOfBottomUv: 0.1
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 3
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 30
+    FloorHeight: 8.999999
+    FirstFloorHeight: 12
+    TopFloorHeight: 9
+    bottomOfTopUv: 0.175
+    topOfMidUv: 0.175
+    topOfBottomUv: 0.1
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 3
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 11.999999
+    FirstFloorHeight: 16
+    TopFloorHeight: 12
+    bottomOfTopUv: 0.175
+    topOfMidUv: 0.175
+    topOfBottomUv: 0.1
+    midUvHeight: 0.074999996
+    WallToFloorRatio: 0.29999998
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 3
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0.9
+    topOfMidUv: 0.9
+    topOfBottomUv: 0.6
+    midUvHeight: 0.3
+    WallToFloorRatio: 1.2
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 3
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0.9
+    topOfMidUv: 0.9
+    topOfBottomUv: 0.6
+    midUvHeight: 0.3
+    WallToFloorRatio: 1.2
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 4
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 48
+    FirstFloorHeight: 16
+    TopFloorHeight: 16
+    bottomOfTopUv: 0.9
+    topOfMidUv: 0.9
+    topOfBottomUv: 0.6
+    midUvHeight: 0.3
+    WallToFloorRatio: 1.2
+  Roofs:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+    bottomOfTopUv: 0
+    topOfMidUv: 0
+    topOfBottomUv: 0
+    midUvHeight: 0
+    WallToFloorRatio: 0
+  AtlasEntityType: 0
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas/RealisticAtlasInfo.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas/RealisticAtlasInfo.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1cfd8022908dfed66a51855f5644e5ce16c7f913
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Atlas/RealisticAtlasInfo.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c422f39ca8fe566479230c87805b3301
+timeCreated: 1527158143
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..127b2ab79203e0a423440dd7678dadd9df2fa465
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 17022f11f743746409ecc2920ba138af
+folderAsset: yes
+timeCreated: 1524502856
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticSideMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..085ad0410436831956a5c21e54e9f3acf4ec8e61
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticSideMaterial.mat
@@ -0,0 +1,80 @@
+%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: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 639754785a99045debbad4593b7c92e9, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 0bcf5c7180b764937aa4cd980bd44e8b, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: c3370fc9cdec647fcb05b4bcfb13aa37, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: feda69b01240b4568a23a5a754012e5a, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: b4566aacde9a0463a89407bec92aa87c, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d9b48ca926251b071dd7e4180dcc8e72c27a3c68
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticSideMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9f4e4d809e3e14cc08a842dc23ff86ed
+timeCreated: 1523481632
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticTopMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..84a1a56c66534122468735862a317b116c6dad1a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticTopMaterial.mat
@@ -0,0 +1,80 @@
+%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: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: f99015b7b1a6f497bab611412ee65c90, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 581505b85254d4d29b170800875ef29a, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 0bc8bd5e5fc49497fad146b25f52e005, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e2ff3b7a452384fb9b21f0bb71456c262e017440
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Materials/RealisticTopMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e510beb4b52b54f9eace1c065a96dd24
+timeCreated: 1523481632
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..65fe43f73f4653510c0e71d9782447bdadf56d47
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d238bfe6909294cbfbd4158ecf549a1a
+folderAsset: yes
+timeCreated: 1524502864
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAO.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAO.png
new file mode 100644
index 0000000000000000000000000000000000000000..cbed3b5fd0a2bab200edb4e746a535628dc50fee
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAO.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAO.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAO.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bc1a86dfaac2e051b6346cded9c7e3906167a4bb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAO.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: feda69b01240b4568a23a5a754012e5a
+timeCreated: 1548702202
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAlbedo.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAlbedo.png
new file mode 100644
index 0000000000000000000000000000000000000000..668c01fca1810414f8c2d28815e4317eda9a49f8
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAlbedo.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAlbedo.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAlbedo.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fea11243f8a78c4fb97873fc103532af2e1795cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideAlbedo.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 0bcf5c7180b764937aa4cd980bd44e8b
+timeCreated: 1548702196
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideMetallic.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideMetallic.png
new file mode 100644
index 0000000000000000000000000000000000000000..df4f61a26dc4f7d833acd3a3a610010d8e96e202
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideMetallic.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideMetallic.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideMetallic.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9fa61dd26aab7167e82af55a7a9790f32769dc33
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideMetallic.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: c3370fc9cdec647fcb05b4bcfb13aa37
+timeCreated: 1548702199
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideNormal.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideNormal.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d6a2ab2bb230ce425d40d3140bf85d3543f4c63
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideNormal.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideNormal.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideNormal.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b7d6da11dfc70b9afece2679fa50e48462b233f9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideNormal.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 639754785a99045debbad4593b7c92e9
+timeCreated: 1548702199
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideRoughness.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideRoughness.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8513609a9e072137733c0aaf8f6cc4478600478
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideRoughness.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideRoughness.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideRoughness.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e24819bb5d9d01153ccbfbe1bf60016f8a05c95c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticSideRoughness.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: b4566aacde9a0463a89407bec92aa87c
+timeCreated: 1548702199
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAO.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAO.png
new file mode 100644
index 0000000000000000000000000000000000000000..99a79bdd97d20d1af3dd7370a9cb33a880885898
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAO.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAO.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAO.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ff60765747d1dcb69533f0dbe68ca90125447cd1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAO.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 0bc8bd5e5fc49497fad146b25f52e005
+timeCreated: 1548702196
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAlbedo.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAlbedo.png
new file mode 100644
index 0000000000000000000000000000000000000000..767e7effde6559c47b2d169f25e09825cfb60ff9
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAlbedo.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAlbedo.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAlbedo.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..368c936c6f7fd54d7c8649cf21bb675351e4d7f2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopAlbedo.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 581505b85254d4d29b170800875ef29a
+timeCreated: 1548702198
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopNormal.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopNormal.png
new file mode 100644
index 0000000000000000000000000000000000000000..a61fb8e143c9b669308049cd3be182682ae67a26
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopNormal.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopNormal.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopNormal.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..01590ef99bd908eef8726fd43246c835bcfd5a74
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/Assets/Textures/RealisticTopNormal.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: f99015b7b1a6f497bab611412ee65c90
+timeCreated: 1548702201
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/RealisticIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/RealisticIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2a65ddb11444bdc0fc5add94eb2ce4cd75b36ae
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/RealisticIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/RealisticIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/RealisticIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b737a35479119e1880aac47010b987cec39a677b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Realistic/RealisticIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 8d7b18fbb73ab4574887f2502c6b332d
+timeCreated: 1534196334
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b9f57986eff530eaf1d82e9324359a4f41e35213
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8773d242ae6264de6b2d9dde90edfc84
+folderAsset: yes
+timeCreated: 1525729182
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f88b5ab0e4b120633e0ce6bffd4d9dac91156fc3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6ad17a97f632a40fba47671b05212900
+folderAsset: yes
+timeCreated: 1524673128
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec23d6eb83714acc38fea0148916e04eb65972ab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c93c2d52130b8459bafe6d51c50d4ce6
+folderAsset: yes
+timeCreated: 1524502483
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteSideMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..bfc1338d03b00e57896f7d7d3b2db4438d0ede7a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteSideMaterial.mat
@@ -0,0 +1,102 @@
+%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: SatelliteSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _Emission: 0.75
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8746c5590ed1d745cffdb85b8e295533db24f9af
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteSideMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ace449cc706bd49b7a69aa1cf216554b
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteTopMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..f9437c90a2b54c56d20eaf01b0ebca2d461add26
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteTopMaterial.mat
@@ -0,0 +1,102 @@
+%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: SatelliteTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fe9fb27e586ad09bc3090110242dd600a2326585
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/Assets/Materials/SatelliteTopMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 37ef2b0c2d42647a79863b9c9661beeb
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/SatelliteIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/SatelliteIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e7816ca394ece7ade23ef23147d96962e7f443e
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/SatelliteIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/SatelliteIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/SatelliteIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..41b30983a55d46ab04341020e093a17273df1a99
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Satellite/SatelliteIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: ad764ebd3ff314d70b7e1caac328efd6
+timeCreated: 1534196301
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bb008ca753a5054472dfee41cbf4f9e798634db0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 61aefc08b5ccc4377ae9b402d4aced81
+folderAsset: yes
+timeCreated: 1525729182
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e47848bc6a3a7e96e9b9664118203457ba70028
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b559719ab140941b0804edd9cd5150f2
+folderAsset: yes
+timeCreated: 1524673128
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas.meta
new file mode 100644
index 0000000000000000000000000000000000000000..896988bf7c3a5122ab76ced2962e6286fd568694
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 85506310233344ca692aaa8aa0ded9b3
+folderAsset: yes
+timeCreated: 1524502554
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas/SimpleAtlasInfo.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas/SimpleAtlasInfo.asset
new file mode 100644
index 0000000000000000000000000000000000000000..0a30d555ac23c46bb89317e2dbb198a81303c138
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas/SimpleAtlasInfo.asset
@@ -0,0 +1,239 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 48879146f3ce9fb4abc113a9a2bb8e0a, type: 3}
+  m_Name: SimpleAtlasInfo
+  m_EditorClassIdentifier: 
+  Textures:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 3
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 5
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 6
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 4
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 2
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 1
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.25
+      width: 0.25
+      height: 0.25
+    MidFloorCount: 1
+    ColumnCount: 11
+    TopSectionRatio: 0.3
+    BottomSectionRatio: 0.4
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 10
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 1
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 50
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.25
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 2
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 50
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 3
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 50
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.75
+      y: 0.5
+      width: 0.25
+      height: 0.5
+    MidFloorCount: 4
+    ColumnCount: 4
+    TopSectionRatio: 0.2
+    BottomSectionRatio: 0.2
+    PreferredEdgeSectionLength: 40
+    FloorHeight: 50
+    FirstFloorHeight: 12
+    TopFloorHeight: 12
+  Roofs:
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
+  - TextureRect:
+      serializedVersion: 2
+      x: 0.5
+      y: 0.5
+      width: 0.5
+      height: 0.5
+    MidFloorCount: 0
+    ColumnCount: 0
+    TopSectionRatio: 0
+    BottomSectionRatio: 0
+    PreferredEdgeSectionLength: 0
+    FloorHeight: 0
+    FirstFloorHeight: 0
+    TopFloorHeight: 0
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas/SimpleAtlasInfo.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas/SimpleAtlasInfo.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..98f20eab363d0ee3c611076853fb548935e63ab5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Atlas/SimpleAtlasInfo.asset.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4df87964fe5004278acef942d9a878d4
+timeCreated: 1515083851
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..832dbadb71d9223c590b5429c6d52c12f20318eb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fbf857b3329304fdeb9c0c0ef551ad0e
+folderAsset: yes
+timeCreated: 1524502483
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleSideMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleSideMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..7f91d27dc4314f7a4570dbf64163dc9c2e4423d3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleSideMaterial.mat
@@ -0,0 +1,102 @@
+%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: SimpleSideMaterial
+  m_Shader: {fileID: 4800000, guid: 02ca05f28416c4bbab659e473fa74ec6, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _Emission: 0.5
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleSideMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleSideMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..58033e2f4e4a2c755f7294a4fba6ca746943b4e9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleSideMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 55cc6edead802446b9106b2998406844
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleTopMaterial.mat b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleTopMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..42b7a46dce676f8ee34d4a28431b163f19fcaeaf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleTopMaterial.mat
@@ -0,0 +1,102 @@
+%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: SimpleTopMaterial
+  m_Shader: {fileID: 4800000, guid: 02ca05f28416c4bbab659e473fa74ec6, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _Emission: 0.1
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleTopMaterial.mat.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleTopMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f0fc158218b8ccb40617f4cfd795e2f1943aaa53
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Materials/SimpleTopMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d4d7464e3429a44e090f55a4ac17f110
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5fbf88a484920e615b714316c74ddcb1982857ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9a885e2bd58ba447d8b6058ec9503125
+folderAsset: yes
+timeCreated: 1524502575
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/City.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/City.asset
new file mode 100644
index 0000000000000000000000000000000000000000..41ea7e6aec9a791705c03a3a5db5868658c6adc9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/City.asset
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 324a61621a4444024b4a9423715bd22b, type: 3}
+  m_Name: City
+  m_EditorClassIdentifier: 
+  m_numColors: 9
+  m_keyColor: {r: 0.8161765, g: 0.69962716, b: 0.5521194, a: 1}
+  m_colors:
+  - {r: 0.6328619, g: 0.49346206, b: 0.44425955, a: 1}
+  - {r: 0.6985294, g: 0.6954592, b: 0.64716697, a: 1}
+  - {r: 0.93227565, g: 0.9338235, b: 0.9269572, a: 1}
+  - {r: 0.8897059, g: 0.70093226, b: 0.50373054, a: 1}
+  - {r: 0.5068123, g: 0.56482077, b: 0.63235295, a: 1}
+  - {r: 0.58965516, g: 0.50580156, b: 0.48993406, a: 1}
+  - {r: 0.866, g: 0.628776, b: 0.527394, a: 1}
+  - {r: 0.9191176, g: 0.8699924, b: 0.7096129, a: 1}
+  - {r: 0.593929, g: 0.53991795, b: 0.46728235, a: 1}
+  m_hueRange: 0.118
+  m_saturationRange: 0.144
+  m_valueRange: 0.569
+  m_setBaseColor_Override: 0
+  m_setDetailColor1_Override: 0
+  m_setDetailColor2_Override: 1
+  m_baseColor_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor1_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor2_Override: {r: 0.934, g: 0.9042066, b: 0.8996618, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/City.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/City.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..03893db77965ca4754b6a64b11ef4b034d20608a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/City.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e1b79d6caac0144adada0c548ef06705
+timeCreated: 1520536530
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Cool.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Cool.asset
new file mode 100644
index 0000000000000000000000000000000000000000..e277d64aacbbbb8382147c2789c918115adace8f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Cool.asset
@@ -0,0 +1,30 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 324a61621a4444024b4a9423715bd22b, type: 3}
+  m_Name: Cool
+  m_EditorClassIdentifier: 
+  m_numColors: 5
+  m_keyColor: {r: 0.10294118, g: 0, b: 0.75735295, a: 1}
+  m_colors:
+  - {r: 0.10185269, g: 0.76076436, b: 0.8814387, a: 1}
+  - {r: 0.02051252, g: 0.35250887, b: 0.60667163, a: 1}
+  - {r: 0.5853085, g: 0.11520802, b: 0.8157118, a: 1}
+  - {r: 0.08519433, g: 0.16219918, b: 0.55013573, a: 1}
+  - {r: 0.11049541, g: 0.36344543, b: 0.6154569, a: 1}
+  m_hueRange: 0.21
+  m_saturationRange: 0.203
+  m_valueRange: 0.292
+  m_setBaseColor_Override: 0
+  m_setDetailColor1_Override: 0
+  m_setDetailColor2_Override: 0
+  m_baseColor_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor1_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor2_Override: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Cool.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Cool.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..508249863a4f78675a45d71dc80391790bebb807
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Cool.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2ca96a0df5f70411e848710682ec847b
+timeCreated: 1520470810
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Rainbow.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Rainbow.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f1d8dce89c175f455539a13d87f5f4dba5828c9e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Rainbow.asset
@@ -0,0 +1,33 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 324a61621a4444024b4a9423715bd22b, type: 3}
+  m_Name: Rainbow
+  m_EditorClassIdentifier: 
+  m_numColors: 8
+  m_keyColor: {r: 0.5808824, g: 1, b: 0.92958826, a: 1}
+  m_colors:
+  - {r: 0.80840087, g: 1, b: 0.5808824, a: 1}
+  - {r: 0.5808824, g: 0.9856317, b: 1, a: 1}
+  - {r: 0.66944236, g: 1, b: 0.5808824, a: 1}
+  - {r: 0.9281918, g: 0.5808824, b: 1, a: 1}
+  - {r: 1, g: 0.7957347, b: 0.5808824, a: 1}
+  - {r: 1, g: 0.5808824, b: 0.6061475, a: 1}
+  - {r: 0.5808824, g: 1, b: 0.65120786, a: 1}
+  - {r: 0.77373224, g: 0.5808824, b: 1, a: 1}
+  m_hueRange: 0.537
+  m_saturationRange: 0
+  m_valueRange: 0
+  m_setBaseColor_Override: 0
+  m_setDetailColor1_Override: 0
+  m_setDetailColor2_Override: 0
+  m_baseColor_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor1_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor2_Override: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Rainbow.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Rainbow.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..422767d2c35b046e709dd6e140a2204aaa403d4a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Rainbow.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3da751952f9a14bbdb3da2db7a7a675a
+timeCreated: 1520538484
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Urban.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Urban.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4d4819b5186e9730dd4299511ab36bc41786a3c9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Urban.asset
@@ -0,0 +1,30 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 324a61621a4444024b4a9423715bd22b, type: 3}
+  m_Name: Urban
+  m_EditorClassIdentifier: 
+  m_numColors: 5
+  m_keyColor: {r: 0.424252, g: 0.51017004, b: 0.578, a: 1}
+  m_colors:
+  - {r: 0.4879521, g: 0.619151, b: 0.6111964, a: 1}
+  - {r: 0.4851196, g: 0.50504345, b: 0.50226355, a: 1}
+  - {r: 0.816, g: 0.8017941, b: 0.774, a: 1}
+  - {r: 0.17766227, g: 0.23063363, b: 0.26551723, a: 1}
+  - {r: 0.597, g: 0.5079504, b: 0.33372298, a: 1}
+  m_hueRange: 0.144
+  m_saturationRange: 0.305
+  m_valueRange: 0.253
+  m_setBaseColor_Override: 0
+  m_setDetailColor1_Override: 0
+  m_setDetailColor2_Override: 0
+  m_baseColor_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor1_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor2_Override: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Urban.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Urban.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..30ddb2f5afdbc5e7496473e01bb875ee49dcd499
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Urban.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ef118b5e263da4b1fa4327ca1d3e0c7b
+timeCreated: 1520536530
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Warm.asset b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Warm.asset
new file mode 100644
index 0000000000000000000000000000000000000000..af85a442d9654b6f4ca09f66539480a9dc78461a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Warm.asset
@@ -0,0 +1,30 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 324a61621a4444024b4a9423715bd22b, type: 3}
+  m_Name: Warm
+  m_EditorClassIdentifier: 
+  m_numColors: 5
+  m_keyColor: {r: 1, g: 1, b: 1, a: 1}
+  m_colors:
+  - {r: 0.9222584, g: 0.8659846, b: 0.7840916, a: 1}
+  - {r: 0.74726087, g: 0.6510296, b: 0.54364824, a: 1}
+  - {r: 0.9862331, g: 0.975854, b: 0.9130279, a: 1}
+  - {r: 0.89864534, g: 0.65105844, b: 0.54662365, a: 1}
+  - {r: 0.84467775, g: 0.3877832, b: 0.29807296, a: 1}
+  m_hueRange: 0.185
+  m_saturationRange: 0.682
+  m_valueRange: 0.253
+  m_setBaseColor_Override: 0
+  m_setDetailColor1_Override: 0
+  m_setDetailColor2_Override: 0
+  m_baseColor_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor1_Override: {r: 1, g: 1, b: 1, a: 1}
+  m_detailColor2_Override: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Warm.asset.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Warm.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..672fe1fc366fb0e3c3cee1bbbbe7a0d370558e31
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Palettes/Warm.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b01b6d453d33e40119c0f9472d50c45f
+timeCreated: 1520536530
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..da2768d7fb15843c4167d708276ac7a9572c0834
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ad3eb3b8c15c8417fb462e9ab69c8534
+folderAsset: yes
+timeCreated: 1524502522
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_base.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_base.png
new file mode 100644
index 0000000000000000000000000000000000000000..cecbf35c71fa9394015054af90c8f5756327b9fd
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_base.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_base.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_base.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b22b82b8628d55617b6a19d56e44c235f315506e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_base.png.meta
@@ -0,0 +1,90 @@
+fileFormatVersion: 2
+guid: 4d520150ef3724e4bb52237605c761df
+timeCreated: 1520397460
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_1.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b61b50ecc549eb80b8d067829df094b8acd310b
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_1.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_1.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_1.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec2def97bbb5144fbd914e67e9bbc6c387a56e94
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_1.png.meta
@@ -0,0 +1,121 @@
+fileFormatVersion: 2
+guid: 36bfefc139bfa434daf90848bb333e1d
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 7
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_2.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f98350c31159b3657dd726368ec0f76189112c4
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_2.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_2.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_2.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f705e9c70bda50e143c19f1b9c67f9c96fd708f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasFacades_detailMask_2.png.meta
@@ -0,0 +1,90 @@
+fileFormatVersion: 2
+guid: aaebc04bedf1444bebad66d5386b3744
+timeCreated: 1520398500
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_base.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_base.png
new file mode 100644
index 0000000000000000000000000000000000000000..22f2b00914a2434c2ac0af573d8ec901b7119eab
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_base.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_base.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_base.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e9ce50dedb69ff8938303c3b931e065a2f313ec1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_base.png.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: 89d3c1f500b7e4b8bba0ce9b760e9134
+timeCreated: 1520629671
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_1.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d0686c45d8457be349ca358b30bdd56bb3037ea
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_1.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_1.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_1.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5fd4699feaea81dfd9deb9779dc210329299af4e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_1.png.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: a7ad6933f58d64d56a4879cc266290b3
+timeCreated: 1520629672
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_2.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..599cb471f5aae4efccefe9c3ea0a84f89cf4000c
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_2.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_2.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_2.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..92de1fa5e0ab08ef7ef90862a4000b225fb8ebe1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/Assets/Textures/BuildingAtlasRoofs_detailMask_2.png.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: abf274fea99064d7f9087e58ccaf6d27
+timeCreated: 1520629672
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCityIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCityIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8cf5fa2e24286166f9c5b6f47c69d747cbf76e5
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCityIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCityIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCityIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f42528110f4679062df963e09d60172623093dce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCityIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: ab72bb907cadc4143b9a4fde3bf8e91d
+timeCreated: 1534195776
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCoolIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCoolIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..bdcbafcb3ac0895163e832deb5d448646e033106
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCoolIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCoolIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCoolIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..67a4c85a938dd030e8fdb86019907c9327a3df25
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleCoolIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 11000c2686c4f47a690631b13f750f1e
+timeCreated: 1534195907
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c86bb29d088a6f498c60f1dc4c560cb4c8ae813
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b02e68c62a1cbd486667a48777da9feb689d67d8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 1e03266b76f414711a005e4161875ebc
+timeCreated: 1523562702
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleRainbowIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleRainbowIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b3dee20a8c5eeb7da1c2b3ec003a3428f3466f2
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleRainbowIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleRainbowIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleRainbowIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec2fcab1fc9da09a6906ad716a9ac042a3a5cdae
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleRainbowIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 2fb18699267b74e5395eceee949e24e7
+timeCreated: 1534195907
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleUrbanIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleUrbanIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..30e75bb0c5e5afee1f0ea879980af6830115fbc2
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleUrbanIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleUrbanIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleUrbanIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d7a44f911419de45fb4823b9f2fe21083c0e8f05
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleUrbanIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 11e8148c59b63433db9e2b1006915080
+timeCreated: 1534195675
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleWarmIcon.png b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleWarmIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3364690bc87f8c4bd9e35c61a748fc034a3fe621
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleWarmIcon.png differ
diff --git a/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleWarmIcon.png.meta b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleWarmIcon.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..02b99c88b26f86eca3e51aa9ce4925b30727074e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Resources/MapboxStyles/Styles/MapboxSampleStyles/Simple/SimpleWarmIcon.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 116cb03dcbf31428aa0639bb8f980e8c
+timeCreated: 1534195907
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Shaders.meta b/T3-Unity/Assets/Mapbox/Shaders.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2f3c740c238454e26f17524ab0d0d8aafd6826d5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Shaders.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ce8bcb7ed11f64e35aa8cd9056463e21
+folderAsset: yes
+timeCreated: 1509042932
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Shaders/MapboxStyles.shader b/T3-Unity/Assets/Mapbox/Shaders/MapboxStyles.shader
new file mode 100644
index 0000000000000000000000000000000000000000..1d7ebbe3a4a99375a17890b19e936031810908ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Shaders/MapboxStyles.shader
@@ -0,0 +1,74 @@
+// Upgrade NOTE: upgraded instancing buffer 'Props' to new syntax.
+
+Shader "Mapbox/MapboxStyles"
+{
+	Properties
+	{
+		_BaseColor ("BaseColor", Color) = (1,1,1,1)
+		_DetailColor1 ("DetailColor1", Color) = (1,1,1,1)
+		_DetailColor2 ("DetailColor2", Color) = (1,1,1,1)
+
+		_BaseTex ("Base", 2D) = "white" {}
+		_DetailTex1 ("Detail_1", 2D) = "white" {}
+		_DetailTex2 ("Detail_2", 2D) = "white" {}
+
+		_Emission ("Emission", Range(0.0, 1.0)) = 0.1
+	}
+	SubShader
+	{
+		Tags { "RenderType"="Opaque" }
+		LOD 200
+
+		CGPROGRAM
+		// Physically based Standard lighting model, and enable shadows on all light types
+		#pragma surface surf Standard fullforwardshadows
+
+		// Use shader model 3.0 target, to get nicer looking lighting
+		#pragma target 3.0
+
+		float4 _BaseColor;
+		float4 _DetailColor1;
+		float4 _DetailColor2;
+
+		sampler2D _BaseTex;
+		sampler2D _DetailTex1;
+		sampler2D _DetailTex2;
+
+		float _Emission;
+
+		struct Input
+		{
+			float2 uv_BaseTex, uv_DetailTex1, uv_DetailTex2;
+		};
+
+
+
+		// Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
+		// See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
+		// #pragma instancing_options assumeuniformscaling
+		UNITY_INSTANCING_BUFFER_START(Props)
+			// put more per-instance properties here
+		UNITY_INSTANCING_BUFFER_END(Props)
+
+		void surf (Input IN, inout SurfaceOutputStandard o)
+		{
+			fixed4 baseTexture = tex2D (_BaseTex, IN.uv_BaseTex);
+
+			fixed4 detailTexture1 = tex2D (_DetailTex1, IN.uv_DetailTex1);
+			fixed4 detailTexture2 = tex2D (_DetailTex2, IN.uv_DetailTex2);
+
+			fixed4 baseDetail1_Result = lerp(_BaseColor, _DetailColor1, detailTexture1.a);
+
+			fixed4 detail1Detail2_Result  = lerp(baseDetail1_Result, _DetailColor2, detailTexture2.a);
+
+			fixed4 c = baseTexture *= detail1Detail2_Result;
+			half3 e = c.rgb;
+
+			o.Albedo = c.rgb;
+			o.Emission = e * _Emission;
+			o.Alpha = 1.0;
+		}
+		ENDCG
+	}
+	FallBack "Diffuse"
+}
diff --git a/T3-Unity/Assets/Mapbox/Shaders/MapboxStyles.shader.meta b/T3-Unity/Assets/Mapbox/Shaders/MapboxStyles.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3be2769c9c31378044bd1dcd3f5daea0a4203c12
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Shaders/MapboxStyles.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a58a57c7d09bd4d5a9dd79ebd542fea4
+timeCreated: 1520453579
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Shaders/MapboxStylesPerRenderer.shader b/T3-Unity/Assets/Mapbox/Shaders/MapboxStylesPerRenderer.shader
new file mode 100644
index 0000000000000000000000000000000000000000..00e8a6ea65411593d7121115e7a394c4836aec5a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Shaders/MapboxStylesPerRenderer.shader
@@ -0,0 +1,73 @@
+// Upgrade NOTE: upgraded instancing buffer 'Props' to new syntax.
+
+Shader "Mapbox/MapboxStylesPerRenderer" {
+    Properties 
+    {
+        [PerRendererData]_BaseColor ("BaseColor", Color) = (1,1,1,1)
+        [PerRendererData]_DetailColor1 ("DetailColor1", Color) = (1,1,1,1)
+        [PerRendererData]_DetailColor2 ("DetailColor2", Color) = (1,1,1,1)
+
+        _BaseTex ("Base", 2D) = "white" {}
+        _DetailTex1 ("Detail_1", 2D) = "white" {}
+        _DetailTex2 ("Detail_2", 2D) = "white" {}
+
+        _Emission ("Emission", Range(0.0, 1.0)) = 0.1
+    }
+    SubShader 
+    {
+        Tags { "RenderType"="Opaque" }
+        LOD 200
+        
+        CGPROGRAM
+        // Physically based Standard lighting model, and enable shadows on all light types
+        #pragma surface surf Standard fullforwardshadows
+
+        // Use shader model 3.0 target, to get nicer looking lighting
+        #pragma target 3.0
+
+        float4 _BaseColor;
+        float4 _DetailColor1;
+        float4 _DetailColor2;
+
+        sampler2D _BaseTex;
+        sampler2D _DetailTex1;
+        sampler2D _DetailTex2;
+
+        float _Emission;
+
+        struct Input 
+        {
+            float2 uv_BaseTex, uv_DetailTex1, uv_DetailTex2;
+        };
+        
+        
+
+        // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
+        // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
+        // #pragma instancing_options assumeuniformscaling
+        UNITY_INSTANCING_BUFFER_START(Props)
+            // put more per-instance properties here
+        UNITY_INSTANCING_BUFFER_END(Props)
+
+        void surf (Input IN, inout SurfaceOutputStandard o) 
+        {
+            fixed4 baseTexture = tex2D (_BaseTex, IN.uv_BaseTex);
+            
+            fixed4 detailTexture1 = tex2D (_DetailTex1, IN.uv_DetailTex1);
+            fixed4 detailTexture2 = tex2D (_DetailTex2, IN.uv_DetailTex2);
+
+            fixed4 baseDetail1_Result = lerp(_BaseColor, _DetailColor1, detailTexture1.a);
+
+            fixed4 detail1Detail2_Result  = lerp(baseDetail1_Result, _DetailColor2, detailTexture2.a);
+
+            fixed4 c = baseTexture *= detail1Detail2_Result;
+            half3 e = c.rgb;
+            
+            o.Albedo = c.rgb;
+            o.Emission = e * _Emission;
+            o.Alpha = 1.0;
+        }
+        ENDCG
+    }
+    FallBack "Diffuse"
+}
diff --git a/T3-Unity/Assets/Mapbox/Shaders/MapboxStylesPerRenderer.shader.meta b/T3-Unity/Assets/Mapbox/Shaders/MapboxStylesPerRenderer.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ffdf3ceed1bd6ca4916d1b5bf527134c260966b4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Shaders/MapboxStylesPerRenderer.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 02ca05f28416c4bbab659e473fa74ec6
+timeCreated: 1520623788
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Shaders/RasterWithTransparencyShader.shader b/T3-Unity/Assets/Mapbox/Shaders/RasterWithTransparencyShader.shader
new file mode 100644
index 0000000000000000000000000000000000000000..213cc1099cf8a5159e6aceb83bfcbc41ffd5882c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Shaders/RasterWithTransparencyShader.shader
@@ -0,0 +1,93 @@
+// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
+
+Shader "Mapbox/Raster With Transparency" 
+{
+	Properties 
+	{
+		_Color ("Color", Color) = (1,1,1,1)
+		_MainTex ("Albedo (RGB)", 2D) = "blue" {}
+		_Alpha ("Alpha", Float) = 1
+	}
+
+	Category
+	{
+		Tags { "Queue"="Transparent" "RenderType"="Transparent" }
+		Blend SrcAlpha OneMinusSrcAlpha
+		Cull Off Lighting Off ZWrite Off
+
+		SubShader 
+		{		
+			Pass
+			{
+				BindChannels 
+				{
+					Bind "Color", color
+					Bind "Vertex", vertex
+					Bind "TexCoord", texcoord
+				}
+
+				CGPROGRAM
+				#pragma vertex vert
+				#pragma fragment frag
+			    #pragma multi_compile_particles
+				#pragma fragmentoption ARB_precision_hint_fastest
+
+				#include "UnityCG.cginc"
+
+				// Use shader model 3.0 target, to get nicer looking lighting
+				#pragma target 3.0
+
+				sampler2D _MainTex;
+				float _Alpha;
+				float4 _MainTex_ST;
+								
+				fixed4 _Color;
+
+				struct vertexIn
+				{
+					float4 vertex			: POSITION;
+					float4 texcoord			: TEXCOORD0;
+					fixed4 color			: COLOR;
+				};
+			
+				struct vertexOut 
+				{
+					float4 pos				: SV_POSITION;
+					float2 uv				: UV_COORD0;
+					float4 color			: COLOR;
+					float2 screenspaceUv	: UV_COORD1;
+				};
+
+				vertexOut vert(vertexIn v)
+				{
+					vertexOut o;
+					o.pos = UnityObjectToClipPos (v.vertex);
+					o.color = v.color;
+					o.uv = v.texcoord.xy;
+					o.screenspaceUv = o.pos.xy;
+					return o;
+				}
+
+				fixed4 frag(vertexOut o) : SV_Target
+				{
+					float2 uv = TRANSFORM_TEX(o.uv, _MainTex);
+					fixed4 texColor = tex2D(_MainTex, uv);
+					
+					fixed4 color = o.color * texColor;
+					// check how much color used for transparency equals c.rgb in range 0..1
+					// 1=no match, 0=full match
+					fixed3 delta = texColor.rgb - _Color.rgb;
+					float match = dot(delta,delta);
+                    float threshold = step(match,0.1);
+
+					color.a =  (1 - ((threshold) * (1 -_Color.a))) * _Alpha;
+
+					return color;
+				}
+		 
+				ENDCG
+			}
+		}
+	} 
+	FallBack "Diffuse"
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Shaders/RasterWithTransparencyShader.shader.meta b/T3-Unity/Assets/Mapbox/Shaders/RasterWithTransparencyShader.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..370564afa73119fef6023fb39344f3316ed0d9a0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Shaders/RasterWithTransparencyShader.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4cff8ad2a7f4c41aa929f127a4b62f87
+timeCreated: 1509042938
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Textures.meta b/T3-Unity/Assets/Mapbox/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c0d774142e9792d6dd64e4eb66b34a019054f2cc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Textures.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ddaef7af8cc3345f7a3a01581fb377fd
+folderAsset: yes
+timeCreated: 1495662334
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Fill.png b/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Fill.png
new file mode 100644
index 0000000000000000000000000000000000000000..2982cc72c5840713b0c2b502bda42b4056072e0d
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Fill.png differ
diff --git a/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Fill.png.meta b/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Fill.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4fcb8b0b5cb5d625183f466e3994e25ca0918a15
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Fill.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: ae30072a59a25814e8cfe4b1f70242ed
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -3
+  maxTextureSize: 256
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 0
+    aniso: 16
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 12, y: 12, z: 12, w: 12}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 9cb294e1c9ddb73499cb021a24875726
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: MapboxAttribution
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Stroke_1px.png b/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Stroke_1px.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f0c4e86da16bd303f069175482afabf65094587
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Stroke_1px.png differ
diff --git a/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Stroke_1px.png.meta b/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Stroke_1px.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b7a794cc7fb6ab07a6ebd9f24791b1c50c5317ce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Textures/CornerPanelRadius_12px_Stroke_1px.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 184ca10c8fb4d4c4b988276fd798c9dc
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -3
+  maxTextureSize: 256
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 0
+    aniso: 16
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 12, y: 12, z: 12, w: 12}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: b7d61e95ad35f214f962b8f0a2dd0f7c
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: MapboxAttribution
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Textures/info.png b/T3-Unity/Assets/Mapbox/Textures/info.png
new file mode 100644
index 0000000000000000000000000000000000000000..7aad44dfe632286bf8c597069cbf820074d13250
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Textures/info.png differ
diff --git a/T3-Unity/Assets/Mapbox/Textures/info.png.meta b/T3-Unity/Assets/Mapbox/Textures/info.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..50b4baaa1f50e9466f8d1c0f67b17dec9ee0e709
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Textures/info.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 82852ff66538d44ccb63c5afc39708a5
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -3
+  maxTextureSize: 256
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 0
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: bd5ec2ba38efd814b8620bb148353726
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: MapboxAttribution
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Textures/loadinggrid.png b/T3-Unity/Assets/Mapbox/Textures/loadinggrid.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee926dce62cc9d1e9beb0e254d34fdd4381aca83
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Textures/loadinggrid.png differ
diff --git a/T3-Unity/Assets/Mapbox/Textures/loadinggrid.png.meta b/T3-Unity/Assets/Mapbox/Textures/loadinggrid.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9915d0e259b93306fac5b7d1ed450bc1f7141e18
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Textures/loadinggrid.png.meta
@@ -0,0 +1,106 @@
+fileFormatVersion: 2
+guid: e2896a92727704803a9c422b043eae89
+timeCreated: 1506021165
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 2
+    aniso: -1
+    mipBias: -1
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 2
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 0
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: WebGL
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Textures/mapbox-attribution.png b/T3-Unity/Assets/Mapbox/Textures/mapbox-attribution.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a4c26773158a04c1ef12ee2daaaf2ff9002c969
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Textures/mapbox-attribution.png differ
diff --git a/T3-Unity/Assets/Mapbox/Textures/mapbox-attribution.png.meta b/T3-Unity/Assets/Mapbox/Textures/mapbox-attribution.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7ef3160e3a91bad7f899739c83f76d0ad5658f78
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Textures/mapbox-attribution.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 066eb96836b694d168eff135bd2aeaca
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -3
+  maxTextureSize: 256
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 0
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 50ed7a55d2b39634ea23ad9c946cf68c
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: MapboxAttribution
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Textures/mapbox-logo-white.png b/T3-Unity/Assets/Mapbox/Textures/mapbox-logo-white.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb5cc53f81f65866b67dbb26a8825e17169829b8
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Textures/mapbox-logo-white.png differ
diff --git a/T3-Unity/Assets/Mapbox/Textures/mapbox-logo-white.png.meta b/T3-Unity/Assets/Mapbox/Textures/mapbox-logo-white.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a31abbe9028e683e79cec69866f2e40a8237184f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Textures/mapbox-logo-white.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: fa730453dea644416a34148b2e436e78
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -3
+  maxTextureSize: 256
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 0
+    aniso: 16
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: d7ed3cd5a3996fb47a8a18796f88636a
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: MapboxAttribution
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity.meta b/T3-Unity/Assets/Mapbox/Unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f9884999db417a04a91a4da8fb7068a8c3d8ee3d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 230696630f4b5443484cd2ab1a257186
+folderAsset: yes
+timeCreated: 1490801419
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Constants.cs b/T3-Unity/Assets/Mapbox/Unity/Constants.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d0beadac6ab50869bbbf50ff815b28f1637d67b6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Constants.cs
@@ -0,0 +1,77 @@
+namespace Mapbox.Unity
+{
+	using UnityEngine;
+
+	public static class Constants
+	{
+		public const string SDK_VERSION = "2.1.1";
+		public const string SDK_SKU_ID = "05";
+
+		public static class Path
+		{
+			public const string CONFIG_FILE = "MapboxConfiguration.txt";
+			public const string SCENELIST = "Assets/Mapbox/Resources/Mapbox/ScenesList.asset";
+			public const string SHOULD_COLLECT_LOCATION_KEY = "MAPBOX_SHOULD_COLLECT_LOCATION";
+			public const string TELEMETRY_TURNSTILE_LAST_TICKS_EDITOR_KEY = "MAPBOX_TELEMETRY_TURNSTILE_LAST_TICKS_EDITOR";
+			public const string TELEMETRY_TURNSTILE_LAST_TICKS_FALLBACK_KEY = "MAPBOX_TELEMETRY_TURNSTILE_LAST_TICKS_FALLBACK";
+			public const string DID_PROMPT_CONFIGURATION = "MAPBOX_DID_PROMPT_CONFIGURATION";
+			public static readonly string MAPBOX_RESOURCES_RELATIVE = System.IO.Path.Combine("Mapbox", "MapboxConfiguration");
+			public static readonly string MAPBOX_RESOURCES_ABSOLUTE = System.IO.Path.Combine(System.IO.Path.Combine(Application.dataPath, "Resources"), "Mapbox");
+
+			public static readonly string MAPBOX_USER = System.IO.Path.Combine("Assets", System.IO.Path.Combine("Mapbox", "User"));
+			public static readonly string MAPBOX_USER_MODIFIERS = System.IO.Path.Combine(MAPBOX_USER, "Modifiers");
+
+			public static readonly string MAP_FEATURE_STYLES_DEFAULT_STYLE_ASSETS = System.IO.Path.Combine("MapboxStyles", "DefaultStyleAssets");
+			public static readonly string MAP_FEATURE_STYLES_SAMPLES = System.IO.Path.Combine(System.IO.Path.Combine("MapboxStyles", "Styles"), "MapboxSampleStyles");
+
+			public const string MAPBOX_STYLES_ASSETS_FOLDER = "Assets";
+			public const string MAPBOX_STYLES_ATLAS_FOLDER = "Atlas";
+			public const string MAPBOX_STYLES_MATERIAL_FOLDER = "Materials";
+			public const string MAPBOX_STYLES_PALETTES_FOLDER = "Palettes";
+		}
+
+		/// <summary>
+		/// Store common vector constants to avoid the method access cost of Unity's convenience getters.
+		/// </summary>
+		public static class Math
+		{
+			public static readonly Vector3 Vector3Zero = new Vector3(0, 0, 0);
+			public static readonly Vector3 Vector3Up = new Vector3(0, 1, 0);
+			public static readonly Vector3 Vector3Down = new Vector3(0, -1, 0);
+			public static readonly Vector3 Vector3One = new Vector3(1, 1, 1);
+			public static readonly Vector3 Vector3Forward = new Vector3(0, 0, 1);
+			public static readonly Vector3 Vector3Unused = new Vector3(float.MinValue, float.MinValue, float.MinValue);
+
+			public static Vector3 Vector3Right = new Vector3(1, 0, 0);
+		}
+
+		/// <summary>
+		/// Store common style asset prefixes and suffixes to avoid string spelling errors in code.
+		/// </summary>
+		public static class StyleAssetNames
+		{
+			public const string ALTAS_SUFFIX = "AtlasInfo";
+			public const string PALETTE_SUFFIX = "Palette";
+
+			public const string TOP_MATERIAL_SUFFIX = "TopMaterial";
+			public const string SIDE_MATERIAL_SUFFIX = "SideMaterial";
+		}
+
+		public static class GUI
+		{
+			public static class Colors
+			{
+				public static readonly Color EDITOR_TEXT_COLOR = new Color(0.7f, 0.7f, 0.7f);
+				public static readonly Color EDITOR_NOTE_COLOR = new Color(1.0f, 0.8f, 0.0f);
+				public static readonly Color EDITOR_FEATURE_DEFAULT_COLOR = new Color(0.1764706f, 0.8509805f, 1.0f, 1.0f);
+			}
+
+			public static class Styles
+			{
+				public static readonly GUIStyle EDITOR_NOTE_STYLE = new GUIStyle { wordWrap = true, normal = { textColor = Colors.EDITOR_NOTE_COLOR } };
+				public static readonly GUIStyle EDITOR_TEXTURE_STYLE_DESCRIPTION_STYLE = new GUIStyle { wordWrap = true, normal = { textColor = Colors.EDITOR_TEXT_COLOR } };
+				public static readonly GUIStyle EDITOR_TEXTURE_THUMBNAIL_STYLE = new GUIStyle { imagePosition = ImagePosition.ImageOnly, wordWrap = true };
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Constants.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Constants.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..159d28e1bb42fb4a1739981f644b30267b92fda2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Constants.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b67e8fe074d514541929f4b6866ff464
+timeCreated: 1490302604
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b8e54e90d2db646ba79afc5b8091869001e16cd9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5add2134655e449d5ae03f7b1a0e42db
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/CameraBoundsTileProviderOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/CameraBoundsTileProviderOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3251e1096f4a0a7210bca92cabdb253e9f9f1ccb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/CameraBoundsTileProviderOptions.cs
@@ -0,0 +1,34 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	[Serializable]
+	public class CameraBoundsTileProviderOptions : ExtentOptions
+	{
+		public Camera camera;
+		public int visibleBuffer;
+		public int disposeBuffer;
+
+		public override void SetOptions(ExtentOptions extentOptions)
+		{
+			CameraBoundsTileProviderOptions options = extentOptions as CameraBoundsTileProviderOptions;
+			if (options != null)
+			{
+				camera = options.camera;
+				visibleBuffer = options.visibleBuffer;
+				disposeBuffer = options.disposeBuffer;
+			}
+			else
+			{
+				Debug.LogError("ExtentOptions type mismatch : Using " + extentOptions.GetType() + " to set extent of type " + this.GetType());
+			}
+		}
+
+		public void SetOptions(Camera mapCamera, int visibleRange, int disposeRange)
+		{
+			camera = mapCamera;
+			visibleBuffer = visibleRange;
+			disposeBuffer = disposeRange;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/CameraBoundsTileProviderOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/CameraBoundsTileProviderOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a5c98a71c4f93b4a715fd741d406ec173fdc0fe5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/CameraBoundsTileProviderOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2a954ea9b37a847a796dd7c9a9eec9ef
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ColliderOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ColliderOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9873fc3a8a0811345cdae81a8ae7c696afae9d7f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ColliderOptions.cs
@@ -0,0 +1,34 @@
+using Mapbox.Unity.SourceLayers;
+
+namespace Mapbox.Unity.Map
+{
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using System;
+
+	[Serializable]
+	public class ColliderOptions : ModifierProperties, ISubLayerColliderOptions
+	{
+		public override Type ModifierType
+		{
+			get
+			{
+				return typeof(ColliderModifier);
+			}
+		}
+
+		public ColliderType colliderType = ColliderType.None;
+
+		/// <summary>
+		/// Enable/Disable feature colliders and sets the type of colliders to use.
+		/// </summary>
+		/// <param name="colliderType">Type of the collider to use on features.</param>
+		public virtual void SetFeatureCollider(ColliderType colType)
+		{
+			if (colliderType != colType)
+			{
+				colliderType = colType;
+				HasChanged = true;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ColliderOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ColliderOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5fc49e0737ee62852b4d3423c483daa770042026
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ColliderOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: f38b85c80ace3431c90c6b093436742d
+timeCreated: 1522459497
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationModificationOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationModificationOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..081140de09ef1244f62412b4f80d6e477040c6f0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationModificationOptions.cs
@@ -0,0 +1,17 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+
+	[Serializable]
+	public class ElevationModificationOptions
+	{
+		[Tooltip("Mesh resolution of terrain, results in n x n grid")]
+		[Range(2,255)]
+		public int sampleCount = 10;
+		[Tooltip("Use world relative scale to scale terrain height.")]
+		public bool useRelativeHeight = false;
+		[Tooltip("Earth radius in Unity units.")]
+		public float earthRadius = 1000f;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationModificationOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationModificationOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5db3659b8088872b5f4346edbfcdaf39aeda69f7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationModificationOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 3ea9e2e957a054a95bf8ae23752c1817
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationRequiredOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationRequiredOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6cdeacfb3e4383caf206d0ea73dd02de9a65bdef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationRequiredOptions.cs
@@ -0,0 +1,17 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	[Serializable]
+	public class ElevationRequiredOptions : MapboxDataProperty
+	{
+		[Range(0, 100)]
+		[Tooltip("Multiplication factor to vertically exaggerate elevation on terrain, does not work with Flat Terrain.")]
+		public float exaggerationFactor = 1;
+
+		public override bool NeedsForceUpdate()
+		{
+			return true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationRequiredOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationRequiredOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e5934e09e1050f4ef1a728db4ead2937463380f1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ElevationRequiredOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ec77d5b3f43f8457c96da252d4a01aed
+timeCreated: 1520011256
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ExtentOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ExtentOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4979d139b8a199311dd3a44535e588cee185d0e1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ExtentOptions.cs
@@ -0,0 +1,20 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+
+	public interface ITileProviderOptions
+	{
+	}
+
+	public interface ICameraBoundsExtentOptions : ITileProviderOptions
+	{
+		void SetOptions();
+	}
+
+	public class ExtentOptions : ITileProviderOptions
+	{
+		public virtual void SetOptions(ExtentOptions extentOptions)
+		{
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ExtentOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ExtentOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d8fc03f0bf253cf8bbfc742f2f4a45a40b1a6eb6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ExtentOptions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e2169b8754ae6418f97dcea8b7ca62e2
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryExtrusionOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryExtrusionOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1dd585937760754d1fce3712d5db07fa39a6bcf7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryExtrusionOptions.cs
@@ -0,0 +1,268 @@
+using Mapbox.Unity.SourceLayers;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine;
+
+	[Serializable]
+	public class GeometryExtrusionOptions : ModifierProperties, ISubLayerExtrusionOptions
+	{
+		public override Type ModifierType
+		{
+			get
+			{
+				return typeof(HeightModifier);
+			}
+		}
+
+		[SerializeField]
+		private string _selectedLayerName;
+		public ExtrusionType extrusionType = ExtrusionType.None;
+		public ExtrusionGeometryType extrusionGeometryType = ExtrusionGeometryType.RoofAndSide;
+		[Tooltip("Property name in feature layer to use for extrusion.")]
+		public string propertyName = "height";
+		public string propertyDescription = "";
+		public float minimumHeight = 0f;
+		public float maximumHeight = 0f;
+		[Tooltip("Scale factor to multiply the extrusion value of the feature.")]
+		public float extrusionScaleFactor = 1f;
+
+		public GeometryExtrusionWithAtlasOptions ToGeometryExtrusionWithAtlasOptions()
+		{
+			return new GeometryExtrusionWithAtlasOptions(this);
+		}
+
+
+		/// <summary>
+		/// Disable mesh extrusion for the features in this layer.
+		/// </summary>
+		public virtual void DisableExtrusion()
+		{
+			if (extrusionType != ExtrusionType.None)
+			{
+				extrusionType = ExtrusionType.None;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Sets the height value to be used for Absolute Height extrusion type.
+		/// Same field is used for the maximum height of Range Extrusion type so beware
+		/// of possible side effects.
+		/// </summary>
+		/// <param name="absoluteHeight">Fixed height value for all features in the layer.</param>
+		public virtual void SetAbsoluteHeight(float absoluteHeight)
+		{
+			if (maximumHeight != absoluteHeight)
+			{
+				maximumHeight = absoluteHeight;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Change the minimum and maximum height values used for Range Height option.
+		/// Maximum height is also used for Absolute Height option so beware of possible side
+		/// effects.
+		/// </summary>
+		/// <param name="minHeight">Lower bound to be used for extrusion</param>
+		/// <param name="maxHeight">Top bound to be used for extrusion</param>
+		public virtual void SetHeightRange(float minHeight, float maxHeight)
+		{
+			if (minimumHeight != minHeight ||
+				maximumHeight != maxHeight)
+			{
+				minimumHeight = minHeight;
+				maximumHeight = maxHeight;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Sets the extrusion multiplier which will be used only in the Y axis (height).
+		/// </summary>
+		/// <param name="multiplier">Multiplier value.</param>
+		public virtual void SetExtrusionMultiplier(float multiplier)
+		{
+			if (extrusionScaleFactor != multiplier)
+			{
+				extrusionScaleFactor = multiplier;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Changes extrusion type to "Absolute height" and extrudes all features by
+		/// the given fixed value.
+		/// </summary>
+		/// <param name="geometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="height">Extrusion value</param>
+		/// <param name="scaleFactor">Height multiplier</param>
+		public virtual void EnableAbsoluteExtrusion(ExtrusionGeometryType geometryType, float height, float scaleFactor = 1)
+		{
+			if (extrusionType != ExtrusionType.AbsoluteHeight ||
+				extrusionGeometryType != geometryType ||
+				!Mathf.Approximately(maximumHeight, height) ||
+				!Mathf.Approximately(extrusionScaleFactor, scaleFactor))
+			{
+				extrusionType = ExtrusionType.AbsoluteHeight;
+				extrusionGeometryType = geometryType;
+				maximumHeight = height;
+				extrusionScaleFactor = scaleFactor;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Changes extrusion type to "Property" and extrudes all features by
+		/// the choosen property's value.
+		/// </summary>
+		/// <param name="geometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="propertyAttribute">Name of the property to use for extrusion</param>
+		/// <param name="scaleFactor">Height multiplier</param>
+		public virtual void EnablePropertyExtrusion(ExtrusionGeometryType geometryType, string propertyAttribute = "height", float scaleFactor = 1)
+		{
+			if (extrusionType != ExtrusionType.PropertyHeight ||
+				extrusionGeometryType != geometryType ||
+				propertyName != propertyAttribute ||
+				!Mathf.Approximately(extrusionScaleFactor, scaleFactor))
+			{
+				extrusionType = ExtrusionType.PropertyHeight;
+				extrusionGeometryType = geometryType;
+				propertyName = propertyAttribute;
+				extrusionScaleFactor = scaleFactor;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Changes extrusion type to "Minimum Height" and extrudes all features by
+		/// the choosen property's value such that all vertices (roof) will be
+		/// flat at the lowest vertex elevation (after terrain elevation taken into account).
+		/// </summary>
+		/// <param name="extrusionGeometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="propertyName">Name of the property to use for extrusion</param>
+		/// <param name="extrusionScaleFactor">Height multiplier</param>
+		public virtual void EnableMinExtrusion(ExtrusionGeometryType extrusionGeometryType, string propertyName = "height", float extrusionScaleFactor = 1)
+		{
+			if (extrusionType != ExtrusionType.MinHeight ||
+				this.extrusionGeometryType != extrusionGeometryType ||
+				this.propertyName != propertyName ||
+				!Mathf.Approximately(this.extrusionScaleFactor, extrusionScaleFactor))
+			{
+				extrusionType = ExtrusionType.MinHeight;
+				this.extrusionGeometryType = extrusionGeometryType;
+				this.propertyName = propertyName;
+				this.extrusionScaleFactor = extrusionScaleFactor;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Changes extrusion type to "Range Height" and extrudes all features by
+		/// the choosen property's value such that all vertices (roof) will be
+		/// flat at the highest vertex elevation (after terrain elevation taken into account).
+		/// </summary>
+		/// <param name="extrusionGeometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="propertyName">Name of the property to use for extrusion</param>
+		/// <param name="extrusionScaleFactor">Height multiplier</param>
+		void ISubLayerExtrusionOptions.EnableMaxExtrusion(ExtrusionGeometryType extrusionGeometryType, string propertyName, float extrusionScaleFactor)
+		{
+			if (extrusionType != ExtrusionType.MaxHeight ||
+				this.extrusionGeometryType != extrusionGeometryType ||
+				this.propertyName != propertyName ||
+				!Mathf.Approximately(this.extrusionScaleFactor, extrusionScaleFactor))
+			{
+				this.extrusionType = ExtrusionType.MaxHeight;
+				this.extrusionGeometryType = extrusionGeometryType;
+				this.propertyName = propertyName;
+				this.extrusionScaleFactor = extrusionScaleFactor;
+				HasChanged = true;
+			}
+		}
+
+		/// /// <summary>
+		/// Changes extrusion type to "Minimum Height" and extrudes all features by
+		/// the choosen property's value such that they'll be in provided range.
+		/// Lower values will be increase to Minimum Height and higher values will
+		/// be lowered to Maximum height.
+		/// </summary>
+		/// <param name="extrusionGeometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="minHeight">Lower bound to be used for extrusion</param>
+		/// <param name="maxHeight">Top bound to be used for extrusion</param>
+		/// <param name="extrusionScaleFactor">Height multiplier</param>
+		public virtual void EnableRangeExtrusion(ExtrusionGeometryType extrusionGeometryType, float minHeight, float maxHeight, float extrusionScaleFactor = 1)
+		{
+			if (extrusionType != ExtrusionType.RangeHeight ||
+				this.extrusionGeometryType != extrusionGeometryType ||
+				!Mathf.Approximately(minimumHeight, minHeight) ||
+				!Mathf.Approximately(maximumHeight, maxHeight) ||
+				!Mathf.Approximately(this.extrusionScaleFactor, extrusionScaleFactor))
+			{
+				extrusionType = ExtrusionType.RangeHeight;
+				this.extrusionGeometryType = extrusionGeometryType;
+				minimumHeight = minHeight;
+				maximumHeight = maxHeight;
+				this.extrusionScaleFactor = extrusionScaleFactor;
+				HasChanged = true;
+			}
+		}
+	}
+
+	[Serializable]
+	public class GeometryExtrusionWithAtlasOptions : ModifierProperties
+	{
+		public override Type ModifierType
+		{
+			get
+			{
+				return typeof(TextureSideWallModifier);
+			}
+		}
+		public UvMapType texturingType = UvMapType.Tiled;
+		public AtlasInfo atlasInfo;
+		public ExtrusionType extrusionType = ExtrusionType.None;
+		public ExtrusionGeometryType extrusionGeometryType = ExtrusionGeometryType.RoofAndSide;
+		public string propertyName = "height";
+		public string propertyDescription = "";
+		public float minimumHeight = 0f;
+		public float maximumHeight = 0f;
+		public float extrusionScaleFactor = 1f;
+
+		public GeometryExtrusionWithAtlasOptions()
+		{
+
+		}
+		public GeometryExtrusionWithAtlasOptions(GeometryExtrusionOptions extrusionOptions, UVModifierOptions uvOptions)
+		{
+			extrusionType = extrusionOptions.extrusionType;
+			extrusionGeometryType = extrusionOptions.extrusionGeometryType;
+			propertyName = extrusionOptions.propertyName;
+			minimumHeight = extrusionOptions.minimumHeight;
+			maximumHeight = extrusionOptions.maximumHeight;
+			extrusionScaleFactor = extrusionOptions.extrusionScaleFactor;
+
+			texturingType = uvOptions.texturingType;
+			atlasInfo = uvOptions.atlasInfo;
+		}
+
+		public GeometryExtrusionWithAtlasOptions(GeometryExtrusionOptions extrusionOptions)
+		{
+			extrusionType = extrusionOptions.extrusionType;
+			extrusionGeometryType = extrusionOptions.extrusionGeometryType;
+			propertyName = extrusionOptions.propertyName;
+			minimumHeight = extrusionOptions.minimumHeight;
+			maximumHeight = extrusionOptions.maximumHeight;
+			extrusionScaleFactor = extrusionOptions.extrusionScaleFactor;
+		}
+
+		public GeometryExtrusionWithAtlasOptions(UVModifierOptions uvOptions)
+		{
+			texturingType = uvOptions.texturingType;
+			atlasInfo = uvOptions.atlasInfo;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryExtrusionOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryExtrusionOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..752d95809addbf144cae093b5eb65039b84f6638
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryExtrusionOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6b1ce30c2116b4d1dadcc0fd64b73d86
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryMaterialOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryMaterialOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d029cce14539191dd2d0c5e196cbd09d9341220e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryMaterialOptions.cs
@@ -0,0 +1,329 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	using System.IO;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	[Serializable]
+	public class CustomStyleBundle
+	{
+		public UvMapType texturingType = UvMapType.Tiled;
+		public MaterialList[] materials = new MaterialList[2];
+		public AtlasInfo atlasInfo;
+		public ScriptablePalette colorPalette;
+
+		public CustomStyleBundle()
+		{
+			materials = new MaterialList[2];
+			materials[0] = new MaterialList();
+			materials[1] = new MaterialList();
+		}
+
+		private void AssignAssets(StyleAssetPathBundle styleAssetPathBundle)
+		{
+			Material topMaterial = Resources.Load(styleAssetPathBundle.topMaterialPath, typeof(Material)) as Material;
+			Material sideMaterial = Resources.Load(styleAssetPathBundle.sideMaterialPath, typeof(Material)) as Material;
+
+			AtlasInfo atlas = Resources.Load(styleAssetPathBundle.atlasPath, typeof(AtlasInfo)) as AtlasInfo;
+			ScriptablePalette palette = Resources.Load(styleAssetPathBundle.palettePath, typeof(ScriptablePalette)) as ScriptablePalette;
+
+			materials[0].Materials[0] = new Material(topMaterial);
+			materials[1].Materials[0] = new Material(sideMaterial);
+			atlasInfo = atlas;
+			colorPalette = palette;
+		}
+
+		public void SetDefaultAssets(UvMapType mapType = UvMapType.Atlas)
+		{
+			StyleAssetPathBundle styleAssetPathBundle = new StyleAssetPathBundle("Default", Constants.Path.MAP_FEATURE_STYLES_DEFAULT_STYLE_ASSETS);
+			texturingType = mapType;
+			AssignAssets(styleAssetPathBundle);
+		}
+	}
+
+	[Serializable]
+	public class GeometryMaterialOptions : ModifierProperties, ISubLayerTexturing
+
+	{
+		public override Type ModifierType
+		{
+			get
+			{
+				return typeof(MaterialModifier);
+			}
+		}
+		private SubLayerDarkStyle _darkStyle;
+		public ISubLayerDarkStyle DarkStyle
+		{
+			get
+			{
+				if (_darkStyle == null)
+				{
+					_darkStyle = new SubLayerDarkStyle(this);
+				}
+				return _darkStyle;
+			}
+		}
+
+		private SubLayerLightStyle _lightStyle;
+		public ISubLayerLightStyle LightStyle
+		{
+			get
+			{
+				if (_lightStyle == null)
+				{
+					_lightStyle = new SubLayerLightStyle(this);
+				}
+				return _lightStyle;
+			}
+		}
+
+		private SubLayerColorStyle _colorStyle;
+		public ISubLayerColorStyle ColorStyle
+		{
+			get
+			{
+				if (_colorStyle == null)
+				{
+					_colorStyle = new SubLayerColorStyle(this);
+				}
+				return _colorStyle;
+			}
+		}
+
+		private SubLayerSimpleStyle _simpleStyle;
+		public ISubLayerSimpleStyle SimpleStyle
+		{
+			get
+			{
+				if (_simpleStyle == null)
+				{
+					_simpleStyle = new SubLayerSimpleStyle(this);
+				}
+				return _simpleStyle;
+			}
+		}
+
+		private SubLayerRealisticStyle _realisticStyle;
+		public ISubLayerRealisticStyle RealisticStyle
+		{
+			get
+			{
+				if (_realisticStyle == null)
+				{
+					_realisticStyle = new SubLayerRealisticStyle(this);
+				}
+				return _realisticStyle;
+			}
+		}
+
+		private SubLayerFantasyStyle _fantasyStyle;
+		public ISubLayerFantasyStyle FantasyStyle
+		{
+			get
+			{
+				if (_fantasyStyle == null)
+				{
+					_fantasyStyle = new SubLayerFantasyStyle(this);
+				}
+				return _fantasyStyle;
+			}
+		}
+
+
+		private SubLayerCustomStyle _customStyle;
+		public ISubLayerCustomStyle CustomStyle
+		{
+			get
+			{
+				if (_customStyle == null)
+				{
+					_customStyle = new SubLayerCustomStyle(this);
+				}
+				return _customStyle;
+			}
+		}
+
+		public StyleTypes style;
+
+		public UvMapType texturingType = UvMapType.Tiled;
+		public MaterialList[] materials = new MaterialList[2];
+		public AtlasInfo atlasInfo;
+
+		public float lightStyleOpacity = 1.0f;
+		public float darkStyleOpacity = 1.0f;
+
+		public Color colorStyleColor = Color.white;
+
+		public SamplePalettes samplePalettes;
+
+		public ScriptablePalette colorPalette;
+
+		[SerializeField]
+		public CustomStyleBundle customStyleOptions;
+
+		public GeometryMaterialOptions()
+		{
+			materials = new MaterialList[2];
+			materials[0] = new MaterialList();
+			materials[1] = new MaterialList();
+		}
+
+		/// <summary>
+		/// Sets up default values for GeometryMaterial Options.
+		/// If style is set to Custom, user defined values will be used.
+		/// </summary>
+		public void SetDefaultMaterialOptions()
+		{
+			string styleName = style.ToString();
+
+			if (customStyleOptions == null)
+			{
+				customStyleOptions = new CustomStyleBundle();
+				customStyleOptions.SetDefaultAssets();
+			}
+			if (style == StyleTypes.Custom)
+			{
+				//nothing to do. Use custom settings
+			}
+			else
+			{
+				string samplePaletteName = samplePalettes.ToString();
+
+				string path = Path.Combine(Constants.Path.MAP_FEATURE_STYLES_SAMPLES, Path.Combine(styleName, Constants.Path.MAPBOX_STYLES_ASSETS_FOLDER));
+
+				StyleAssetPathBundle styleAssetPathBundle = new StyleAssetPathBundle(styleName, path, samplePaletteName);
+
+				AssignAssets(styleAssetPathBundle);
+			}
+
+			switch (style)
+			{
+				case StyleTypes.Light:
+					Color lightColor = materials[0].Materials[0].color;
+					lightColor.a = lightStyleOpacity;
+					materials[0].Materials[0].color = lightColor;
+
+					lightColor = materials[1].Materials[0].color;
+					lightColor.a = lightStyleOpacity;
+					materials[1].Materials[0].color = lightColor;
+					break;
+				case StyleTypes.Dark:
+					Color darkColor = materials[0].Materials[0].color;
+					darkColor.a = darkStyleOpacity;
+					materials[0].Materials[0].color = darkColor;
+
+					darkColor = materials[1].Materials[0].color;
+					darkColor.a = darkStyleOpacity;
+					materials[1].Materials[0].color = darkColor;
+					break;
+				case StyleTypes.Color:
+					Color color = colorStyleColor;
+					materials[0].Materials[0].color = color;
+					materials[1].Materials[0].color = color;
+					break;
+				default:
+					break;
+			}
+
+			if (style == StyleTypes.Satellite)
+			{
+				texturingType = UvMapType.Tiled;
+			}
+			else
+			{
+				texturingType = (style != StyleTypes.Custom && style == StyleTypes.Simple) ? UvMapType.AtlasWithColorPalette : UvMapType.Atlas;
+			}
+		}
+
+		private void AssignAssets(StyleAssetPathBundle styleAssetPathBundle)
+		{
+			Material topMaterial = Resources.Load(styleAssetPathBundle.topMaterialPath, typeof(Material)) as Material;
+			Material sideMaterial = Resources.Load(styleAssetPathBundle.sideMaterialPath, typeof(Material)) as Material;
+
+			AtlasInfo atlas = Resources.Load(styleAssetPathBundle.atlasPath, typeof(AtlasInfo)) as AtlasInfo;
+			ScriptablePalette palette = Resources.Load(styleAssetPathBundle.palettePath, typeof(ScriptablePalette)) as ScriptablePalette;
+
+			Material[] tempMaterials = new Material[2];
+
+
+			for (int i = 0; i < materials.Length; i++)
+			{
+				if (materials[i].Materials[0] != null)
+				{
+					tempMaterials[i] = materials[i].Materials[0];
+					materials[i].Materials[0] = null;
+				}
+			}
+
+			materials[0].Materials[0] = new Material(topMaterial);
+			materials[1].Materials[0] = new Material(sideMaterial);
+
+			for (int i = 0; i < materials.Length; i++)
+			{
+				if (tempMaterials[i] != null)
+				{
+					tempMaterials[i].Destroy();
+				}
+			}
+
+			Resources.UnloadUnusedAssets();
+
+			atlasInfo = atlas;
+			colorPalette = palette;
+
+		}
+
+		public void SetDefaultAssets(UvMapType mapType = UvMapType.Atlas)
+		{
+			StyleAssetPathBundle styleAssetPathBundle = new StyleAssetPathBundle("Default", Constants.Path.MAP_FEATURE_STYLES_DEFAULT_STYLE_ASSETS);
+			texturingType = mapType;
+			AssignAssets(styleAssetPathBundle);
+		}
+
+		/// <summary>
+		/// Sets the type of the style.
+		/// </summary>
+		/// <param name="styleType">Style type.</param>
+		public void SetStyleType(StyleTypes styleType)
+		{
+			style = styleType;
+			HasChanged = true;
+		}
+
+
+		/// <summary>
+		/// Gets the type of style used in the layer.
+		/// </summary>
+		/// <returns>The style type.</returns>
+		public virtual StyleTypes GetStyleType()
+		{
+			return style;
+		}
+
+	}
+
+	[Serializable]
+	public class UVModifierOptions : ModifierProperties
+	{
+		public override Type ModifierType
+		{
+			get
+			{
+				return typeof(PolygonMeshModifier);
+			}
+		}
+		public StyleTypes style;
+		public UvMapType texturingType = UvMapType.Tiled;
+		public AtlasInfo atlasInfo;
+
+		public GeometryExtrusionWithAtlasOptions ToGeometryExtrusionWithAtlasOptions()
+		{
+			return new GeometryExtrusionWithAtlasOptions(this);
+		}
+	}
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryMaterialOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryMaterialOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8fa01a768984d042753b58670bbd8c58d587d6dd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/GeometryMaterialOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 86b7939f38d364d049e29aea11e9652c
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ImageryRasterOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ImageryRasterOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c6386c15b25ae621a96994244b852f83dac7845f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ImageryRasterOptions.cs
@@ -0,0 +1,20 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	[Serializable]
+	public class ImageryRasterOptions : MapboxDataProperty
+	{
+		[Tooltip("Use higher resolution Mapbox imagery for retina displays; better visual quality and larger texture sizes.")]
+		public bool useRetina = false;
+		[Tooltip("Use Unity compression for the tile texture.")]
+		public bool useCompression = false;
+		[Tooltip("Use texture with Unity generated mipmaps.")]
+		public bool useMipMap = false;
+
+		public override bool NeedsForceUpdate()
+		{
+			return true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/ImageryRasterOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ImageryRasterOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ad270e06039e7361534e0a01dffed3b11ed6bd5d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/ImageryRasterOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: da8808496e454427ea89228f08bd6f78
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerModifierOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerModifierOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fed7fc29b594cdb0fd33fc967cc1a24fb51d4a84
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerModifierOptions.cs
@@ -0,0 +1,17 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using Mapbox.Unity.Utilities;
+
+	[Serializable]
+	public class LayerModifierOptions
+	{
+		public PositionTargetType moveFeaturePositionTo;
+		[NodeEditorElement("Mesh Modifiers")]
+		public List<MeshModifier> MeshModifiers;
+		[NodeEditorElement("Game Object Modifiers")]
+		public List<GameObjectModifier> GoModifiers;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerModifierOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerModifierOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d8b78c77c3f5c056936cb5b4553c10aa3698c880
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerModifierOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 7ad2d6d13d7344c03aa1317615ba9aea
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerPerformanceOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerPerformanceOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8a33f51c808c118d627dd14f02801b383fc173e3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerPerformanceOptions.cs
@@ -0,0 +1,25 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+
+	[Serializable]
+	public class LayerPerformanceOptions : MapboxDataProperty
+	{
+		[Tooltip("Enable Coroutines to distribute tile loading using coroutines, reduces the load on the main thread and keeps applications responsive. First load may be slower but subsequent loading will be faster. ")]
+		public bool isEnabled = true;
+		[Tooltip("Number of feature entities to group in one single coroutine call. ")]
+		public int entityPerCoroutine = 20;
+
+		public override bool HasChanged
+		{
+			set
+			{
+				if (value == true)
+				{
+					OnPropertyHasChanged(new VectorLayerUpdateArgs { property = this });
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerPerformanceOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerPerformanceOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5d10ac22d93d4ae66a133b1799c59da2f6df12d6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerPerformanceOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 06b8a4cffda584d2995645a0c0c69bc5
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerSourceOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerSourceOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fd3f07bcda9af1a91665c7210ec2261f8894f610
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerSourceOptions.cs
@@ -0,0 +1,32 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+
+	[Serializable]
+	public class Style
+	{
+		public string Name;
+		public string Id;
+		public string Modified;
+		public string UserName;
+	}
+
+	[Serializable]
+	public class LayerSourceOptions
+	{
+		public bool isActive;
+		public Style layerSource;
+
+		public string Id
+		{
+			get
+			{
+				return layerSource.Id;
+			}
+			set
+			{
+				layerSource.Id = value;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerSourceOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerSourceOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bb75a23eac91917b0724605990fb8843b9b97635
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LayerSourceOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2d109dd8fa7ac4aefa3e2dabac3a3e58
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LineGeometryOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LineGeometryOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0f01cbe885d6292fb8c784c6147ed470a364ee78
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LineGeometryOptions.cs
@@ -0,0 +1,74 @@
+using Mapbox.Unity.SourceLayers;
+using UnityEngine;
+
+namespace Mapbox.Unity.Map
+{
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using System;
+
+	[Serializable]
+	public class LineGeometryOptions : ModifierProperties, ISubLayerLineGeometryOptions
+	{
+		public override Type ModifierType
+		{
+			get
+			{
+				return typeof(LineMeshModifier);
+			}
+		}
+
+		[Tooltip("Width of the line feature.")]
+		public float Width = 1.0f;
+
+		[Tooltip("Miter Limit")]
+		public float MiterLimit = 0.2f;
+
+		[Tooltip("Round Limit")]
+		public float RoundLimit = 1.05f;
+
+		[Tooltip("Join type of the line feature")]
+		public JoinType JoinType = JoinType.Round;
+
+		[Tooltip("Cap type of the line feature")]
+		public JoinType CapType = JoinType.Round;
+
+		/// <summary>
+		/// Sets the width of the mesh generated for line features.
+		/// </summary>
+		/// <param name="width">Width of the mesh generated for line features.</param>
+		public void SetLineWidth(float width)
+		{
+			if (Width != width)
+			{
+				Width = width;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Sets the type of line joints
+		/// </summary>
+		/// <param name="join">Type of the joint</param>
+		public void SetJoinType(LineJoinType join)
+		{
+			if ((int)JoinType != (int)join)
+			{
+				JoinType = (JoinType)join;
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Sets the type of line beginging and ending caps
+		/// </summary>
+		/// <param name="join">Type of the line begin and end caps</param>
+		public void SetCapType(LineCapType cap)
+		{
+			if ((int)CapType != (int)cap)
+			{
+				CapType = (JoinType)cap;
+				HasChanged = true;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LineGeometryOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LineGeometryOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..222963f1646cc401c5c4428b2290aaaa3c716cfe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LineGeometryOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: cfba2df2ab678ce4c9dd019820140980
+timeCreated: 1522459497
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LocationPrefabCategoryOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LocationPrefabCategoryOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a046ace94fbad8999f2e5f97f4d2730db2c69038
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LocationPrefabCategoryOptions.cs
@@ -0,0 +1,72 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using System.Collections.Generic;
+
+	public static class LocationPrefabCategoryOptions
+	{
+
+		static LocationPrefabCategoryOptions()
+		{
+			PopulateCategoriesToMakiDictionary();
+		}
+
+		private static Dictionary<LocationPrefabCategories, List<string>> CategoriesToMakiDictionary = new Dictionary<LocationPrefabCategories, List<string>>
+		{
+			{LocationPrefabCategories.ArtsAndEntertainment,new List<string>{"art-gallery", "cinema", "stadium", "museum", "library", "zoo", "music", "theatre", "amusement-park"}},
+			{LocationPrefabCategories.Food,new List<string>{"cafe", "bakery", "fast-food", "grocery", "ice-cream", "restaurant"}},
+			{LocationPrefabCategories.Nightlife,new List<string>{"bar", "beer"}},
+			{LocationPrefabCategories.OutdoorsAndRecreation,new List<string>{"aquarium", "campsite", "attraction", "castle", "cemetery", "dog-park", "drinking-water", "garden", "golf", "monument", "park", "picnic-site", "playground", "swimming"}},
+			{LocationPrefabCategories.Services,new List<string>{"bank", "dentist", "toilet", "veterinary", "pharmacy", "college", "school", "hospital", "place-of-worship", "religious-christian", "religious-jewish", "religious-muslim", "police", "post", "doctor", "fire-station", "information", "town-hall", "prison", "embassy", "fuel", "laundry", "lodging"}},
+			{LocationPrefabCategories.Shops,new List<string>{"alcohol-shop", "clothing-store", "shop"}},
+			{LocationPrefabCategories.Transportation,new List<string>{"bus", "car", "bicycle-share", "bicycle", "airfield", "ferry", "harbor", "heliport"}},
+		};
+
+		private static Dictionary<string, LocationPrefabCategories> MakiToCategoriesDictionary = new Dictionary<string, LocationPrefabCategories>();
+
+
+		//Creates a reverse reference from the CategoriesToMakiDictionary
+		private static void PopulateCategoriesToMakiDictionary ()
+		{
+			foreach(var item in CategoriesToMakiDictionary)
+			{
+				foreach(string makiTag in item.Value)
+				{
+					if (!MakiToCategoriesDictionary.ContainsKey(makiTag))
+					{
+						MakiToCategoriesDictionary.Add(makiTag, item.Key);
+					}
+				}
+			}
+		}
+
+		/// <summary>
+		/// Gets the maki tags list from a <see cref="LocationPrefabCategories"/> category
+		/// </summary>
+		/// <returns>The list of maki tags from supplied category.</returns>
+		/// <param name="category"><see cref="LocationPrefabCategories"/></param>
+		public static List<string> GetMakiListFromCategory(LocationPrefabCategories category)
+		{
+			List<string> returnList = new List<string>();
+
+			CategoriesToMakiDictionary.TryGetValue(category, out returnList);
+
+			return returnList;
+		}
+
+		/// <summary>
+		/// Gets the <see cref="LocationPrefabCategories"/> category that the maki tag belongs to.
+		/// </summary>
+		/// <returns>The <see cref="LocationPrefabCategories"/>category from maki tag.</returns>
+		/// <param name="makiTag">Maki tag</param>
+		public static LocationPrefabCategories GetCategoryFromMakiTag(string makiTag)
+		{
+			LocationPrefabCategories returnCategory;
+
+			if (MakiToCategoriesDictionary.TryGetValue(makiTag, out returnCategory))
+				return returnCategory;
+
+			return LocationPrefabCategories.AnyCategory;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/LocationPrefabCategoryOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LocationPrefabCategoryOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6b846f0bc3f8866fb08bb063ee1efbf503d3a65d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/LocationPrefabCategoryOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: fcad5e29c050446fb8a3d19a42549875
+timeCreated: 1523660773
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapExtentOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapExtentOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d0fe4d5558aff90c1f788aff17d323f049396e50
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapExtentOptions.cs
@@ -0,0 +1,46 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+
+	[Serializable]
+	public class MapExtentOptions : MapboxDataProperty
+	{
+		public MapExtentType extentType = MapExtentType.CameraBounds;
+		public DefaultMapExtents defaultExtents = new DefaultMapExtents();
+
+		public MapExtentOptions(MapExtentType type)
+		{
+			extentType = type;
+		}
+
+		public ExtentOptions GetTileProviderOptions()
+		{
+			ExtentOptions options = new ExtentOptions();
+			switch (extentType)
+			{
+				case MapExtentType.CameraBounds:
+					options = defaultExtents.cameraBoundsOptions;
+					break;
+				case MapExtentType.RangeAroundCenter:
+					options = defaultExtents.rangeAroundCenterOptions;
+					break;
+				case MapExtentType.RangeAroundTransform:
+					options = defaultExtents.rangeAroundTransformOptions;
+					break;
+				default:
+					break;
+			}
+			return options;
+		}
+	}
+
+
+	[Serializable]
+	public class DefaultMapExtents : MapboxDataProperty
+	{
+		public CameraBoundsTileProviderOptions cameraBoundsOptions = new CameraBoundsTileProviderOptions();
+		public RangeTileProviderOptions rangeAroundCenterOptions = new RangeTileProviderOptions();
+		public RangeAroundTransformTileProviderOptions rangeAroundTransformOptions = new RangeAroundTransformTileProviderOptions();
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapExtentOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapExtentOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..37d01713f420574a2bf8d9d010037d701a2bb8c8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapExtentOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: fe478189bf1ab44ce81a642a8a46a211
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapLocationOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapLocationOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..30a95045c99ad5e00e87fde3cea3d1b0af124296
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapLocationOptions.cs
@@ -0,0 +1,20 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	using Mapbox.Unity.Utilities;
+	[Serializable]
+	public class MapLocationOptions : MapboxDataProperty
+	{
+		[Geocode]
+		[Tooltip("The coordinates to build a map around")]
+		public string latitudeLongitude = "0,0";
+		[Range(0, 22)]
+		[Tooltip("The zoom level of the map")]
+		public float zoom = 4.0f;
+
+		//TODO : Add Coordinate conversion class. 
+		[NonSerialized]
+		public MapCoordinateSystemType coordinateSystemType = MapCoordinateSystemType.WebMercator;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapLocationOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapLocationOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3aeffab87d7301e4fb18d8d4442baee7d7b0d19d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapLocationOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 53cdeb2ee544b4361845e801728f9950
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..daeb42a767ff80746702f7a535f47a936e7aa1b6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapOptions.cs
@@ -0,0 +1,22 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	[Serializable]
+	public class MapOptions : MapboxDataProperty
+	{
+		public MapLocationOptions locationOptions = new MapLocationOptions();
+		public MapExtentOptions extentOptions = new MapExtentOptions(MapExtentType.RangeAroundCenter);
+		public MapPlacementOptions placementOptions = new MapPlacementOptions();
+		public MapScalingOptions scalingOptions = new MapScalingOptions();
+		[Tooltip("Texture used while tiles are loading.")]
+		public Texture2D loadingTexture = null;
+		public Material tileMaterial = null;
+	}
+
+	[Serializable]
+	public class EditorPreviewOptions : MapboxDataProperty
+	{
+		public bool isPreviewEnabled = false;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f3896167cba753dcd59f651696501052f076f1ea
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5d04cfc6bdccb40148fc327eca9fd012
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapPlacementOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapPlacementOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..176813cc397cc6c8ca8e058a52e97b5cfc8baf4b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapPlacementOptions.cs
@@ -0,0 +1,13 @@
+using Mapbox.Unity.Map.Interfaces;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	[Serializable]
+	public class MapPlacementOptions : MapboxDataProperty
+	{
+		public MapPlacementType placementType = MapPlacementType.AtLocationCenter;
+		public bool snapMapToZero = false;
+		public IMapPlacementStrategy placementStrategy;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapPlacementOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapPlacementOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a343e2b5c16da500579e8735949f3890d3ea13ca
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapPlacementOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c075375ebec1542e9938c24aee596fca
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapScalingOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapScalingOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..afe2fed556c6542fcc2c1be39221ee77a7a92107
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapScalingOptions.cs
@@ -0,0 +1,17 @@
+using Mapbox.Unity.Map.Interfaces;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+
+	[Serializable]
+	public class MapScalingOptions : MapboxDataProperty
+	{
+		public MapScalingType scalingType = MapScalingType.Custom;
+		[Tooltip("Size of each tile in Unity units.")]
+		public float unityTileSize = 100f;
+
+		public IMapScalingStrategy scalingStrategy;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapScalingOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapScalingOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..05f8ea4556f09259e8d4e2f6ff7f2ca8c6048c3c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapScalingOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 854768e662c984068bc22c2607fb9a45
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxDataProperty.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxDataProperty.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d3e8c518c38a25ee499ce06f95014a7217427b06
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxDataProperty.cs
@@ -0,0 +1,35 @@
+using Mapbox.Unity.MeshGeneration.Data;
+
+namespace Mapbox.Unity.Map
+{
+	public abstract class MapboxDataProperty
+	{
+		public event System.EventHandler PropertyHasChanged;
+		protected virtual void OnPropertyHasChanged(System.EventArgs e)
+		{
+			System.EventHandler handler = PropertyHasChanged;
+			if (handler != null)
+			{
+				handler(this, e);
+			}
+		}
+		public virtual bool HasChanged
+		{
+			set
+			{
+				if (value == true)
+				{
+					OnPropertyHasChanged(null /*Pass args here */);
+				}
+			}
+		}
+		public virtual bool NeedsForceUpdate()
+		{
+			return false;
+		}
+		public virtual void UpdateProperty(UnityTile tile)
+		{
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxDataProperty.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxDataProperty.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f1ed43ab1fb33c6d75dafbff1e71ddb363d3d1b8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxDataProperty.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d7e99aece91ce4463b09850af8e3df52
+timeCreated: 1536268482
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxEnums.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxEnums.cs
new file mode 100644
index 0000000000000000000000000000000000000000..22d74bd0edaa002470e1b94e2a4ba30736140120
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxEnums.cs
@@ -0,0 +1,422 @@
+namespace Mapbox.Unity.Map
+{
+	using System.ComponentModel;
+
+	// Map related enums
+	public enum MapPresetType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map with imagery and terrain, used along with a location provider.")]
+#endif
+		LocationBasedMap,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map with imagery and terrain and vector data - building,roads and poi's.")]
+#endif
+		WorldSimulator,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map with imagery and terrain and vector data, used for AR tabletop scenario.")]
+#endif
+		ARTableTop,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map with imagery and terrain and vector data, used for world scale AR scenario.")]
+#endif
+		ARWorldScale,
+	}
+
+	public enum MapPlacementType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map's root is located at the center of tile containing location specified.")]
+#endif
+		AtTileCenter,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map's root is located at the location specified.")]
+#endif
+		AtLocationCenter
+	}
+
+	public enum MapScalingType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map is rendered at actual scale, unity to mercator conversion factor is ignored. ")]
+#endif
+		WorldScale,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map is rendered at the scale defined by unity to mercator conversion factor. ")]
+#endif
+		Custom
+	}
+
+	public enum MapUnitType
+	{
+		meters,
+		kilometers,
+		miles
+	}
+
+	public enum MapExtentType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map extent defined by the camera's viewport bounds.")]
+#endif
+		CameraBounds,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map extent defined by range of tiles around map's center tile.")]
+#endif
+		RangeAroundCenter,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map extent defined by range of tiles around a target transform.")]
+#endif
+		RangeAroundTransform,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Map extent defined by custom tile provider.")]
+#endif
+		Custom,
+	}
+
+	public enum MapCoordinateSystemType
+	{
+		WebMercator,
+	}
+
+	//Layer related enums.
+	public enum MapLayerType
+	{
+		Imagery,
+		Elevation,
+		Vector
+	}
+
+	public enum VectorPrimitiveType
+	{
+		Point,
+		Line,
+		Polygon,
+		Custom
+	}
+
+	public enum UvMapType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Use image texture using tiled UV.")]
+#endif
+		Tiled = 0,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Use an image texture atlas to define textures for roof & sides of buildings.")]
+#endif
+		Atlas = 2,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Use an image texture atlas and a color pallete to define textures for roof & sides of buildings.")]
+#endif
+		AtlasWithColorPalette = 3,
+	}
+
+	public enum ImagerySourceType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Streets is a comprehensive, general-purpose map that emphasizes accurate, legible styling of road and transit networks")]
+#endif
+		MapboxStreets,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Outdoors is a general-purpose map with curated tilesets and specialized styling tailored to hiking, biking, and the most adventurous use cases.")]
+#endif
+		MapboxOutdoors,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Light and Mapbox Dark are subtle, full-featured maps designed to provide geographic context while highlighting the data on your analytics dashboard, data visualization, or data overlay.")]
+#endif
+		MapboxDark,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Light and Mapbox Dark are subtle, full-featured maps designed to provide geographic context while highlighting the data on your analytics dashboard, data visualization, or data overlay.")]
+#endif
+		MapboxLight,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Satellite is our full global base map that is perfect as a blank canvas or an overlay for your own data.")]
+#endif
+		MapboxSatellite,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Satellite Streets combines our Mapbox Satellite with vector data from Mapbox Streets. The comprehensive set of road, label, and POI information brings clarity and context to the crisp detail in our high-resolution satellite imagery.")]
+#endif
+		MapboxSatelliteStreet,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Use custom tilesets created using Mapbox studio.")]
+#endif
+		Custom,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Turn off image rendering.")]
+#endif
+		None
+	}
+
+	public enum ElevationSourceType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Terrain provides digital elevation model with worldwide coverage. ")]
+#endif
+		MapboxTerrain,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Use custom digital elevation model tileset.")]
+#endif
+		Custom,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Render flat terrain.")]
+#endif
+		None
+	}
+
+	public enum VectorSourceType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Streets along with unique identifiers for building features. Combines building footprints that may be in different tiles.")]
+#endif
+		MapboxStreetsWithBuildingIds = 0,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Streets vector tiles are largely based on data from OpenStreetMap, a free & global source of geographic data built by volunteers.")]
+#endif
+		MapboxStreets = 1,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Streets vector tiles are largely based on data from OpenStreetMap, a free & global source of geographic data built by volunteers.")]
+#endif
+		MapboxStreetsV8WithBuildingIds = -1,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mapbox Streets vector tiles are largely based on data from OpenStreetMap, a free & global source of geographic data built by volunteers.")]
+#endif
+		MapboxStreetsV8 = -2,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Use custom tilesets created using Mapbox studio. ")]
+#endif
+		Custom = 2,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Turn off vector data rendering.")]
+#endif
+		None = 3
+	}
+	public enum ElevationLayerType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Render flat terrain with no elevation.")]
+#endif
+		FlatTerrain,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Render terrain with elevation from the source specified.")]
+#endif
+		TerrainWithElevation,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Render low polygon terrain with elevation from the source specified")]
+#endif
+		LowPolygonTerrain,
+
+		// TODO : Might want to reconsider this option.
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Render terrain with no elevation for a globe.")]
+#endif
+		GlobeTerrain
+	}
+
+	public enum TileTerrainType
+	{
+		//starting from -1 to match ElevationLayerType
+		None = -1,
+		Flat = 0,
+		Elevated = 1,
+		LowPoly = 2,
+		Globe = 3
+	}
+
+	public enum ExtrusionType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("No extrusion.")]
+#endif
+		None,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Extrude features using the property value.")]
+#endif
+		PropertyHeight,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Extrude features using the property value. Sets height based on property's minimum height, if height isn't uniform. Results in flat tops.")]
+#endif
+		MinHeight,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Extrude features using the property value. Sets height based on property's maximum height, if height isn't uniform. Results in flat tops.")]
+#endif
+		MaxHeight,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Extrude features using the property value. Values are clamped in to min and max values if they are lower or greater than min,max values respectively.")]
+#endif
+		RangeHeight,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Extrude all features using the fixed value.")]
+#endif
+		AbsoluteHeight,
+
+
+	}
+
+	public enum ExtrusionGeometryType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Extrudes both roof and side wall geometry of the vector feature.")]
+#endif
+		RoofAndSide,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Extrudes only roof geometry of the vector feature.")]
+#endif
+		RoofOnly,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Extrudes only side wall geometry of the vector feature.")]
+#endif
+		SideOnly,
+	}
+
+	public enum ColliderType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("No collider.")]
+#endif
+		None,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Box collider addded to the GameObject.")]
+#endif
+		BoxCollider,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Mesh collider added to the GameObject.")]
+#endif
+		MeshCollider,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Sphere collider added to the GameObject.")]
+#endif
+		SphereCollider,
+	}
+
+	public enum MapFeatureType
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Building Layer.")]
+#endif
+		Building,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Road Layer.")]
+#endif
+		Road,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Parkland Layer.")]
+#endif
+		Parkland,
+	};
+
+	public enum StyleTypes
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Custom style.")]
+#endif
+		Custom,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Simple style combines stylized vector designs with scriptable palettes to create a simple, procedurally colored rendering style.")]
+#endif
+		Simple,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Light style uses colored materials to create light, greyscale shading for your map.")]
+#endif
+		Light,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Dark style uses colored materials to create dark, greyscale shading for your map.")]
+#endif
+		Dark,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Realistic style combines modern, urban designs with physically based rendering materials to help create a contemporary, realistic rendering style.")]
+#endif
+		Realistic,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Fantasy style combines old world medieval designs with physically based rendering materials to help create a fantasy rendering style.")]
+#endif
+		Fantasy,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Satellite style uses high-resolution satellite imagery as a texture set. The comprehensive set of road, label, and POI information brings clarity and context to the crisp detail in our high-resolution satellite imagery.")]
+#endif
+		Satellite,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Color style uses user-defined color and opacity to create colorful, flat shading for your map.")]
+#endif
+		Color,
+	}
+
+	public enum SamplePalettes
+	{
+		City,
+		Urban,
+		Warm,
+		Cool,
+		Rainbow
+	}
+
+	public enum LocationPrefabFindBy
+	{
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Display points of interest based on a choice of categories")]
+#endif
+		MapboxCategory,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Display points of interest based on name")]
+#endif
+		POIName,
+#if !ENABLE_WINMD_SUPPORT
+		[Description("Display points of interest at specific address or geographical co-ordinates on the map")]
+#endif
+		AddressOrLatLon,
+	}
+
+	public enum LocationPrefabCategories
+	{
+		None = 0,
+		AnyCategory = ~0,
+		ArtsAndEntertainment = 1 << 0,
+		Food = 1 << 1,
+		Nightlife = 1 << 2,
+		OutdoorsAndRecreation = 1 << 3,
+		Services = 1 << 4,
+		Shops = 1 << 5,
+		Transportation = 1 << 6
+	}
+
+	public enum FeatureProcessingStage
+	{
+		PreProcess,
+		Process,
+		PostProcess
+	}
+
+	public enum PresetFeatureType
+	{
+		Buildings,
+		Roads,
+		Landuse,
+		Points,
+		Custom
+	}
+
+	public enum JoinType
+	{
+		Miter = 0,
+		Round = 1,
+		Bevel = 2,
+		Butt,
+		Square,
+		Fakeround,
+		Flipbevel
+	}
+
+	public enum LineJoinType
+	{
+		Miter = 0,
+		Round = 1,
+		Bevel = 2
+	}
+
+	public enum LineCapType
+	{
+		Butt = 3,
+		Round = 1,
+		Square = 4
+	}
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxEnums.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxEnums.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1280af8f75f60280b21a63dded5cbe6ef70db47e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/MapboxEnums.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 076cfb625c7cd447089acf2294b1d75e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeAroundTransformTileProviderOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeAroundTransformTileProviderOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f70fdb98b3af2f23b2660944b578406f88606223
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeAroundTransformTileProviderOptions.cs
@@ -0,0 +1,31 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	[Serializable]
+	public class RangeAroundTransformTileProviderOptions : ExtentOptions
+	{
+		public Transform targetTransform;
+		public int visibleBuffer;
+		public int disposeBuffer;
+
+		public override void SetOptions(ExtentOptions extentOptions)
+		{
+			RangeAroundTransformTileProviderOptions options = extentOptions as RangeAroundTransformTileProviderOptions;
+			if (options != null)
+			{
+				SetOptions(options.targetTransform, options.visibleBuffer, options.disposeBuffer);
+			}
+			else
+			{
+				Debug.LogError("ExtentOptions type mismatch : Using " + extentOptions.GetType() + " to set extent of type " + this.GetType());
+			}
+		}
+		public void SetOptions(Transform tgtTransform = null, int visibleRange = 1, int disposeRange = 1)
+		{
+			targetTransform = tgtTransform;
+			visibleBuffer = visibleRange;
+			disposeBuffer = disposeRange;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeAroundTransformTileProviderOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeAroundTransformTileProviderOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9418ced3d480a43f07d11a4ae64a497d792c0306
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeAroundTransformTileProviderOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: fe9e24e68033f4630b1635d66c71a3cc
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeTileProviderOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeTileProviderOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d60e87c472add55379bef77dd2a5a497d094045c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeTileProviderOptions.cs
@@ -0,0 +1,42 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+
+	[Serializable]
+	public class RangeTileProviderOptions : ExtentOptions
+	{
+		[Range(0, 10)]
+		public int west = 1;
+		[Range(0, 10)]
+		public int north = 1;
+		[Range(0, 10)]
+		public int east = 1;
+		[Range(0, 10)]
+		public int south = 1;
+
+		public override void SetOptions(ExtentOptions extentOptions)
+		{
+			RangeTileProviderOptions options = extentOptions as RangeTileProviderOptions;
+			if (options != null)
+			{
+				west = options.west;
+				north = options.north;
+				east = options.east;
+				south = options.south;
+			}
+			else
+			{
+				Debug.LogError("ExtentOptions type mismatch : Using " + extentOptions.GetType() + " to set extent of type " + this.GetType());
+			}
+		}
+
+		public void SetOptions(int northRange = 1, int southRange = 1, int eastRange = 1, int westRange = 1)
+		{
+			west = westRange;
+			north = northRange;
+			east = eastRange;
+			south = southRange;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeTileProviderOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeTileProviderOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bef029c20836cedd6a8c0ea736e7262591fdc353
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/RangeTileProviderOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c619de083ef9446b4b774933701dd923
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/SpawnPrefabOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/SpawnPrefabOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1ff4ad40a3bcef81bd0e0a7d951c442f7fb1da63
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/SpawnPrefabOptions.cs
@@ -0,0 +1,26 @@
+namespace Mapbox.Unity.Map
+{
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using System;
+	using Mapbox.Unity.Map;
+
+	[Serializable]
+	public class SpawnPrefabOptions : ModifierProperties
+	{
+		public override Type ModifierType
+		{
+			get
+			{
+				return typeof(PrefabModifier);
+			}
+		}
+
+		public GameObject prefab;
+		public bool scaleDownWithWorld = true;
+		[NonSerialized]
+		public Action<List<GameObject>> AllPrefabsInstatiated = delegate { };
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/SpawnPrefabOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/SpawnPrefabOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..86c84de8c7bf695e4be2b90d734129a2fdcf706a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/SpawnPrefabOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ae0dbe1711e344fd9908394c6270d93a
+timeCreated: 1523916609
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainColliderOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainColliderOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0c6af17b633f5ab71b8202d085b29ce3ba3c1643
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainColliderOptions.cs
@@ -0,0 +1,28 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine;
+	[Serializable]
+	public class TerrainColliderOptions : MapboxDataProperty
+	{
+		[Tooltip("Add Unity Physics collider to terrain tiles, used for detecting collisions etc.")]
+		public bool addCollider = false;
+
+		public override void UpdateProperty(UnityTile tile)
+		{
+			var existingCollider = tile.Collider;
+			if (addCollider)
+			{
+				if (existingCollider == null)
+				{
+					tile.gameObject.AddComponent<MeshCollider>();
+				}
+			}
+			else
+			{
+				tile.Collider.Destroy();
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainColliderOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainColliderOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a492fcc515d8bbd93a5230196c578dbdbbb92e13
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainColliderOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5e3e24bd5ee1ac74eb27105f96121ab9
+timeCreated: 1520011256
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainSideWallOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainSideWallOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3355c3fe9bc69879fd180d66d6af89830d81f0d2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainSideWallOptions.cs
@@ -0,0 +1,15 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	[Serializable]
+	public class TerrainSideWallOptions
+	{
+		[Tooltip("Adds side walls to terrain meshes, reduces visual artifacts.")]
+		public bool isActive = false;
+		[Tooltip("Height of side walls.")]
+		public float wallHeight = 10;
+		[Tooltip("Unity material to use for side walls.")]
+		public Material wallMaterial;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainSideWallOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainSideWallOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..02082a6a5206310f95f3ade2623114d6d1fcb0db
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TerrainSideWallOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: cd7e5d3c41f4f4894871e76b0d68a448
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileJsonData.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileJsonData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d81e84cd371810f90744b2b32a11528dd219bc4a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileJsonData.cs
@@ -0,0 +1,184 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Platform.TilesetTileJSON;
+	using UnityEngine;
+
+	[Serializable]
+	public class TileJsonData
+	{
+		public readonly string commonLayersKey = "(layer found in more than one data source)";
+		public readonly string optionalPropertiesString = "(may not appear across all locations)";
+		/// <summary>
+		/// This boolean is to check if tile JSON data has loaded after the data source has changed
+		/// </summary>
+		public bool tileJSONLoaded = false;
+
+		/// <summary>
+		/// Layer Display Names seen in the editor
+		/// </summary>
+		public List<string> LayerDisplayNames = new List<string>();
+
+		/// <summary>
+		/// Property Display Names seen in the editor
+		/// </summary>
+		public Dictionary<string, List<string>> PropertyDisplayNames = new Dictionary<string, List<string>>();
+
+		/// <summary>
+		/// The description of the property in a layer
+		/// </summary>
+		public Dictionary<string, Dictionary<string, string>> LayerPropertyDescriptionDictionary = new Dictionary<string, Dictionary<string, string>>();
+
+		/// <summary>
+		/// List of data sources (tileset ids) linked to a layer name
+		/// </summary>
+		public Dictionary<string, List<string>> LayerSourcesDictionary = new Dictionary<string, List<string>>();
+
+		/// <summary>
+		/// Dictionary containting the list of layers in a source
+		/// </summary>
+		public Dictionary<string, List<string>> SourceLayersDictionary = new Dictionary<string, List<string>>();
+
+		public void ClearData()
+		{
+			tileJSONLoaded = false;
+			LayerPropertyDescriptionDictionary.Clear();
+			LayerSourcesDictionary.Clear();
+			SourceLayersDictionary.Clear();
+			LayerDisplayNames.Clear();
+			PropertyDisplayNames.Clear();
+		}
+
+		public void ProcessTileJSONData(TileJSONResponse tjr)
+		{
+			tileJSONLoaded = true;
+			List<string> layerPropertiesList = new List<string>();
+
+			if (tjr == null || tjr.VectorLayers == null || tjr.VectorLayers.Length == 0)
+			{
+				return;
+			}
+
+			ClearData();
+
+			var propertyName = "";
+			var propertyDescription = "";
+			var layerSource = "";
+
+			foreach (var layer in tjr.VectorLayers)
+			{
+				//load layer names
+				var layerName = layer.Id;
+				layerPropertiesList = new List<string>();
+				layerSource = layer.Source;
+
+				//loading layer sources
+				if (LayerSourcesDictionary.ContainsKey(layerName))
+				{
+					LayerSourcesDictionary[layerName].Add(layerSource);
+				}
+				else
+				{
+					LayerSourcesDictionary.Add(layerName, new List<string>() { layerSource });
+				}
+
+				//loading layers to a data source
+				if (SourceLayersDictionary.ContainsKey(layerSource))
+				{
+					List<string> sourceList = new List<string>();
+					LayerSourcesDictionary.TryGetValue(layerName, out sourceList);
+
+					if (sourceList.Count > 1 && sourceList.Contains(layerSource)) // the current layerName has more than one source
+					{
+						if (SourceLayersDictionary.ContainsKey(commonLayersKey))
+						{
+							SourceLayersDictionary[commonLayersKey].Add(layerName);
+						}
+						else
+						{
+							SourceLayersDictionary.Add(commonLayersKey, new List<string>() { layerName });
+						}
+
+						if (LayerDisplayNames.Contains(layerName))
+						{
+							LayerDisplayNames.Remove(layerName);
+						}
+						LayerDisplayNames.Add(layerName);
+					}
+					else
+					{
+						SourceLayersDictionary[layerSource].Add(layerName);
+						LayerDisplayNames.Add(layerName);
+					}
+				}
+				else
+				{
+					SourceLayersDictionary.Add(layerSource, new List<string>() { layerName });
+					LayerDisplayNames.Add(layerName);
+				}
+
+
+				//Load properties
+				foreach (var property in layer.Fields)
+				{
+					propertyName = property.Key;
+					propertyDescription = property.Value;
+					layerPropertiesList.Add(propertyName);
+
+					//adding property descriptions
+					if (LayerPropertyDescriptionDictionary.ContainsKey(layerName))
+					{
+						if (!LayerPropertyDescriptionDictionary[layerName].ContainsKey(propertyName))
+						{
+							LayerPropertyDescriptionDictionary[layerName].Add(propertyName, propertyDescription);
+						}
+					}
+					else
+					{
+						LayerPropertyDescriptionDictionary.Add(layerName, new Dictionary<string, string>() { { propertyName, propertyDescription } });
+					}
+
+					//Loading display names for properties
+					if (PropertyDisplayNames.ContainsKey(layerName))
+					{
+						if (!PropertyDisplayNames[layerName].Contains(propertyName))
+						{
+							PropertyDisplayNames[layerName].Add(propertyName);
+
+							//logic to add the list of masked properties from all sources that are not #1
+							if (LayerSourcesDictionary[layerName].Count > 1 && !string.IsNullOrEmpty(tjr.Source))
+							{
+								var firstSource = tjr.Source.Split(new string[] { "," }, System.StringSplitOptions.None)[0].Trim();
+								if (layerSource != firstSource)
+								{
+									if (PropertyDisplayNames[layerName].Contains(propertyName))
+									{
+										PropertyDisplayNames[layerName].Remove(propertyName);
+									}
+
+									PropertyDisplayNames[layerName].Add(propertyName);
+								}
+							}
+						}
+					}
+					else
+					{
+						PropertyDisplayNames.Add(layerName, new List<string> { propertyName });
+					}
+				}
+
+				if (PropertyDisplayNames.ContainsKey(layerName) && PropertyDisplayNames[layerName].Count > 1)
+				{
+					PropertyDisplayNames[layerName].Sort();
+				}
+			}
+
+
+			if (LayerDisplayNames.Count > 1)
+			{
+				LayerDisplayNames.Sort();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileJsonData.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileJsonData.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2d8b785ffcf80de422a5e022d3baae380686bb04
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileJsonData.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 52cf051b4afa24ba6895b9a42b179eed
+timeCreated: 1524801966
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStats.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStats.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9d3bd1a46876c70b9ddd6947b9c35c233eaeb371
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStats.cs
@@ -0,0 +1,51 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Json;
+
+	public class TileStats
+	{
+		[JsonProperty("account")]
+		public string account;
+
+		[JsonProperty("tilesetid")]
+		public string tilesetid;
+
+		[JsonProperty("layers")]
+		public LayerStats[] layers;
+	}
+
+	public class LayerStats
+	{
+		[JsonProperty("account")]
+		public string account;
+
+		[JsonProperty("tilesetid")]
+		public string tilesetid;
+
+		[JsonProperty("layer")]
+		public string layer;
+
+		[JsonProperty("geometry")]
+		public string geometry;
+
+		[JsonProperty("count")]
+		public string count;
+
+		[JsonProperty("attributes")]
+		public AttributeStats[] attributes;
+	}
+
+	public class AttributeStats
+	{
+		[JsonProperty("attribute")]
+		public string attribute;
+
+		[JsonProperty("type")]
+		public string type;
+
+		[JsonProperty("values")]
+		public string[] values;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStats.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStats.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1baea27303a95f32c45ff908f6c56d5788862b5e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStats.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a54ae05a24f6b499c8ef1d26ffedbbf6
+timeCreated: 1530635960
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStatsFetcher.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStatsFetcher.cs
new file mode 100644
index 0000000000000000000000000000000000000000..90c13b726dc5afd61cf548a765828c6c90467855
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStatsFetcher.cs
@@ -0,0 +1,50 @@
+namespace Mapbox.Unity.Map
+{
+	using System.IO;
+	using Mapbox.Unity.Map;
+	using UnityEngine;
+	using System.Text;
+	using Mapbox.Json;
+
+	public class TileStatsFetcher
+	{
+		private static TileStatsFetcher _instance;
+		private string _filePath = "Assets/Mapbox/Unity/DataContainers/streets-v7-stats.json";
+		public static TileStatsFetcher Instance
+		{
+			get
+			{
+				if (_instance == null)
+				{
+					_instance = new TileStatsFetcher();
+				}
+				return _instance;
+			}
+		}
+		/// <summary>
+		/// Gets the tile stats json for the supplied source Id.
+		/// </summary>
+		/// <returns>A prepopulated <see cref=" TileStats"/> instance.</returns>
+		/// <param name="sourceId">Source Id of the Mapbox Tileset.</param>
+		public TileStats GetTileStats(VectorSourceType sourceType)
+		{
+			TileStats stats = null;
+			switch (sourceType)
+			{
+				case VectorSourceType.MapboxStreets:
+				case VectorSourceType.MapboxStreetsWithBuildingIds:
+					using (Stream stream = new FileStream(_filePath, FileMode.Open))
+					{
+						using (StreamReader reader = new StreamReader(stream))
+						{
+							stats = JsonConvert.DeserializeObject<TileStats>(reader.ReadToEnd());
+						}
+					}
+					break;
+				default:
+					break;
+			}
+			return stats;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStatsFetcher.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStatsFetcher.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..63df4527cef17c22f46eca41c699c52ba8b16b0f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/TileStatsFetcher.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 7fcfafee1945e413e804e0b0e25ae560
+timeCreated: 1530635960
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnifiedMapOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnifiedMapOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bf3925ef9e078b12aa9d6c7a881538107e1adb13
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnifiedMapOptions.cs
@@ -0,0 +1,18 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using Mapbox.Unity.Utilities;
+
+	[Serializable]
+	public class UnifiedMapOptions
+	{
+		public MapPresetType mapPreset = MapPresetType.LocationBasedMap;
+		public MapOptions mapOptions = new MapOptions();
+		[NodeEditorElement("Image Layer")]
+		public ImageryLayerProperties imageryLayerProperties = new ImageryLayerProperties();
+		[NodeEditorElement("Terrain Layer")]
+		public ElevationLayerProperties elevationLayerProperties = new ElevationLayerProperties();
+		[NodeEditorElement("Vector Layer")]
+		public VectorLayerProperties vectorLayerProperties = new VectorLayerProperties();
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnifiedMapOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnifiedMapOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..92d8b82695866e5045ae4afdd040e9ccdf2f5797
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnifiedMapOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4ee20976ba70747b18ae908f30927ca9
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnityLayerOptions.cs b/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnityLayerOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a902f89e123c863d049331496ba3d1f2942ae87c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnityLayerOptions.cs
@@ -0,0 +1,21 @@
+using Mapbox.Unity.MeshGeneration.Data;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+
+	[Serializable]
+	public class UnityLayerOptions : MapboxDataProperty
+	{
+		[Tooltip("Add terrain tiles to Unity Layer")]
+		public bool addToLayer = false;
+		[Tooltip("Unity Layer id to which terrain tiles will get added.")]
+		public int layerId = 0;
+
+		public override void UpdateProperty(UnityTile tile)
+		{
+			tile.gameObject.layer = layerId;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnityLayerOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnityLayerOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f071196fe6e5e6ca1dec890431247d6092b9f9f3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/UnityLayerOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8ecbb47ee371342fb90233bf8ae8c471
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/streets-v7-stats.json b/T3-Unity/Assets/Mapbox/Unity/DataContainers/streets-v7-stats.json
new file mode 100644
index 0000000000000000000000000000000000000000..f7b040a4ada8658a6e31c6f57db229fcda8970de
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/streets-v7-stats.json
@@ -0,0 +1,1855 @@
+{
+   "account":"mapbox",
+   "tilesetid":"mapbox.mapbox-streets-v7",
+   "layers":[
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"landuse",
+         "geometry":"Polygon",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"class",
+               "type":"string",
+               "values":[
+                  "agriculture",
+                  "cemetery",
+                  "glacier",
+                  "grass",
+                  "hospital",
+                  "industrial",
+                  "park",
+                  "parking",
+                  "piste",
+                  "pitch",
+                  "rock",
+                  "sand",
+                  "school",
+                  "scrub",
+                  "wood",
+                  "aboriginal_lands"
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string"
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"waterway",
+         "geometry":"LineString",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"class",
+               "type":"string",
+               "values":[
+                  "river",
+                  "canal",
+                  "stream",
+                  "stream_intermittent",
+                  "ditch",
+                  "drain"
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "river",
+                  "canal",
+                  "stream",
+                  "ditch",
+                  "drain"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"water",
+         "geometry":"Polygon",
+         "count":null,
+         "attributes":[
+
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"aeroway",
+         "geometry":"LineString",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "runway",
+                  "taxiway",
+                  "apron",
+                  "helipad"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"barrier_line",
+         "geometry":"LineString",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"class",
+               "type":"string",
+               "values":[
+                  "fence",
+                  "hedge",
+                  "cliff",
+                  "gate",
+                  "land"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"building",
+         "geometry":"Polygon",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"extrude",
+               "type":"string",
+               "values":[
+                  "true",
+                  "false"
+               ]
+            },
+            {
+               "attribute":"height",
+               "type":"number",
+               "min":0,
+               "max":999
+            },
+            {
+               "attribute":"min_height",
+               "type":"number",
+               "min":0,
+               "max":999
+            },
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "building",
+                  "house",
+                  "residential",
+                  "garage",
+                  "apartments",
+                  "hut",
+                  "industrial",
+                  "roof",
+                  "shed",
+                  "detached",
+                  "commercial",
+                  "garages",
+                  "terrace",
+                  "building:part",
+                  "school",
+                  "retail",
+                  "farm_auxilary",
+                  "construction",
+                  "church",
+                  "greenhouse",
+                  "barn",
+                  "service",
+                  "cabin",
+                  "manufacture",
+                  "warehouse",
+                  "farm",
+                  "civic",
+                  "office",
+                  "collapsed",
+                  "university",
+                  "public",
+                  "hangar",
+                  "hospital",
+                  "entrance",
+                  "static_caravan",
+                  "hotel",
+                  "chapel",
+                  "semidetached_house",
+                  "ger",
+                  "kindergarten",
+                  "damaged",
+                  "transportation",
+                  "train_station",
+                  "dormitory",
+                  "commercial;residential",
+                  "storage_tank",
+                  "stable",
+                  "trullo",
+                  "houseboat",
+                  "shop",
+                  "ruins"
+               ]
+            },
+            {
+               "attribute":"underground",
+               "type":"string",
+               "values":[
+                  "true",
+                  "false"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"landuse_overlay",
+         "geometry":"Polygon",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"class",
+               "type":"string",
+               "values":[
+                  "national_park",
+                  "wetland",
+                  "wetland_noveg"
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string"
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"road",
+         "geometry":"LineString",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"class",
+               "type":"string",
+               "values":[
+                  "motorway",
+                  "motorway_link",
+                  "trunk",
+                  "primary",
+                  "secondary",
+                  "tertiary",
+                  "level_crossing",
+                  "link",
+                  "street",
+                  "street_limited",
+                  "pedestrian",
+                  "construction",
+                  "track",
+                  "service",
+                  "ferry",
+                  "path",
+                  "major_rail",
+                  "minor_rail",
+                  "aerialway",
+                  "golf",
+                  "turning_circle",
+                  "mini_roundabout",
+                  "turning_loop",
+                  "traffic_signals"
+               ]
+            },
+            {
+               "attribute":"layer",
+               "type":"number",
+               "min":-5,
+               "max":5,
+               "values":[
+                  -5,
+                  -4,
+                  -3,
+                  -2,
+                  -1,
+                  0,
+                  1,
+                  2,
+                  3,
+                  4,
+                  5
+               ]
+            },
+            {
+               "attribute":"oneway",
+               "type":"string",
+               "values":[
+                  "true",
+                  "false"
+               ]
+            },
+            {
+               "attribute":"structure",
+               "type":"string",
+               "values":[
+                  "none",
+                  "bridge",
+                  "tunnel",
+                  "ford"
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "motorway",
+                  "motorway_link",
+                  "trunk",
+                  "primary",
+                  "secondary",
+                  "tertiary",
+                  "trunk_link",
+                  "primary_link",
+                  "secondary_link",
+                  "tertiary_link",
+                  "residential",
+                  "unclassified",
+                  "road",
+                  "living_street",
+                  "level_crossing",
+                  "raceway",
+                  "pedestrian",
+                  "platform",
+                  "construction:motorway",
+                  "construction:motorway_link",
+                  "construction:trunk",
+                  "construction:trunk_link",
+                  "construction:primary",
+                  "construction:primary_link",
+                  "construction:secondary",
+                  "construction:secondary_link",
+                  "construction:tertiary",
+                  "construction:tertiary_link",
+                  "construction:unclassified",
+                  "construction:residential",
+                  "construction:road",
+                  "construction:living_street",
+                  "construction:pedestrian",
+                  "construction",
+                  "track:grade1",
+                  "track:grade2",
+                  "track:grade3",
+                  "track:grade4",
+                  "track:grade5",
+                  "track",
+                  "service:alley",
+                  "service:emergency_access",
+                  "service:drive_through",
+                  "service:driveway",
+                  "service:parking_aisle",
+                  "service",
+                  "ferry",
+                  "ferry_auto",
+                  "steps",
+                  "corridor",
+                  "sidewalk",
+                  "crossing",
+                  "piste",
+                  "mountain_bike",
+                  "hiking",
+                  "trail",
+                  "cycleway",
+                  "footway",
+                  "path",
+                  "bridleway",
+                  "rail",
+                  "subway",
+                  "narrow_gauge",
+                  "funicular",
+                  "light_rail",
+                  "miniature",
+                  "monorail",
+                  "preserved",
+                  "tram",
+                  "aerialway:cable_car",
+                  "aerialway:gondola",
+                  "aerialway:mixed_lift",
+                  "aerialway:chair_lift",
+                  "aerialway:drag_lift",
+                  "aerialway:magic_carpet",
+                  "aerialway",
+                  "hole",
+                  "turning_circle",
+                  "mini_roundabout",
+                  "traffic_signals"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"admin",
+         "geometry":"LineString",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"admin_level",
+               "type":"number",
+               "min":2,
+               "max":4,
+               "values":[
+                  2,
+                  3,
+                  4
+               ]
+            },
+            {
+               "attribute":"disputed",
+               "type":"number",
+               "min":0,
+               "max":1,
+               "values":[
+                  1,
+                  0
+               ]
+            },
+            {
+               "attribute":"iso_3166_1",
+               "type":"string",
+               "values":[
+                  "TR",
+                  "RU",
+                  "TH",
+                  "US",
+                  "VN",
+                  "JP",
+                  "AZ",
+                  "DZ",
+                  "PH",
+                  "KE",
+                  "RO",
+                  "FR",
+                  "IN",
+                  "ID",
+                  "CH",
+                  "CN",
+                  "NG",
+                  "PH",
+                  "AF",
+                  "FR",
+                  "IR",
+                  "MX",
+                  "CO",
+                  "TZ",
+                  "DO",
+                  "BR",
+                  "EC",
+                  "EG",
+                  "UA",
+                  "US",
+                  "AR-PY",
+                  "PE",
+                  "YE",
+                  "KH",
+                  "DE",
+                  "GT",
+                  "TN",
+                  "RU",
+                  "AR",
+                  "MN",
+                  "NO",
+                  "UY",
+                  "LY",
+                  "CU",
+                  "ES",
+                  "SE",
+                  "KR",
+                  "TD",
+                  "VE",
+                  "NI",
+                  "IT",
+                  "AO",
+                  "PY",
+                  "BI",
+                  "HN",
+                  "PL",
+                  "IQ",
+                  "NL",
+                  "PG",
+                  "SD",
+                  "BE-NL",
+                  "FM",
+                  "AE",
+                  "KZ",
+                  "CF",
+                  "CI",
+                  "GR",
+                  "VE",
+                  "MM",
+                  "SV",
+                  "LA",
+                  "LB",
+                  "SA",
+                  "SO",
+                  "BF",
+                  "CA",
+                  "LR",
+                  "MY",
+                  "NA",
+                  "NZ",
+                  "SY",
+                  "KI",
+                  "MH",
+                  "JM",
+                  "KP",
+                  "BJ",
+                  "JO",
+                  "GE",
+                  "SN",
+                  "TL",
+                  "UZ",
+                  "JP",
+                  "MR",
+                  "AM",
+                  "CD",
+                  "ET",
+                  "ZA",
+                  "ZW",
+                  "AU",
+                  "BY"
+               ]
+            },
+            {
+               "attribute":"maritime",
+               "type":"number",
+               "min":0,
+               "max":1,
+               "values":[
+                  1,
+                  0
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"country_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"parent",
+               "type":"string"
+            },
+            {
+               "attribute":"code",
+               "type":"string"
+            },
+            {
+               "attribute":"scalerank",
+               "type":"number",
+               "min":1,
+               "max":6,
+               "values":[
+                  1,
+                  2,
+                  3,
+                  4,
+                  5,
+                  6
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "country",
+                  "territory",
+                  "disputed territory",
+                  "sar"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"marine_label",
+         "geometry":"LineString",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"labelrank",
+               "type":"number",
+               "min":1,
+               "max":6,
+               "values":[
+                  1,
+                  2,
+                  3,
+                  4,
+                  5,
+                  6
+               ]
+            },
+            {
+               "attribute":"placement",
+               "type":"string",
+               "values":[
+                  "point",
+                  "line"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"state_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"abbr",
+               "type":"string"
+            },
+            {
+               "attribute":"area",
+               "type":"number",
+               "min":0,
+               "max":2527923
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"place_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh-Hans",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"localrank",
+               "type":"number",
+               "min":1,
+               "max":99
+            },
+            {
+               "attribute":"capital",
+               "type":"number",
+               "min":2,
+               "max":6,
+               "values":[
+                  2,
+                  3,
+                  4,
+                  5,
+                  6
+               ]
+            },
+            {
+               "attribute":"ldir",
+               "type":"string",
+               "values":[
+                  "N",
+                  "E",
+                  "S",
+                  "W",
+                  "NE",
+                  "SE",
+                  "SW",
+                  "NW"
+               ]
+            },
+            {
+               "attribute":"scalerank",
+               "type":"number",
+               "min":0,
+               "max":9,
+               "values":[
+                  0,
+                  1,
+                  2,
+                  3,
+                  4,
+                  5,
+                  6,
+                  7,
+                  8,
+                  9
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "city",
+                  "town",
+                  "village",
+                  "hamlet",
+                  "suburb",
+                  "neighbourhood",
+                  "island",
+                  "islet",
+                  "archipelago",
+                  "residential",
+                  "aboriginal_lands"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"water_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh-Hans",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"area",
+               "type":"number",
+               "min":0,
+               "max":999999999999
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"airport_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh-Hans",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"maki",
+               "type":"string",
+               "values":[
+                  "airport",
+                  "airfield",
+                  "heliport",
+                  "rocket"
+               ]
+            },
+            {
+               "attribute":"ref",
+               "type":"string"
+            },
+            {
+               "attribute":"scalerank",
+               "type":"number",
+               "min":1,
+               "max":4,
+               "values":[
+                  1,
+                  2,
+                  3,
+                  4
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"rail_station_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh-Hans",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"maki",
+               "type":"string",
+               "values":[
+                  "rail",
+                  "rail-metro",
+                  "rail-light",
+                  "entrance"
+               ]
+            },
+            {
+               "attribute":"network",
+               "type":"string",
+               "values":[
+                  "barcelona-metro",
+                  "boston-t",
+                  "chongqing-rail-transit",
+                  "de-s-bahn",
+                  "de-s-bahn.de-u-bahn",
+                  "de-u-bahn",
+                  "delhi-metro",
+                  "gb-national-rail",
+                  "gb-national-rail.london-dlr",
+                  "gb-national-rail.london-dlr.london-overground.london-tfl-rail.london-underground",
+                  "gb-national-rail.london-dlr.london-overground.london-underground",
+                  "gb-national-rail.london-dlr.london-underground",
+                  "gb-national-rail.london-overground",
+                  "gb-national-rail.london-overground.london-underground",
+                  "gb-national-rail.london-overground.london-tfl-rail.london-underground",
+                  "gb-national-rail.london-tfl-rail",
+                  "gb-national-rail.london-tfl-rail.london-overground",
+                  "gb-national-rail.london-tfl-rail.london-underground",
+                  "gb-national-rail.london-underground",
+                  "hong-kong-mtr",
+                  "kiev-metro",
+                  "london-dlr",
+                  "london-dlr.london-tfl-rail",
+                  "london-dlr.london-tfl-rail.london-underground",
+                  "london-dlr.london-underground",
+                  "london-overground",
+                  "london-overground.london-tfl-rail",
+                  "london-overground.london-tfl-rail.london-underground",
+                  "london-overground.london-underground",
+                  "london-tfl-rail",
+                  "london-tfl-rail.london-underground",
+                  "london-underground",
+                  "madrid-metro",
+                  "mexico-city-metro",
+                  "milan-metro",
+                  "moscow-metro",
+                  "new-york-subway",
+                  "osaka-subway",
+                  "oslo-metro",
+                  "paris-metro",
+                  "paris-metro.paris-rer",
+                  "paris-rer",
+                  "paris-rer.paris-transilien",
+                  "paris-transilien",
+                  "philadelphia-septa",
+                  "san-francisco-bart",
+                  "singapore-mrt",
+                  "stockholm-metro",
+                  "taipei-metro",
+                  "tokyo-metro",
+                  "vienna-u-bahn",
+                  "washington-metro",
+                  "rail",
+                  "rail-metro",
+                  "rail-light",
+                  "entrance"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"mountain_peak_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh-Hans",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"maki",
+               "type":"string",
+               "values":[
+                  "mountain",
+                  "volcano"
+               ]
+            },
+            {
+               "attribute":"elevation_ft",
+               "type":"number",
+               "min":0,
+               "max":30000
+            },
+            {
+               "attribute":"elevation_m",
+               "type":"number",
+               "min":0,
+               "max":9144
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"poi_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"ref",
+               "type":"string"
+            },
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh-Hans",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"localrank",
+               "type":"number",
+               "min":1,
+               "max":99
+            },
+            {
+               "attribute":"maki",
+               "type":"string",
+               "values":[
+                  "alcohol-shop",
+                  "amusement-park",
+                  "aquarium",
+                  "art-gallery",
+                  "attraction",
+                  "bakery",
+                  "bank",
+                  "bar",
+                  "beer",
+                  "bicycle",
+                  "bicycle-share",
+                  "bus",
+                  "cafe",
+                  "car",
+                  "castle",
+                  "campsite",
+                  "cemetery",
+                  "cinema",
+                  "clothing-store",
+                  "college",
+                  "dentist",
+                  "doctor",
+                  "dog-park",
+                  "drinking-water",
+                  "embassy",
+                  "fast-food",
+                  "ferry",
+                  "fire-station",
+                  "fuel",
+                  "garden",
+                  "golf",
+                  "grocery",
+                  "harbor",
+                  "hospital",
+                  "ice-cream",
+                  "information",
+                  "laundry",
+                  "library",
+                  "lodging",
+                  "marker",
+                  "monument",
+                  "museum",
+                  "music",
+                  "park",
+                  "pharmacy",
+                  "picnic-site",
+                  "place-of-worship",
+                  "playground",
+                  "religious-christian",
+                  "religious-jewish",
+                  "religious-muslim",
+                  "police",
+                  "post",
+                  "prison",
+                  "restaurant",
+                  "school",
+                  "shop",
+                  "stadium",
+                  "swimming",
+                  "theatre",
+                  "toilet",
+                  "town-hall",
+                  "suitcase",
+                  "veterinary",
+                  "zoo"
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "Alcohol",
+                  "Wine",
+                  "Bakery",
+                  "Bank",
+                  "Bar",
+                  "Nightclub",
+                  "Biergarten",
+                  "Bicycle",
+                  "Bicycle Rental",
+                  "Bus Station",
+                  "Cafe",
+                  "Car",
+                  "Camp Site",
+                  "Caravan Sit",
+                  "Cemetery",
+                  "Graveyard",
+                  "Cinema",
+                  "Clothes",
+                  "Botique",
+                  "College",
+                  "University",
+                  "Dog Park",
+                  "Embassy",
+                  "Fast Food",
+                  "Ferry Terminal",
+                  "Fire Station",
+                  "Fuel",
+                  "Florist",
+                  "Garden Centre",
+                  "Garden",
+                  "Golf Course",
+                  "Grocery",
+                  "Supermarket",
+                  "Convenience",
+                  "Market",
+                  "Greengrocer",
+                  "Harbour",
+                  "Marina",
+                  "Hospital",
+                  "Laundry",
+                  "Library",
+                  "Hotel",
+                  "Hostel",
+                  "Motel",
+                  "Guest House",
+                  "Alpine Hut",
+                  "Monument",
+                  "Museum",
+                  "Music",
+                  "Park",
+                  "Nature Reserve",
+                  "Common",
+                  "Viewpoint",
+                  "Picnic Site",
+                  "Village Green",
+                  "Conservation",
+                  "Park",
+                  "Wood",
+                  "Forest",
+                  "National Park",
+                  "Forest",
+                  "Photo",
+                  "Camera",
+                  "Photo Studio",
+                  "Place Of Worship",
+                  "Bed And Breakfast",
+                  "Police",
+                  "Post Office",
+                  "Prison",
+                  "Restaurant",
+                  "School",
+                  "Kindergarten",
+                  "Mall",
+                  "Shoes",
+                  "Department Store",
+                  "Chemist",
+                  "Jewelery",
+                  "Gift",
+                  "Toys",
+                  "Stationary",
+                  "Variety Store",
+                  "Outdoor",
+                  "Boutique",
+                  "Fabric",
+                  "General",
+                  "Second Hand",
+                  "Antiques",
+                  "Frame",
+                  "Books",
+                  "Electronic",
+                  "Swimming Pool",
+                  "Theatre",
+                  "Townhall",
+                  "Public Building",
+                  "Courthouse",
+                  "Community Centre",
+                  "Travel Agency",
+                  "Zoo",
+                  "Boat Storage",
+                  "Bureau De Change",
+                  "Car Wash",
+                  "Clinic",
+                  "Community Centre",
+                  "Dentist",
+                  "Doctors",
+                  "Driving School",
+                  "Ice Cream",
+                  "Marketplace",
+                  "Nursing Home",
+                  "Social Facility",
+                  "Veterinar",
+                  "Conservation",
+                  "Military",
+                  "Quarry",
+                  "Garden",
+                  "Playground",
+                  "Recreation Ground",
+                  "Sports Centre",
+                  "Stadium",
+                  "Aquarium",
+                  "Attraction",
+                  "Chalet",
+                  "Picnic Site",
+                  "Resort",
+                  "Theme Park",
+                  "Viewpoint",
+                  "Archaeological Site",
+                  "Battlefield",
+                  "Castle",
+                  "Fort",
+                  "Palace",
+                  "Ruins",
+                  "Ship",
+                  "Tomb",
+                  "Wreck",
+                  "Beach",
+                  "Glacier",
+                  "Marsh",
+                  "Wetland",
+                  "Terrace",
+                  "Shed",
+                  "Retail",
+                  "Greenhouse",
+                  "Hairdresser",
+                  "Car Repair",
+                  "Car",
+                  "Butcher",
+                  "Mall",
+                  "Furniture",
+                  "Company",
+                  "Government",
+                  "Estate Agent",
+                  "Insurance"
+               ]
+            },
+            {
+               "attribute":"scalerank",
+               "type":"number",
+               "min":1,
+               "max":5,
+               "values":[
+                  1,
+                  2,
+                  3,
+                  4,
+                  5
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"motorway_junction",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"ref",
+               "type":"string"
+            },
+            {
+               "attribute":"reflen",
+               "type":"number",
+               "min":0,
+               "max":9
+            },
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"class",
+               "type":"string",
+               "values":[
+                  "motorway",
+                  "motorway_link",
+                  "trunk",
+                  "primary",
+                  "secondary",
+                  "tertiary",
+                  "link",
+                  "street",
+                  "street_limited",
+                  "pedestrian",
+                  "construction",
+                  "track",
+                  "service",
+                  "ferry",
+                  "path"
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "motorway",
+                  "motorway_link",
+                  "trunk",
+                  "primary",
+                  "secondary",
+                  "tertiary",
+                  "trunk_link",
+                  "primary_link",
+                  "secondary_link",
+                  "tertiary_link",
+                  "residential",
+                  "unclassified",
+                  "road",
+                  "living_street",
+                  "raceway",
+                  "pedestrian",
+                  "platform",
+                  "construction:motorway",
+                  "construction:motorway_link",
+                  "construction:trunk",
+                  "construction:trunk_link",
+                  "construction:primary",
+                  "construction:primary_link",
+                  "construction:secondary",
+                  "construction:secondary_link",
+                  "construction:tertiary",
+                  "construction:tertiary_link",
+                  "construction:unclassified",
+                  "construction:residential",
+                  "construction:road",
+                  "construction:living_street",
+                  "construction:pedestrian",
+                  "construction",
+                  "track:grade1",
+                  "track:grade2",
+                  "track:grade3",
+                  "track:grade4",
+                  "track:grade5",
+                  "track",
+                  "service:alley",
+                  "service:emergency_access",
+                  "service:drive_through",
+                  "service:driveway",
+                  "service:parking_aisle",
+                  "service",
+                  "ferry",
+                  "ferry_auto",
+                  "steps",
+                  "corridor",
+                  "sidewalk",
+                  "crossing",
+                  "piste",
+                  "mountain_bike",
+                  "hiking",
+                  "trail",
+                  "cycleway",
+                  "footway",
+                  "path",
+                  "bridleway"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"road_label",
+         "geometry":null,
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh-Hans",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"len",
+               "type":"number",
+               "min":0,
+               "max":99
+            },
+            {
+               "attribute":"iso_3166_2",
+               "type":"string"
+            },
+            {
+               "attribute":"localrank",
+               "type":"number",
+               "min":0,
+               "max":99
+            },
+            {
+               "attribute":"class",
+               "type":"string",
+               "values":[
+                  "motorway",
+                  "motorway_link",
+                  "trunk",
+                  "primary",
+                  "secondary",
+                  "tertiary",
+                  "link",
+                  "street",
+                  "street_limited",
+                  "pedestrian",
+                  "construction",
+                  "track",
+                  "service",
+                  "ferry",
+                  "path",
+                  "major_rail",
+                  "minor_rail",
+                  "aerialway",
+                  "golf",
+                  "turning_circle",
+                  "mini_roundabout",
+                  "turnng_loop",
+                  "traffic_signals"
+               ]
+            },
+            {
+               "attribute":"ref",
+               "type":"string"
+            },
+            {
+               "attribute":"reflen",
+               "type":"number",
+               "min":0,
+               "max":9
+            },
+            {
+               "attribute":"shield",
+               "type":"string",
+               "values":[
+                  "default",
+                  "at-motorway",
+                  "at-expressway",
+                  "at-state-b",
+                  "br-federal",
+                  "br-state",
+                  "bg-motorway",
+                  "bg-national",
+                  "hr-motorway",
+                  "hr-state",
+                  "hr-county",
+                  "cz-motorway",
+                  "cz-expressway",
+                  "cz-road",
+                  "dk-primary",
+                  "dk-secondary",
+                  "fi-main",
+                  "fi-trunk",
+                  "fi-regional",
+                  "de-motorway",
+                  "de-federal",
+                  "gr-motorway",
+                  "gr-national",
+                  "hu-motorway",
+                  "hu-main",
+                  "in-national",
+                  "in-state",
+                  "nz-state",
+                  "pe-national",
+                  "pe-regional",
+                  "pl-motorway",
+                  "pl-expressway",
+                  "pl-national",
+                  "pl-voivodeship",
+                  "ro-motorway",
+                  "ro-national",
+                  "ro-county",
+                  "ro-communal",
+                  "rs-motorway",
+                  "rs-state-1b",
+                  "rs-state-2a",
+                  "rs-state-2b",
+                  "sk-highway",
+                  "sk-road",
+                  "si-motorway",
+                  "si-expressway",
+                  "si-main",
+                  "za-national",
+                  "za-provincial",
+                  "za-regional",
+                  "za-metropolitan",
+                  "se-main",
+                  "ch-motorway",
+                  "ch-main",
+                  "mx-federal",
+                  "mx-state",
+                  "us-highway",
+                  "us-highway-alternate",
+                  "us-highway-business",
+                  "us-highway-bypass",
+                  "us-highway-duplex",
+                  "us-interstate",
+                  "us-interstate-business",
+                  "us-interstate-duplex",
+                  "us-interstate-truck",
+                  "us-state",
+                  "e-road"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"waterway_label",
+         "geometry":"LineString",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"name",
+               "type":"string"
+            },
+            {
+               "attribute":"name_de",
+               "type":"string"
+            },
+            {
+               "attribute":"name_en",
+               "type":"string"
+            },
+            {
+               "attribute":"name_es",
+               "type":"string"
+            },
+            {
+               "attribute":"name_fr",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ru",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh",
+               "type":"string"
+            },
+            {
+               "attribute":"name_zh-Hans",
+               "type":"string"
+            },
+            {
+               "attribute":"name_pt",
+               "type":"string"
+            },
+            {
+               "attribute":"name_ar",
+               "type":"string"
+            },
+            {
+               "attribute":"class",
+               "type":"string",
+               "values":[
+                  "river",
+                  "canal",
+                  "stream",
+                  "stream_intermittent",
+                  "drain",
+                  "ditch"
+               ]
+            },
+            {
+               "attribute":"type",
+               "type":"string",
+               "values":[
+                  "river",
+                  "canal",
+                  "stream",
+                  "drain",
+                  "ditch"
+               ]
+            }
+         ]
+      },
+      {
+         "account":"mapbox",
+         "tilesetid":"mapbox.mapbox-streets-v7",
+         "layer":"housenum_label",
+         "geometry":"Point",
+         "count":null,
+         "attributes":[
+            {
+               "attribute":"house_num",
+               "type":"string"
+            }
+         ]
+      }
+   ]
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/DataContainers/streets-v7-stats.json.meta b/T3-Unity/Assets/Mapbox/Unity/DataContainers/streets-v7-stats.json.meta
new file mode 100644
index 0000000000000000000000000000000000000000..96d26f5d53bd216356940ec821914341bfa8d8b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/DataContainers/streets-v7-stats.json.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 575f56052354f4672bed93408ec3e403
+timeCreated: 1530664790
+licenseType: Pro
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor.meta b/T3-Unity/Assets/Mapbox/Unity/Editor.meta
new file mode 100644
index 0000000000000000000000000000000000000000..630b9207815f81653b753c730a69c31e66ed2639
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7910a23e9d0cc47fc9fb15102d280728
+folderAsset: yes
+timeCreated: 1480532369
+licenseType: Free
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/AddMonoBehavioursModifierDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/AddMonoBehavioursModifierDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..27c1ce44afd3fff81b0e266a5b0b85806a9fafe2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/AddMonoBehavioursModifierDrawer.cs
@@ -0,0 +1,56 @@
+namespace Mapbox.Editor
+{
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using UnityEditor;
+	using UnityEngine;
+
+	[CustomPropertyDrawer(typeof(AddMonoBehavioursModifierType))]
+	class AddMonoBehavioursModifierDrawer : PropertyDrawer
+	{
+		const int _offset = 40;
+		MonoScript _monoscript;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+
+			position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
+			var scriptRect = new Rect(position.x, position.y, position.width, position.height - _offset);
+			var helpRect = new Rect(position.x, position.y + _offset / 2, position.width, _offset);
+			var typeStringProperty = property.FindPropertyRelative("_typeString");
+			var monoscriptProperty = property.FindPropertyRelative("_script");
+
+			EditorGUI.BeginChangeCheck();
+
+			_monoscript = monoscriptProperty.objectReferenceValue as MonoScript;
+			_monoscript = EditorGUI.ObjectField(scriptRect, _monoscript, typeof(MonoScript), false) as MonoScript;
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				var type = _monoscript.GetClass();
+				if (type != null && type.IsSubclassOf(typeof(MonoBehaviour)))
+				{
+					monoscriptProperty.objectReferenceValue = _monoscript;
+					typeStringProperty.stringValue = _monoscript.GetClass().ToString();
+				}
+				else
+				{
+					monoscriptProperty.objectReferenceValue = null;
+					typeStringProperty.stringValue = "";
+				}
+			}
+
+			if (monoscriptProperty.objectReferenceValue == null)
+			{
+				EditorGUI.HelpBox(helpRect, "Selected object is not a MonoBehaviour!", MessageType.Error);
+			}
+
+			EditorGUI.EndProperty();
+		}
+
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			return base.GetPropertyHeight(property, label) + _offset;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/AddMonoBehavioursModifierDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/AddMonoBehavioursModifierDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c5bfdfea099ada87113b240a28a3ccf118a67588
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/AddMonoBehavioursModifierDrawer.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 46a3e6ae0815b434c88985c91af9364d
+timeCreated: 1499902265
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/AtlasTemplateGenerator.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/AtlasTemplateGenerator.cs
new file mode 100644
index 0000000000000000000000000000000000000000..aa7f39ef3ba2e9567e071193fa2655f4d39bcaa0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/AtlasTemplateGenerator.cs
@@ -0,0 +1,339 @@
+using UnityEngine;
+using UnityEditor;
+using System.Collections;
+using System.Collections.Generic;
+using Mapbox.Unity.MeshGeneration.Data;
+using System.IO;
+
+namespace Mapbox.Editor
+{
+
+	class AtlasTemplateGenerator : EditorWindow
+	{
+		[MenuItem("Mapbox/Atlas Template Generator")]
+		public static void ShowWindow()
+		{
+			EditorWindow.GetWindow(typeof(AtlasTemplateGenerator));
+		}
+
+		public class PixelRect
+		{
+			public int x;
+			public int y;
+
+			public int xx;
+			public int yy;
+		}
+
+		public string m_saveFileName = "AtlasTemplate";
+
+		public Texture2D m_texture;
+
+		public AtlasInfo m_atlasInfo;
+
+		public Color[] m_colors;
+
+		public int m_textureResolution = 2048;
+
+		public bool m_generateFacadesTemplate = true;
+		public bool m_generateRoofsTemplate = false;
+
+		private int _drawCount;
+
+		private const int _DEFAULT_TEX_SIZE = 2048;
+		private const int _MIN_TEX_SIZE = 512;
+		private const int _MAX_TEX_SIZE = 2048;
+
+		private const float _cellRatioMargin = 0.01f;
+
+		private void Awake()
+		{
+			CreateTexture();
+		}
+
+		private void CreateTexture()
+		{
+			m_texture = new Texture2D(m_textureResolution, m_textureResolution, TextureFormat.ARGB32, false);
+			m_texture.filterMode = FilterMode.Point;
+		}
+
+		void OnGUI()
+		{
+			GUILayout.Space(20);
+
+			GUIStyle titleStyle = new GUIStyle(EditorStyles.label);
+
+			titleStyle.fontSize = 32;
+			titleStyle.normal.textColor = Color.white;
+			titleStyle.fontStyle = FontStyle.Bold;
+
+			titleStyle.stretchWidth = true;
+			titleStyle.stretchHeight = true;
+
+			titleStyle.alignment = TextAnchor.MiddleCenter;
+
+			GUILayout.BeginVertical();
+
+			EditorGUILayout.LabelField("Mapbox Atlas Template Generator", titleStyle, GUILayout.Height(100));
+
+			GUILayout.BeginHorizontal();
+			GUILayout.BeginVertical(GUILayout.MinWidth(200), GUILayout.MaxWidth(300));
+
+			EditorGUI.BeginChangeCheck();
+
+			EditorGUI.indentLevel++;
+
+			m_atlasInfo = EditorGUILayout.ObjectField("Atlas info:", m_atlasInfo, typeof(AtlasInfo), true) as Mapbox.Unity.MeshGeneration.Data.AtlasInfo;
+
+			EditorGUILayout.Space();
+
+			m_generateFacadesTemplate = EditorGUILayout.Toggle("Create Facades", m_generateFacadesTemplate);
+			m_generateRoofsTemplate = EditorGUILayout.Toggle("Create Roofs", m_generateRoofsTemplate);
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				if (m_atlasInfo != null)
+				{
+					int facadeCount = m_generateFacadesTemplate ? m_atlasInfo.Textures.Count : 0;
+					int roofCount = m_generateRoofsTemplate ? m_atlasInfo.Roofs.Count : 0;
+
+					int textureCount = facadeCount + roofCount;
+
+					m_colors = new Color[textureCount];
+
+					float hueIncrement = (float)1.0f / textureCount;
+					float hue = 0.0f;
+
+					for (int i = 0; i < textureCount; i++)
+					{
+						m_colors[i] = Color.HSVToRGB(hue, 1.0f, 1.0f);
+						hue += hueIncrement;
+					}
+				}
+				else
+				{
+					m_colors = new Color[0];
+					CreateTexture();
+				}
+			}
+
+			EditorGUI.BeginChangeCheck();
+
+			m_textureResolution = Mathf.Clamp(EditorGUILayout.IntField("Texture resolution:", m_textureResolution), _MIN_TEX_SIZE, _MAX_TEX_SIZE);
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				CreateTexture();
+			}
+
+			EditorGUILayout.Space();
+
+			if (m_colors != null)
+			{
+				for (int i = 0; i < m_colors.Length; i++)
+				{
+					string colorFieldName = string.Format("Color {0}", i);
+					m_colors[i] = EditorGUILayout.ColorField(colorFieldName, m_colors[i]);
+				}
+			}
+
+			if (GUILayout.Button("Generate Template"))
+			{
+				if (m_atlasInfo == null)
+				{
+					EditorUtility.DisplayDialog("Atlas Template Generator", "Error: No AtlasInfo object selected.", "Ok");
+					return;
+				}
+				if (!m_generateFacadesTemplate && !m_generateRoofsTemplate)
+				{
+					EditorUtility.DisplayDialog("Atlas Template Generator", "Error: Template generation requires Create Facades and/or Create Roofs to be enabled.", "Ok");
+					return;
+				}
+				GenerateTemplate();
+			}
+
+			EditorGUILayout.Space();
+
+			if (GUILayout.Button("Save to file"))
+			{
+				SaveTextureAsPNG();
+			}
+
+			EditorGUI.indentLevel--;
+
+			GUILayout.EndVertical();
+
+			GUIStyle boxStyle = new GUIStyle();
+
+			boxStyle.alignment = TextAnchor.UpperLeft;
+
+			GUILayout.Box(m_texture, boxStyle, GUILayout.Width(300), GUILayout.Height(300), GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true));
+
+			GUILayout.EndHorizontal();
+			GUILayout.EndVertical();
+
+			GUILayout.Space(20);
+		}
+
+		private int GetPixelCoorFromAtlasRatio(float ratio)
+		{
+			return (int)(m_textureResolution * ratio);
+		}
+
+		private PixelRect ConvertUVRectToPixelRect(Rect atlasRect)
+		{
+			PixelRect pixelRect = new PixelRect();
+			pixelRect.x = GetPixelCoorFromAtlasRatio(atlasRect.x);
+			pixelRect.y = GetPixelCoorFromAtlasRatio(atlasRect.y);
+			pixelRect.xx = GetPixelCoorFromAtlasRatio(atlasRect.x + atlasRect.width);
+			pixelRect.yy = GetPixelCoorFromAtlasRatio(atlasRect.y + atlasRect.height);
+			return pixelRect;
+		}
+
+		private void DrawRect(PixelRect pr, Color color)
+		{
+			for (int i = pr.x; i < pr.xx; i++)
+			{
+				for (int j = pr.y; j < pr.yy; j++)
+				{
+					m_texture.SetPixel(i, j, color);
+				}
+			}
+		}
+
+		private void DrawWatermark(int x, int y)
+		{
+			m_texture.SetPixel(x, y, Color.black);
+			m_texture.SetPixel(x + 3, y, Color.black);
+			m_texture.SetPixel(x, y + 3, Color.black);
+			m_texture.SetPixel(x + 3, y + 3, Color.black);
+
+			m_texture.SetPixel(x + 1, y + 1, Color.black);
+			m_texture.SetPixel(x + 2, y + 1, Color.black);
+			m_texture.SetPixel(x + 1, y + 2, Color.black);
+			m_texture.SetPixel(x + 2, y + 2, Color.black);
+		}
+
+		private void DrawCornerWatermarks(PixelRect pr)
+		{
+			DrawWatermark(pr.x, pr.y);
+			DrawWatermark(pr.xx - 4, pr.y);
+			DrawWatermark(pr.x, pr.yy - 4);
+			DrawWatermark(pr.xx - 4, pr.yy - 4);
+		}
+
+		private void DrawDebugCross(PixelRect pr)
+		{
+			int centerX = (pr.x + pr.xx) / 2;
+			int centerY = (pr.y + pr.yy) / 2;
+
+			m_texture.SetPixel(centerX, centerY, Color.black);
+
+			for (int x = pr.x; x < pr.xx; x++)
+			{
+				m_texture.SetPixel(x, centerY, Color.black);
+				m_texture.SetPixel(x, centerY - 1, Color.black);
+				m_texture.SetPixel(x, centerY + 1, Color.black);
+			}
+
+			for (int y = pr.y; y < pr.yy; y++)
+			{
+				m_texture.SetPixel(centerX, y, Color.black);
+				m_texture.SetPixel(centerX - 1, y, Color.black);
+				m_texture.SetPixel(centerX + 1, y, Color.black);
+			}
+		}
+
+		private void DrawAtlasEntityData(List<AtlasEntity> aeList)
+		{
+			for (int i = 0; i < aeList.Count; i++)
+			{
+				AtlasEntity ae = aeList[i];
+
+				Rect baseRect = ae.TextureRect;
+
+				float topRatio = ae.TopSectionRatio * baseRect.height;
+				float bottomRatio = ae.BottomSectionRatio * baseRect.height;
+				float middleRatio = baseRect.height - (topRatio + bottomRatio);
+
+				Rect groundFloorRect = new Rect(baseRect.x, baseRect.y, baseRect.width, bottomRatio);
+				Rect topFloorRect = new Rect(baseRect.x, baseRect.y + baseRect.height - topRatio, baseRect.width, topRatio);
+
+				PixelRect basePixelRect = ConvertUVRectToPixelRect(baseRect);
+				PixelRect groundFloorPixelRect = ConvertUVRectToPixelRect(groundFloorRect);
+				PixelRect topFloorPixelRect = ConvertUVRectToPixelRect(topFloorRect);
+
+				Color color = m_colors[_drawCount];
+				Color colorLight = (color + Color.white) / 2;
+				Color colorDark = (color + Color.black) / 2;
+
+				DrawRect(basePixelRect, color);
+				DrawRect(groundFloorPixelRect, colorLight);
+				DrawRect(topFloorPixelRect, colorDark);
+
+				DrawDebugCross(groundFloorPixelRect);
+				DrawDebugCross(topFloorPixelRect);
+
+				int numColumns = (int)ae.ColumnCount;
+				int numMidFloors = ae.MidFloorCount;
+
+				float colWidth = baseRect.width / numColumns;
+				float floorHeight = middleRatio / numMidFloors;
+
+				float midFloorBase = baseRect.y + bottomRatio;
+
+				float mrgn = _cellRatioMargin;
+				float halfMrgn = mrgn / 2;
+
+				for (int j = 0; j < numMidFloors; j++)
+				{
+					float floorStart = midFloorBase + (floorHeight * j);
+
+					for (int k = 0; k < numColumns; k++)
+					{
+						float columnStart = baseRect.x + (colWidth * k);
+
+						Rect cellRect = new Rect(columnStart + halfMrgn, floorStart + halfMrgn, colWidth - mrgn, floorHeight - mrgn);
+						PixelRect cellPixelRect = ConvertUVRectToPixelRect(cellRect);
+
+						DrawRect(cellPixelRect, Color.white);
+						DrawDebugCross(cellPixelRect);
+					}
+				}
+				DrawCornerWatermarks(groundFloorPixelRect);
+				DrawCornerWatermarks(topFloorPixelRect);
+				_drawCount++;
+			}
+		}
+
+		public void GenerateTemplate()
+		{
+			_drawCount = 0;
+			if (m_generateFacadesTemplate)
+			{
+				DrawAtlasEntityData(m_atlasInfo.Textures);
+			}
+			if (m_generateRoofsTemplate)
+			{
+				DrawAtlasEntityData(m_atlasInfo.Roofs);
+			}
+			m_texture.Apply();
+		}
+
+		public void SaveTextureAsPNG()
+		{
+			var path = EditorUtility.SaveFilePanel("Save texture as PNG", "Assets", "AtlasTemplate.png", "png");
+			if (path.Length == 0)
+			{
+				return;
+			}
+			byte[] pngData = m_texture.EncodeToPNG();
+			if (pngData != null)
+			{
+				File.WriteAllBytes(path, pngData);
+				Debug.Log(pngData.Length / 1024 + "Kb was saved as: " + path);
+				AssetDatabase.Refresh();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/AtlasTemplateGenerator.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/AtlasTemplateGenerator.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..21bcf61ccaa419cf871662f6d0d35cfe713c565f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/AtlasTemplateGenerator.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cc814d64f35ad4f1bbce68318166b67e
+timeCreated: 1520544854
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/Build.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/Build.meta
new file mode 100644
index 0000000000000000000000000000000000000000..17939ad745688443eadbd585d44ab57d1e8a7222
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/Build.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 28d2b990a838d44e1b28195d8465d645
+folderAsset: yes
+timeCreated: 1495491662
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/Build/Mapbox_iOS_build.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/Build/Mapbox_iOS_build.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b018f40e8522ccb688bc3baf29fc33d08299cfc8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/Build/Mapbox_iOS_build.cs
@@ -0,0 +1,44 @@
+#if UNITY_IOS
+namespace Mapbox.Editor.Build
+{
+	using UnityEngine;
+	using UnityEditor;
+	using UnityEditor.Callbacks;
+	using UnityEditor.iOS.Xcode;
+	using System.IO;
+	using System.Linq;
+	using System.Text.RegularExpressions;
+	using System.Globalization;
+
+	public class Mapbox_iOS_build : MonoBehaviour
+	{
+		[PostProcessBuild]
+		public static void AppendBuildProperty(BuildTarget buildTarget, string pathToBuiltProject)
+		{
+			if (buildTarget == BuildTarget.iOS)
+			{
+				PBXProject proj = new PBXProject();
+				// path to pbxproj file
+				string projPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
+
+				var file = File.ReadAllText(projPath);
+				proj.ReadFromString(file);
+				string target = proj.TargetGuidByName("Unity-iPhone");
+
+				var defaultIncludePath = "Mapbox/Core/Plugins/iOS/MapboxMobileEvents/include";
+				var includePaths = Directory.GetDirectories(Application.dataPath, "include", SearchOption.AllDirectories);
+				var includePath = includePaths
+					.Select(path => Regex.Replace(path, Application.dataPath + "/", ""))
+					.Where(path => path.EndsWith(defaultIncludePath, true, CultureInfo.InvariantCulture))
+					.DefaultIfEmpty(defaultIncludePath)
+					.First();
+
+				proj.AddBuildProperty(target, "HEADER_SEARCH_PATHS", "$(SRCROOT)/Libraries/" + includePath);
+				proj.AddBuildProperty(target, "OTHER_LDFLAGS", "-ObjC -lz");
+
+				File.WriteAllText(projPath, proj.WriteToString());
+			}
+		}
+	}
+}
+#endif
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/Build/Mapbox_iOS_build.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/Build/Mapbox_iOS_build.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2d819c6e0b5304ff609a3edd5455cd1b3aeacde3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/Build/Mapbox_iOS_build.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4ab2c6d9be5e048179de762cb9bf3cd1
+timeCreated: 1495323965
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ClearFileCache.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/ClearFileCache.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c6033fe820a9a9066b2025031daa439eed361e3d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ClearFileCache.cs
@@ -0,0 +1,19 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+
+	[InitializeOnLoad]
+	public class ClearFileCache : MonoBehaviour
+	{
+
+
+		[MenuItem("Mapbox/Clear File Cache")]
+		public static void ClearAllCachFiles()
+		{
+			Unity.MapboxAccess.Instance.ClearAllCacheFiles();
+		}
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ClearFileCache.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/ClearFileCache.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1a96540470cc5fca5e3611ec9935d4107c73c24a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ClearFileCache.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 588d3a5d675244fc1a1d927b580b99a3
+timeCreated: 1497883479
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/EditorHelper.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/EditorHelper.cs
new file mode 100644
index 0000000000000000000000000000000000000000..032e60b88e86ff4a1857df269c731cb9ffbd93d5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/EditorHelper.cs
@@ -0,0 +1,289 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using System;
+	using System.Collections.Generic;
+	using System.Linq;
+	using System.Reflection;
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	/// <summary>
+	/// EditorHelper class provides methods for working with serialzed properties.
+	/// Methods in this class are based on the spacepuppy-unity-framework, available at the url below.
+	/// https://github.com/lordofduct/spacepuppy-unity-framework/tree/d8d592e212b26cad53264421d22c3d26c6799923/SpacepuppyBaseEditor.
+	/// </summary>
+	public static class EditorHelper
+	{
+
+		[UnityEditor.Callbacks.DidReloadScripts]
+		private static void OnScriptsReloaded()
+		{
+			if (Application.isEditor)
+			{
+				AbstractMap abstractMap = UnityEngine.Object.FindObjectOfType<AbstractMap>();
+
+				if (abstractMap == null)
+				{
+					return;
+				}
+
+				UnityTile[] unityTiles = abstractMap.GetComponentsInChildren<UnityTile>();
+
+				for (int i = 0; i < unityTiles.Length; i++)
+				{
+					UnityEngine.Object.DestroyImmediate(unityTiles[i].gameObject);
+				}
+
+				abstractMap.DestroyChildObjects();
+				if (EditorApplication.isPlaying)
+				{
+					abstractMap.ResetMap();
+					return;
+				}
+				if (abstractMap.IsEditorPreviewEnabled == true)
+				{
+					if (EditorApplication.isPlayingOrWillChangePlaymode)
+					{
+						return;
+					}
+					else
+					{
+						abstractMap.DisableEditorPreview();
+						abstractMap.EnableEditorPreview();
+					}
+				}
+			}
+		}
+
+
+		public static void CheckForModifiedProperty<T>(SerializedProperty property, T targetObject, bool forceHasChanged = false)
+		{
+			MapboxDataProperty targetObjectAsDataProperty = GetMapboxDataPropertyObject(targetObject);
+			if (targetObjectAsDataProperty != null)
+			{
+				targetObjectAsDataProperty.HasChanged = forceHasChanged || property.serializedObject.ApplyModifiedProperties();
+			}
+		}
+
+		public static void CheckForModifiedProperty(SerializedProperty property, bool forceHasChanged = false)
+		{
+			CheckForModifiedProperty(property, GetTargetObjectOfProperty(property), forceHasChanged);
+		}
+
+		public static MapboxDataProperty GetMapboxDataPropertyObject<T>(T targetObject)
+		{
+			return targetObject as MapboxDataProperty;
+		}
+
+		public static bool DidModifyProperty<T>(SerializedProperty property, T targetObject)
+		{
+			MapboxDataProperty targetObjectAsDataProperty = targetObject as MapboxDataProperty;
+			return (property.serializedObject.ApplyModifiedProperties() && targetObjectAsDataProperty != null);
+		}
+
+		public static bool DidModifyProperty(SerializedProperty property)
+		{
+			return DidModifyProperty(property, GetTargetObjectOfProperty(property));
+		}
+
+		public static IEnumerable<SerializedProperty> GetChildren(this SerializedProperty property)
+		{
+			property = property.Copy();
+			var nextElement = property.Copy();
+			bool hasNextElement = nextElement.NextVisible(false);
+			if (!hasNextElement)
+			{
+				nextElement = null;
+			}
+
+			property.NextVisible(true);
+			while (true)
+			{
+				if ((SerializedProperty.EqualContents(property, nextElement)))
+				{
+					yield break;
+				}
+
+				yield return property;
+
+				bool hasNext = property.NextVisible(false);
+				if (!hasNext)
+				{
+					break;
+				}
+			}
+		}
+
+		public static System.Type GetTargetType(this SerializedObject obj)
+		{
+			if (obj == null) return null;
+
+			if (obj.isEditingMultipleObjects)
+			{
+				var c = obj.targetObjects[0];
+				return c.GetType();
+			}
+			else
+			{
+				return obj.targetObject.GetType();
+			}
+		}
+
+
+		/// <summary>
+		/// Gets the object the property represents.
+		/// </summary>
+		/// <param name="prop"></param>
+		/// <returns></returns>
+		public static object GetTargetObjectOfProperty(SerializedProperty prop)
+		{
+			var path = prop.propertyPath.Replace(".Array.data[", "[");
+			object obj = prop.serializedObject.targetObject;
+			var elements = path.Split('.');
+			foreach (var element in elements)
+			{
+				if (element.Contains("["))
+				{
+					var elementName = element.Substring(0, element.IndexOf("[", StringComparison.CurrentCulture));
+					var index = System.Convert.ToInt32(element.Substring(element.IndexOf("[", StringComparison.CurrentCulture)).Replace("[", "").Replace("]", ""));
+					obj = GetValue_Imp(obj, elementName, index);
+				}
+				else
+				{
+					obj = GetValue_Imp(obj, element);
+				}
+			}
+			return obj;
+		}
+
+		public static void SetTargetObjectOfProperty(SerializedProperty prop, object value)
+		{
+			var path = prop.propertyPath.Replace(".Array.data[", "[");
+			object obj = prop.serializedObject.targetObject;
+			var elements = path.Split('.');
+			foreach (var element in elements.Take(elements.Length - 1))
+			{
+				if (element.Contains("["))
+				{
+					var elementName = element.Substring(0, element.IndexOf("[", StringComparison.CurrentCulture));
+					var index = System.Convert.ToInt32(element.Substring(element.IndexOf("[", StringComparison.CurrentCulture)).Replace("[", "").Replace("]", ""));
+					obj = GetValue_Imp(obj, elementName, index);
+				}
+				else
+				{
+					obj = GetValue_Imp(obj, element);
+				}
+			}
+
+			if (System.Object.ReferenceEquals(obj, null)) return;
+
+			try
+			{
+				var element = elements.Last();
+
+				if (element.Contains("["))
+				{
+					var tp = obj.GetType();
+					var elementName = element.Substring(0, element.IndexOf("[", StringComparison.CurrentCulture));
+					var index = System.Convert.ToInt32(element.Substring(element.IndexOf("[", StringComparison.CurrentCulture)).Replace("[", "").Replace("]", ""));
+					var field = tp.GetField(elementName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
+					var arr = field.GetValue(obj) as System.Collections.IList;
+					arr[index] = value;
+				}
+				else
+				{
+					var tp = obj.GetType();
+					var field = tp.GetField(element, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
+					if (field != null)
+					{
+						field.SetValue(obj, value);
+					}
+				}
+
+			}
+			catch
+			{
+				return;
+			}
+		}
+
+
+		/// <summary>
+		/// Gets the object that the property is a member of
+		/// </summary>
+		/// <param name="prop"></param>
+		/// <returns></returns>
+		public static object GetTargetObjectWithProperty(SerializedProperty prop)
+		{
+			var path = prop.propertyPath.Replace(".Array.data[", "[");
+			object obj = prop.serializedObject.targetObject;
+			var elements = path.Split('.');
+			foreach (var element in elements.Take(elements.Length - 1))
+			{
+				if (element.Contains("["))
+				{
+					var elementName = element.Substring(0, element.IndexOf("[", StringComparison.CurrentCulture));
+					var index = System.Convert.ToInt32(element.Substring(element.IndexOf("[", StringComparison.CurrentCulture)).Replace("[", "").Replace("]", ""));
+					obj = GetValue_Imp(obj, elementName, index);
+				}
+				else
+				{
+					obj = GetValue_Imp(obj, element);
+				}
+			}
+			return obj;
+		}
+
+		private static object GetValue_Imp(object source, string name)
+		{
+			if (source == null)
+				return null;
+			var type = source.GetType();
+
+			while (type != null)
+			{
+				var f = type.GetField(name, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
+				if (f != null)
+					return f.GetValue(source);
+
+				var p = type.GetProperty(name, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase);
+				if (p != null)
+					return p.GetValue(source, null);
+
+				type = type.BaseType;
+			}
+			return null;
+		}
+
+		private static object GetValue_Imp(object source, string name, int index)
+		{
+			var enumerable = GetValue_Imp(source, name) as System.Collections.IEnumerable;
+			if (enumerable == null) return null;
+			var enm = enumerable.GetEnumerator();
+
+			for (int i = 0; i <= index; i++)
+			{
+				if (!enm.MoveNext()) return null;
+			}
+			return enm.Current;
+		}
+
+		public static int GetChildPropertyCount(SerializedProperty property, bool includeGrandChildren = false)
+		{
+			var pstart = property.Copy();
+			var pend = property.GetEndProperty();
+			int cnt = 0;
+
+			pstart.Next(true);
+			while (!SerializedProperty.EqualContents(pstart, pend))
+			{
+				cnt++;
+				pstart.Next(includeGrandChildren);
+			}
+
+			return cnt;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/EditorHelper.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/EditorHelper.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a59f5e7bc56f45a4dc0162ff9d5ba84af9b3b39
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/EditorHelper.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 7390a064088424109a975353ccf6e504
+timeCreated: 1536113196
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FactoryEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/FactoryEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bcb130677339ad51d66190231fb4cdae08cc0df0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FactoryEditor.cs
@@ -0,0 +1,13 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using Mapbox.Unity.MeshGeneration.Factories;
+
+	[CustomEditor(typeof(AbstractTileFactory))]
+	public class FactoryEditor : Editor
+	{
+		public override void OnInspectorGUI()
+		{
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FactoryEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/FactoryEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7333a382c3cc2f2d965448a668a56025a26f650b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FactoryEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a71b284f467d4de4584d5f813a75c7c0
+timeCreated: 1490923136
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureBehaviourEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureBehaviourEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2811b0988691fbd35914709e3775a8a473ddf877
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureBehaviourEditor.cs
@@ -0,0 +1,27 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.MeshGeneration.Components;
+
+	[CustomEditor(typeof(FeatureBehaviour))]
+	public class FeatureBehaviourEditor : Editor
+	{
+		FeatureBehaviour _beh;
+
+		public void OnEnable()
+		{
+			_beh = (FeatureBehaviour)target;
+		}
+
+		public override void OnInspectorGUI()
+		{
+			DrawDefaultInspector();
+
+			if (GUILayout.Button("Show Properties"))
+			{
+				_beh.ShowDebugData();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureBehaviourEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureBehaviourEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec35ba67bf6a41b9e2b2ed578f4c96fc6ac312e4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureBehaviourEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 54536e5537a66a842818be9fc7a7d6f3
+timeCreated: 1499870444
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSectionMultiColumnHeader.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSectionMultiColumnHeader.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dcf6ec87c34c5a722154b68b997b189990fcedbb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSectionMultiColumnHeader.cs
@@ -0,0 +1,71 @@
+using System;
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEditor.IMGUI.Controls;
+	using UnityEngine;
+	internal class FeatureSectionMultiColumnHeader : MultiColumnHeader
+	{
+		Mode m_Mode;
+
+		public enum Mode
+		{
+			LargeHeader,
+			DefaultHeader,
+			MinimumHeaderWithoutSorting
+		}
+
+		public FeatureSectionMultiColumnHeader(MultiColumnHeaderState state)
+			: base(state)
+		{
+			mode = Mode.DefaultHeader;
+		}
+
+		public Mode mode
+		{
+			get
+			{
+				return m_Mode;
+			}
+			set
+			{
+				m_Mode = value;
+				switch (m_Mode)
+				{
+					case Mode.LargeHeader:
+						canSort = true;
+						height = 37f;
+						break;
+					case Mode.DefaultHeader:
+						canSort = true;
+						height = DefaultGUI.defaultHeight;
+						break;
+					case Mode.MinimumHeaderWithoutSorting:
+						canSort = false;
+						height = DefaultGUI.minimumHeight;
+						break;
+				}
+			}
+		}
+
+		protected override void ColumnHeaderGUI(MultiColumnHeaderState.Column column, Rect headerRect, int columnIndex)
+		{
+			// Default column header gui
+			base.ColumnHeaderGUI(column, headerRect, columnIndex);
+
+			// Add additional info for large header
+			if (mode == Mode.LargeHeader)
+			{
+				// Show example overlay stuff on some of the columns
+				if (columnIndex > 2)
+				{
+					headerRect.xMax -= 3f;
+					var oldAlignment = EditorStyles.largeLabel.alignment;
+					EditorStyles.largeLabel.alignment = TextAnchor.UpperRight;
+					GUI.Label(headerRect, 36 + columnIndex + "%", EditorStyles.largeLabel);
+					EditorStyles.largeLabel.alignment = oldAlignment;
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSectionMultiColumnHeader.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSectionMultiColumnHeader.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c12a8f28a4a9c48b8c708ea0ef6e19733d3a9fec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSectionMultiColumnHeader.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 07bf8462a630d4aad95ad6e2fb8b2923
+timeCreated: 1530231284
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSubLayerTreeView.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSubLayerTreeView.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e032ca038fc95d3a9dd28023621c014333d2c0fe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSubLayerTreeView.cs
@@ -0,0 +1,194 @@
+namespace Mapbox.Editor
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using UnityEditor.IMGUI.Controls;
+	using UnityEditor;
+	using Mapbox.Unity.Map;
+
+	internal class FeatureSubLayerTreeView : TreeViewWithTreeModel<FeatureTreeElement>
+	{
+		public SerializedProperty Layers;
+		private float kToggleWidth = 18f;
+		public int uniqueId;
+		public static int uniqueIdPoI = 1000;
+		public static int uniqueIdFeature = 3000;
+		public int maxElementsAdded = 0;
+
+		public bool hasChanged = false;
+
+		const float kRowHeights = 15f;
+		const float nameOffset = 15f;
+
+		MultiColumnHeaderState m_MultiColumnHeaderState;
+		private GUIStyle columnStyle = new GUIStyle()
+		{
+			alignment = TextAnchor.MiddleCenter,
+			normal = new GUIStyleState() { textColor = Color.white }
+		};
+
+		public FeatureSubLayerTreeView(TreeViewState state, MultiColumnHeader multicolumnHeader, TreeModel<FeatureTreeElement> model, int uniqueIdentifier = 3000) : base(state, multicolumnHeader, model)
+		{
+			showAlternatingRowBackgrounds = true;
+			showBorder = true;
+			customFoldoutYOffset = (kRowHeights - EditorGUIUtility.singleLineHeight) * 0.5f; // center foldout in the row since we also center content. See RowGUI
+			extraSpaceBeforeIconAndLabel = kToggleWidth;
+			uniqueId = uniqueIdentifier;
+			Reload();
+		}
+
+		protected override bool CanRename(TreeViewItem item)
+		{
+			// Only allow rename if we can show the rename overlay with a certain width (label might be clipped by other columns)
+			Rect renameRect = GetRenameRect(treeViewRect, 0, item);
+			return renameRect.width > 30;
+		}
+
+		protected override void RenameEnded(RenameEndedArgs args)
+		{
+			if (Layers == null || Layers.arraySize == 0)
+			{
+				return;
+			}
+
+			if (args.acceptedRename)
+			{
+				var element = treeModel.Find(args.itemID);
+				element.name = string.IsNullOrEmpty(args.newName.Trim()) ? args.originalName : args.newName;
+				element.Name = string.IsNullOrEmpty(args.newName.Trim()) ? args.originalName : args.newName;
+				var layer = Layers.GetArrayElementAtIndex(args.itemID - uniqueId);
+				layer.FindPropertyRelative("coreOptions.sublayerName").stringValue = element.name;
+				Reload();
+			}
+		}
+
+		protected override Rect GetRenameRect(Rect rowRect, int row, TreeViewItem item)
+		{
+			Rect cellRect = GetCellRectForTreeFoldouts(rowRect);
+			cellRect.xMin = nameOffset;
+			CenterRectUsingSingleLineHeight(ref cellRect);
+			return base.GetRenameRect(cellRect, row, item);
+		}
+
+		public void RemoveItemFromTree(int id)
+		{
+			treeModel.RemoveElements(new List<int>() { id });
+		}
+
+		public void AddElementToTree(SerializedProperty subLayer)
+		{
+			var name = subLayer.FindPropertyRelative("coreOptions.sublayerName").stringValue;
+			var id = Layers.arraySize - 1 + uniqueId;
+
+			if (treeModel.Find(id) != null)
+			{
+				Debug.Log(" found one. exiting");
+				return;
+			}
+
+			var type = ((PresetFeatureType)subLayer.FindPropertyRelative("presetFeatureType").enumValueIndex).ToString();
+			FeatureTreeElement element = new FeatureTreeElement(name, 0, id);
+			element.Name = name;
+			element.Type = type;
+			treeModel.AddElement(element, treeModel.root, treeModel.numberOfDataElements - 1);
+		}
+
+		protected override void RowGUI(RowGUIArgs args)
+		{
+			var rowItem = (TreeViewItem<FeatureTreeElement>)args.item;
+			for (int i = 0; i < args.GetNumVisibleColumns(); ++i)
+			{
+				CellGUI(args.GetCellRect(i), rowItem, (FeatureSubLayerColumns)args.GetColumn(i), ref args);
+			}
+		}
+
+		void CellGUI(Rect cellRect, TreeViewItem<FeatureTreeElement> item, FeatureSubLayerColumns column, ref RowGUIArgs args)
+		{
+			// Center cell rect vertically (makes it easier to place controls, icons etc in the cells)
+			if (Layers == null || Layers.arraySize == 0)
+			{
+				return;
+			}
+
+			if (Layers.arraySize <= args.item.id - uniqueId)
+			{
+				return;
+			}
+
+			var layer = Layers.GetArrayElementAtIndex(args.item.id - uniqueId);
+			CenterRectUsingSingleLineHeight(ref cellRect);
+			if (column == FeatureSubLayerColumns.Name)
+			{
+				Rect toggleRect = cellRect;
+				toggleRect.x += GetContentIndent(item);
+				toggleRect.width = kToggleWidth;
+
+				EditorGUI.BeginChangeCheck();
+				item.data.isActive = layer.FindPropertyRelative("coreOptions.isActive").boolValue;
+				if (toggleRect.xMax < cellRect.xMax)
+				{
+					item.data.isActive = EditorGUI.Toggle(toggleRect, item.data.isActive); // hide when outside cell rect
+				}
+				layer.FindPropertyRelative("coreOptions.isActive").boolValue = item.data.isActive;
+				if (EditorGUI.EndChangeCheck())
+				{
+					VectorSubLayerProperties vectorSubLayerProperties = (VectorSubLayerProperties)EditorHelper.GetTargetObjectOfProperty(layer);
+					EditorHelper.CheckForModifiedProperty(layer, vectorSubLayerProperties.coreOptions);
+				}
+
+				cellRect.xMin += nameOffset; // Adding some gap between the checkbox and the name
+				args.rowRect = cellRect;
+
+				layer.FindPropertyRelative("coreOptions.sublayerName").stringValue = item.data.Name;
+				//This draws the name property
+				base.RowGUI(args);
+			}
+			if (column == FeatureSubLayerColumns.Type)
+			{
+				cellRect.xMin += 15f; // Adding some gap between the checkbox and the name
+
+				var typeString = ((PresetFeatureType)layer.FindPropertyRelative("presetFeatureType").intValue).ToString();
+				item.data.Type = typeString;
+				EditorGUI.LabelField(cellRect, item.data.Type, columnStyle);
+			}
+		}
+
+		// All columns
+		enum FeatureSubLayerColumns
+		{
+			Name,
+			Type
+		}
+
+		public static MultiColumnHeaderState CreateDefaultMultiColumnHeaderState()
+		{
+			var columns = new[]
+			{
+				//Name column
+				new MultiColumnHeaderState.Column
+				{
+					headerContent = new GUIContent("Name"),
+					contextMenuText = "Name",
+					headerTextAlignment = TextAlignment.Center,
+					autoResize = true,
+					canSort = false,
+					allowToggleVisibility = false,
+				},
+
+				//Type column
+				new MultiColumnHeaderState.Column
+				{
+					headerContent = new GUIContent("Type"),
+					contextMenuText = "Type",
+					headerTextAlignment = TextAlignment.Center,
+					autoResize = true,
+					canSort = false,
+					allowToggleVisibility = false
+				}
+			};
+
+			var state = new MultiColumnHeaderState(columns);
+			return state;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSubLayerTreeView.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSubLayerTreeView.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..32b2cc3e2c991edfff5c689db81fd9877a71dcbd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureSubLayerTreeView.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6959c2320c56c4d89be4ff0e9d2a1b73
+timeCreated: 1525818947
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureTreeElement.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureTreeElement.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d8093521e627109863cf91659717e19ce7929811
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureTreeElement.cs
@@ -0,0 +1,18 @@
+namespace Mapbox.Editor
+{	
+	using System;
+	using UnityEngine;
+	using Random = UnityEngine.Random;
+	[Serializable]
+	public class FeatureTreeElement : TreeElement
+	{
+		public string Name;
+		public string Type;
+		public bool isActive;
+
+		public FeatureTreeElement(string name, int depth, int id) : base(name, depth, id)
+		{
+			isActive = true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureTreeElement.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureTreeElement.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bcf503aac9f839b6192b92c1443fb69be5b3d102
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/FeatureTreeElement.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e5ff51a6bc84040388ff12a051e5a758
+timeCreated: 1530231284
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ccf889e8ca4ea1bf1a5759fd3ad3c4c929ba60db
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeDrawer.cs
@@ -0,0 +1,34 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.Map;
+
+	/// <summary>
+	/// Custom property drawer for geocodes <para/>
+	/// Includes a search window to enable search of Lat/Lon via geocoder. 
+	/// Requires a Mapbox token be set for the project
+	/// </summary>
+	[CustomPropertyDrawer(typeof(GeocodeAttribute))]
+	public class GeocodeAttributeDrawer : PropertyDrawer
+	{
+		const string searchButtonContent = "Search";
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			float buttonWidth = EditorGUIUtility.singleLineHeight * 4;
+
+			Rect fieldRect = new Rect(position.x, position.y, position.width - buttonWidth, EditorGUIUtility.singleLineHeight);
+			Rect buttonRect = new Rect(position.x + position.width - buttonWidth, position.y, buttonWidth, EditorGUIUtility.singleLineHeight);
+
+			EditorGUI.PropertyField(fieldRect, property);
+
+			if (GUI.Button(buttonRect, searchButtonContent))
+			{
+				object objectToUpdate = EditorHelper.GetTargetObjectWithProperty(property);
+				GeocodeAttributeSearchWindow.Open(property, objectToUpdate);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7c97eed316179f554258adc94232f38e187b37ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeDrawer.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 860c0aa37e7b91f49be4dbfdeb25951f
+timeCreated: 1484134996
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeSearchWindow.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeSearchWindow.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fe7d55c177d31f2d5c0c500103175b94ee961edf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeSearchWindow.cs
@@ -0,0 +1,184 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Geocoding;
+	using Mapbox.Unity;
+	using System.Globalization;
+	using Mapbox.Unity.Map;
+	using Mapbox.Editor;
+
+	public class GeocodeAttributeSearchWindow : EditorWindow
+	{
+		SerializedProperty _coordinateProperty;
+		object _objectToUpdate;
+
+		private bool _updateAbstractMap;
+
+		string _searchInput = "";
+
+		ForwardGeocodeResource _resource;
+
+		List<Feature> _features;
+
+		System.Action<string> _callback;
+
+		const string searchFieldName = "searchField";
+		const float width = 320f;
+		const float height = 300f;
+
+		bool _isSearching = false;
+
+		void OnEnable()
+		{
+			_resource = new ForwardGeocodeResource("");
+			EditorApplication.playModeStateChanged += OnModeChanged;
+		}
+
+		void OnDisable()
+		{
+			EditorApplication.playModeStateChanged -= OnModeChanged;
+		}
+
+		bool hasSetFocus = false;
+
+		public static void Open(SerializedProperty property, object objectToUpdate = null)
+		{
+			GeocodeAttributeSearchWindow window = EditorWindow.GetWindow<GeocodeAttributeSearchWindow>(true, "Search for location");
+
+			window._coordinateProperty = property;
+			if (objectToUpdate != null)
+			{
+				window._objectToUpdate = objectToUpdate;
+			}
+
+			Event e = Event.current;
+			Vector2 mousePos = GUIUtility.GUIToScreenPoint(e.mousePosition);
+
+			window.position = new Rect(mousePos.x - width, mousePos.y, width, height);
+		}
+
+		void OnModeChanged(PlayModeStateChange state)
+		{
+			Close();
+		}
+
+		void OnGUI()
+		{
+			GUILayout.Label("Search for a location");
+
+			string oldSearchInput = _searchInput;
+
+			GUI.SetNextControlName(searchFieldName);
+			_searchInput = GUILayout.TextField(_searchInput);
+
+			if (_searchInput.Length == 0)
+			{
+				GUILayout.Label("Type in a location to find it's latitude and longtitude");
+			}
+			else
+			{
+				bool changed = oldSearchInput != _searchInput;
+				if (changed)
+				{
+					HandleUserInput(_searchInput);
+				}
+
+				if (_features.Count > 0)
+				{
+					GUILayout.Label("Results:");
+					for (int i = 0; i < _features.Count; i++)
+					{
+						Feature feature = _features[i];
+						string coordinates = feature.Center.x.ToString(CultureInfo.InvariantCulture) + ", " +
+						                            feature.Center.y.ToString(CultureInfo.InvariantCulture);
+
+						//abreviated coords for display in the UI
+						string truncatedCoordinates = feature.Center.x.ToString("F2", CultureInfo.InvariantCulture) + ", " +
+							feature.Center.y.ToString("F2", CultureInfo.InvariantCulture);
+
+						//split feature name and add elements until the maxButtonContentLenght is exceeded
+						string[] featureNameSplit = feature.PlaceName.Split(',');
+						string buttonContent = "";
+						int maxButtonContentLength = 30;
+						for (int j = 0; j < featureNameSplit.Length; j++)
+						{
+							if(buttonContent.Length + featureNameSplit[j].Length < maxButtonContentLength)
+							{
+								if(String.IsNullOrEmpty(buttonContent))
+								{
+									buttonContent = featureNameSplit[j];
+								}
+								else
+								{
+									buttonContent = buttonContent + "," + featureNameSplit[j];
+								}
+							}
+						}
+
+						if (buttonContent.Length < maxButtonContentLength + 15)
+						{
+							buttonContent = buttonContent + "," + " (" + truncatedCoordinates + ")";
+						}
+
+
+						if (GUILayout.Button(buttonContent))
+						{
+							_coordinateProperty.stringValue = coordinates;
+							_coordinateProperty.serializedObject.ApplyModifiedProperties();
+							EditorUtility.SetDirty(_coordinateProperty.serializedObject.targetObject);
+
+							if(_objectToUpdate != null)
+							{
+								EditorHelper.CheckForModifiedProperty(_coordinateProperty, _objectToUpdate, true);
+							}
+							Close();
+						}
+					}
+				}
+				else
+				{
+					if (_isSearching)
+						GUILayout.Label("Searching...");
+					else
+						GUILayout.Label("No search results");
+				}
+			}
+
+			if (!hasSetFocus)
+			{
+				GUI.FocusControl(searchFieldName);
+				hasSetFocus = true;
+			}
+		}
+
+		void HandleUserInput(string searchString)
+		{
+			_features = new List<Feature>();
+			_isSearching = true;
+
+			if (!string.IsNullOrEmpty(searchString))
+			{
+				_resource.Query = searchString;
+				MapboxAccess.Instance.Geocoder.Geocode(_resource, HandleGeocoderResponse);
+			}
+		}
+
+		void HandleGeocoderResponse(ForwardGeocodeResponse res)
+		{
+			//null if no internet connection
+			if (res != null)
+			{
+				//null if invalid token
+				if (res.Features != null)
+				{
+					_features = res.Features;
+				}
+			}
+			_isSearching = false;
+			this.Repaint();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeSearchWindow.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeSearchWindow.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b60fafd499ad26ce72297f4ae68641515b520ea
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/GeocodeAttributeSearchWindow.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d99190dd95ea8a245ba1f7c8c3084d0a
+timeCreated: 1484136312
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/LayerModifierEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/LayerModifierEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..44b5d7538c20ac46e1548e1bc2b8b6162e2d2d70
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/LayerModifierEditor.cs
@@ -0,0 +1,33 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	[CustomEditor(typeof(LayerModifier))]
+	public class LayerModifierEditor : Editor
+	{
+		public SerializedProperty layerId_Prop;
+		private MonoScript script;
+
+		void OnEnable()
+		{
+			layerId_Prop = serializedObject.FindProperty("_layerId");
+
+			script = MonoScript.FromScriptableObject((LayerModifier)target);
+		}
+
+		public override void OnInspectorGUI()
+		{
+			serializedObject.Update();
+
+			GUI.enabled = false;
+			script = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
+			GUI.enabled = true;
+
+			layerId_Prop.intValue = EditorGUILayout.LayerField("Layer", layerId_Prop.intValue);
+
+			serializedObject.ApplyModifiedProperties();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/LayerModifierEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/LayerModifierEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b52cadfefc49345849eadfa578d97aa7d201516d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/LayerModifierEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ae3383f13b58e544ba5c12293fff5957
+timeCreated: 1494349684
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MapImageFactoryEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/MapImageFactoryEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dc81412fbf0965c7a7bc5c76d3a975e967db79c7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MapImageFactoryEditor.cs
@@ -0,0 +1,35 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.MeshGeneration.Factories;
+
+	[CustomEditor(typeof(MapImageFactory))]
+	public class MapImageFactoryEditor : FactoryEditor
+	{
+		public SerializedProperty layerProperties;
+		private MonoScript script;
+
+		void OnEnable()
+		{
+			layerProperties = serializedObject.FindProperty("_properties");
+			script = MonoScript.FromScriptableObject((MapImageFactory)target);
+
+		}
+
+		public override void OnInspectorGUI()
+		{
+			serializedObject.Update();
+
+			GUI.enabled = false;
+			script = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
+			GUI.enabled = true;
+
+			EditorGUILayout.Space();
+			EditorGUILayout.PropertyField(layerProperties);
+			EditorGUILayout.Space();
+
+			serializedObject.ApplyModifiedProperties();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MapImageFactoryEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/MapImageFactoryEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f3a661ede9f745d608bbba13d9c16c980fe2602a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MapImageFactoryEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 26b414693cf1ad341bd50344ab4198f8
+timeCreated: 1490923136
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MapManagerEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/MapManagerEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d32cba6a77180de6232e5e9c843cc0523686e201
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MapManagerEditor.cs
@@ -0,0 +1,370 @@
+using System;
+
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.Map;
+	using Mapbox.Platform.TilesetTileJSON;
+	using System.Collections.Generic;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	[CustomEditor(typeof(AbstractMap))]
+	[CanEditMultipleObjects]
+	public class MapManagerEditor : Editor
+	{
+		private string objectId = "";
+		private Color previewButtonColor = new Color(0.7f, 1.0f, 0.7f);
+		/// <summary>
+		/// Gets or sets a value indicating whether to show general section <see cref="T:Mapbox.Editor.MapManagerEditor"/>.
+		/// </summary>
+		/// <value><c>true</c> then show general section; otherwise hide, <c>false</c>.</value>
+		bool ShowGeneral
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "MapManagerEditor_showGeneral");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "MapManagerEditor_showGeneral", value);
+			}
+		}
+		/// <summary>
+		/// Gets or sets a value to show or hide Image section<see cref="T:Mapbox.Editor.MapManagerEditor"/>.
+		/// </summary>
+		/// <value><c>true</c> if show image; otherwise, <c>false</c>.</value>
+		bool ShowImage
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "MapManagerEditor_showImage");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "MapManagerEditor_showImage", value);
+			}
+		}
+		/// <summary>
+		/// Gets or sets a value to show or hide Terrain section <see cref="T:Mapbox.Editor.MapManagerEditor"/>
+		/// </summary>
+		/// <value><c>true</c> if show terrain; otherwise, <c>false</c>.</value>
+		bool ShowTerrain
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "MapManagerEditor_showTerrain");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "MapManagerEditor_showTerrain", value);
+			}
+		}
+
+		/// <summary>
+		/// Gets or sets a value to show or hide Map Layers section <see cref="T:Mapbox.Editor.MapManagerEditor"/> show features.
+		/// </summary>
+		/// <value><c>true</c> if show features; otherwise, <c>false</c>.</value>
+		bool ShowMapLayers
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "MapManagerEditor_showMapLayers");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "MapManagerEditor_showMapLayers", value);
+			}
+		}
+
+		bool ShowPosition
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "MapManagerEditor_showPosition");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "MapManagerEditor_showPosition", value);
+			}
+		}
+
+		private GUIContent tilesetIdGui = new GUIContent
+		{
+			text = "Tileset Id",
+			tooltip = "Id of the tileset."
+		};
+
+		bool _isGUIContentSet = false;
+		GUIContent[] _sourceTypeContent;
+		static float _lineHeight = EditorGUIUtility.singleLineHeight;
+
+		VectorLayerPropertiesDrawer _vectorLayerDrawer = new VectorLayerPropertiesDrawer();
+
+		public override void OnInspectorGUI()
+		{
+			objectId = serializedObject.targetObject.GetInstanceID().ToString();
+			serializedObject.Update();
+			EditorGUILayout.BeginVertical();
+			EditorGUILayout.Space();
+
+			var previewOptions = serializedObject.FindProperty("_previewOptions");
+			var prevProp = previewOptions.FindPropertyRelative("isPreviewEnabled");
+			var prev = prevProp.boolValue;
+
+			Color guiColor = GUI.color;
+			GUI.color = (prev) ? previewButtonColor : guiColor;
+
+			GUIStyle style = new GUIStyle("Button");
+			style.alignment = TextAnchor.MiddleCenter;
+
+			if (!Application.isPlaying)
+			{
+				prevProp.boolValue = GUILayout.Toggle(prevProp.boolValue, "Enable Preview", style);
+				GUI.color = guiColor;
+				EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
+			}
+
+			ShowGeneral = EditorGUILayout.Foldout(ShowGeneral, new GUIContent { text = "GENERAL", tooltip = "Options related to map data" });
+
+			if (ShowGeneral)
+			{
+				DrawMapOptions(serializedObject);
+			}
+			ShowSepartor();
+
+			ShowImage = EditorGUILayout.Foldout(ShowImage, "IMAGE");
+			if (ShowImage)
+			{
+				GUILayout.Space(-1.5f * _lineHeight);
+				ShowSection(serializedObject.FindProperty("_imagery"), "_layerProperty");
+			}
+
+			ShowSepartor();
+
+			ShowTerrain = EditorGUILayout.Foldout(ShowTerrain, "TERRAIN");
+			if (ShowTerrain)
+			{
+				GUILayout.Space(-1.5f * _lineHeight);
+				ShowSection(serializedObject.FindProperty("_terrain"), "_layerProperty");
+			}
+
+			ShowSepartor();
+
+			ShowMapLayers = EditorGUILayout.Foldout(ShowMapLayers, "MAP LAYERS");
+			if (ShowMapLayers)
+			{
+				DrawMapLayerOptions();
+			}
+			EditorGUILayout.EndVertical();
+
+			EditorGUILayout.Space();
+
+			serializedObject.ApplyModifiedProperties();
+			var vectorDataProperty = serializedObject.FindProperty("_vectorData");
+			var layerProperty = vectorDataProperty.FindPropertyRelative("_layerProperty");
+			_vectorLayerDrawer.PostProcessLayerProperties(layerProperty);
+			if (!Application.isPlaying)
+			{
+				if (prevProp.boolValue && !prev)
+				{
+					((AbstractMap)serializedObject.targetObject).EnableEditorPreview();
+				}
+				else if (prev && !prevProp.boolValue)
+				{
+					((AbstractMap)serializedObject.targetObject).DisableEditorPreview();
+				}
+			}
+		}
+
+		void ShowSection(SerializedProperty property, string propertyName)
+		{
+			EditorGUILayout.Space();
+			EditorGUILayout.PropertyField(property.FindPropertyRelative(propertyName));
+		}
+
+		void ShowSepartor()
+		{
+			EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
+			EditorGUILayout.Space();
+		}
+
+		void DrawMapOptions(SerializedObject mapObject)
+		{
+			var property = mapObject.FindProperty("_options");
+			if (!((AbstractMap)serializedObject.targetObject).IsAccessTokenValid)
+			{
+				EditorGUILayout.HelpBox("Invalid Access Token. Please add a valid access token using the Mapbox  > Setup Menu", MessageType.Error);
+			}
+
+			EditorGUILayout.LabelField("Location ", GUILayout.Height(_lineHeight));
+
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("locationOptions"));
+
+
+			var extentOptions = property.FindPropertyRelative("extentOptions");
+			var extentOptionsType = extentOptions.FindPropertyRelative("extentType");
+
+
+			if ((MapExtentType)extentOptionsType.enumValueIndex == MapExtentType.Custom)
+			{
+				var tileProviderProperty = mapObject.FindProperty("_tileProvider");
+				EditorGUI.BeginChangeCheck();
+				EditorGUILayout.PropertyField(extentOptionsType);
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(extentOptions);
+				}
+				EditorGUI.indentLevel++;
+				EditorGUILayout.PropertyField(tileProviderProperty);
+				EditorGUI.indentLevel--;
+			}
+			else
+			{
+				GUILayout.Space(-_lineHeight);
+				EditorGUILayout.PropertyField(extentOptions);
+			}
+
+			EditorGUI.BeginChangeCheck();
+
+			EditorGUILayout.PropertyField(serializedObject.FindProperty("_initializeOnStart"));
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			ShowPosition = EditorGUILayout.Foldout(ShowPosition, "Others");
+			if (ShowPosition)
+			{
+				GUILayout.Space(-_lineHeight);
+
+				EditorGUI.BeginChangeCheck();
+				var placementOptions = property.FindPropertyRelative("placementOptions");
+				EditorGUILayout.PropertyField(placementOptions);
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(placementOptions);
+				}
+
+				GUILayout.Space(-_lineHeight);
+
+				EditorGUI.BeginChangeCheck();
+				var scalingOptions = property.FindPropertyRelative("scalingOptions");
+				EditorGUILayout.PropertyField(scalingOptions);
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(scalingOptions);
+				}
+
+				EditorGUI.BeginChangeCheck();
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("loadingTexture"));
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("tileMaterial"));
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(property);
+				}
+			}
+		}
+
+		void DrawMapLayerOptions()
+		{
+			var vectorDataProperty = serializedObject.FindProperty("_vectorData");
+			var layerProperty = vectorDataProperty.FindPropertyRelative("_layerProperty");
+			var layerSourceProperty = layerProperty.FindPropertyRelative("sourceOptions");
+			var sourceTypeProperty = layerProperty.FindPropertyRelative("_sourceType");
+			VectorSourceType sourceTypeValue = (VectorSourceType)sourceTypeProperty.enumValueIndex;
+			var layerSourceId = layerProperty.FindPropertyRelative("sourceOptions.layerSource.Id");
+			string layerString = layerSourceId.stringValue;
+			var isActiveProperty = layerSourceProperty.FindPropertyRelative("isActive");
+
+			var displayNames = sourceTypeProperty.enumDisplayNames;
+			var names = sourceTypeProperty.enumNames;
+			int count = sourceTypeProperty.enumDisplayNames.Length;
+			if (!_isGUIContentSet)
+			{
+				_sourceTypeContent = new GUIContent[count];
+
+				var index = 0;
+				foreach (var name in names)
+				{
+					_sourceTypeContent[index] = new GUIContent
+					{
+						text = displayNames[index],
+						tooltip = ((VectorSourceType)Enum.Parse(typeof(VectorSourceType), name)).Description(),
+					};
+					index++;
+				}
+				//
+				//				for (int extIdx = 0; extIdx < count; extIdx++)
+				//				{
+				//					_sourceTypeContent[extIdx] = new GUIContent
+				//					{
+				//						text = displayNames[extIdx],
+				//						tooltip = ((VectorSourceType)extIdx).Description(),
+				//					};
+				//				}
+
+				_isGUIContentSet = true;
+			}
+
+			EditorGUI.BeginChangeCheck();
+			sourceTypeProperty.enumValueIndex = EditorGUILayout.Popup(new GUIContent
+			{
+				text = "Data Source",
+				tooltip = "Source tileset for Vector Data"
+			}, sourceTypeProperty.enumValueIndex, _sourceTypeContent);
+
+			//sourceTypeValue = (VectorSourceType)sourceTypeProperty.enumValueIndex;
+			sourceTypeValue = ((VectorSourceType)Enum.Parse(typeof(VectorSourceType), names[sourceTypeProperty.enumValueIndex]));
+
+			switch (sourceTypeValue)
+			{
+				case VectorSourceType.MapboxStreets:
+				case VectorSourceType.MapboxStreetsV8:
+				case VectorSourceType.MapboxStreetsWithBuildingIds:
+				case VectorSourceType.MapboxStreetsV8WithBuildingIds:
+					var sourcePropertyValue = MapboxDefaultVector.GetParameters(sourceTypeValue);
+					layerSourceId.stringValue = sourcePropertyValue.Id;
+					GUI.enabled = false;
+					EditorGUILayout.PropertyField(layerSourceProperty, tilesetIdGui);
+					GUI.enabled = true;
+					isActiveProperty.boolValue = true;
+					break;
+				case VectorSourceType.Custom:
+					EditorGUILayout.PropertyField(layerSourceProperty, tilesetIdGui);
+					isActiveProperty.boolValue = true;
+					break;
+				case VectorSourceType.None:
+					isActiveProperty.boolValue = false;
+					break;
+				default:
+					isActiveProperty.boolValue = false;
+					break;
+			}
+
+			if (sourceTypeValue != VectorSourceType.None)
+			{
+				var isStyleOptimized = layerProperty.FindPropertyRelative("useOptimizedStyle");
+				EditorGUILayout.PropertyField(isStyleOptimized);
+
+				if (isStyleOptimized.boolValue)
+				{
+					EditorGUILayout.PropertyField(layerProperty.FindPropertyRelative("optimizedStyle"), new GUIContent("Style Options"));
+				}
+				GUILayout.Space(-_lineHeight);
+				EditorGUILayout.PropertyField(layerProperty.FindPropertyRelative("performanceOptions"), new GUIContent("Perfomance Options"));
+			}
+
+			EditorGUILayout.Space();
+			ShowSepartor();
+
+			_vectorLayerDrawer.DrawUI(layerProperty);
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(layerProperty);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MapManagerEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/MapManagerEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5f5579e1be854abb39af24b1bdfcb3fdeb8591b8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MapManagerEditor.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 0fe5a867f0f1546009ebdda576486b9e
+timeCreated: 1518137782
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MapboxConfigurationWindow.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/MapboxConfigurationWindow.cs
new file mode 100644
index 0000000000000000000000000000000000000000..575cd6463ff74f4332ccc3454816df621229c115
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MapboxConfigurationWindow.cs
@@ -0,0 +1,668 @@
+namespace Mapbox.Editor
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using UnityEditor.SceneManagement;
+	using UnityEditor;
+	using System.IO;
+	using System.Collections;
+	using Mapbox.Unity;
+	using Mapbox.Tokens;
+	using Mapbox.Json;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.Utilities.DebugTools;
+	using UnityEditor.Callbacks;
+	using System;
+
+	public class MapboxConfigurationWindow : EditorWindow
+	{
+		public static MapboxConfigurationWindow instance;
+		static MapboxConfiguration _mapboxConfig;
+		static MapboxTokenStatus _currentTokenStatus = MapboxTokenStatus.StatusNotYetSet;
+		static MapboxAccess _mapboxAccess;
+		static bool _waitingToLoad = false;
+
+		//default mapboxconfig
+		static string _configurationFile;
+		static string _accessToken = "";
+		[Range(0, 1000)]
+		static int _memoryCacheSize = 500;
+		[Range(0, 3000)]
+		static int _fileCacheSize = 25000;
+		static int _webRequestTimeout = 30;
+		static bool _autoRefreshCache = false;
+
+		//mapbox access callbacks
+		static bool _listeningForTokenValidation = false;
+		static bool _validating = false;
+		static string _lastValidatedToken;
+
+		//gui flags
+		bool _showConfigurationFoldout;
+		bool _showChangelogFoldout;
+		Vector2 _scrollPosition;
+
+		//samples
+		static int _selectedSample;
+		static ScenesList _sceneList;
+		static GUIContent[] _sampleContent;
+		string _sceneToOpen;
+
+		//prefabs
+		static int _selectedPrefab;
+		static ScenesList _prefabList;
+		static GUIContent[] _prefabContent;
+
+
+		//styles
+		GUISkin _skin;
+		Color _defaultContentColor;
+		Color _defaultBackgroundColor;
+		GUIStyle _titleStyle;
+		GUIStyle _bodyStyle;
+		GUIStyle _linkStyle;
+
+		GUIStyle _textFieldStyle;
+		GUIStyle _submitButtonStyle;
+
+		GUIStyle _validButtonStyle;
+		Color _validContentColor;
+		Color _validBackgroundColor;
+
+		GUIStyle _invalidFieldStyle;
+		GUIStyle _invalidButtonStyle;
+		Color _invalidContentColor;
+		Color _invalidBackgroundColor;
+		GUIStyle _errorStyle;
+
+		GUIStyle _verticalGroup;
+		GUIStyle _horizontalGroup;
+		GUIStyle _scrollViewStyle;
+
+		GUIStyle _sampleButtonStyle;
+
+
+		[DidReloadScripts]
+		public static void ShowWindowOnImport()
+		{
+			if (ShouldShowConfigurationWindow())
+			{
+				PlayerPrefs.SetInt(Constants.Path.DID_PROMPT_CONFIGURATION, 1);
+				PlayerPrefs.Save();
+				InitWhenLoaded();
+			}
+		}
+
+		[MenuItem("Mapbox/Setup")]
+		static void InitWhenLoaded()
+		{
+			if (EditorApplication.isCompiling && !_waitingToLoad)
+			{
+				//subscribe to updates
+				_waitingToLoad = true;
+				EditorApplication.update += InitWhenLoaded;
+				return;
+			}
+
+			if (!EditorApplication.isCompiling)
+			{
+				//unsubscribe from updates if waiting
+				if (_waitingToLoad)
+				{
+					EditorApplication.update -= InitWhenLoaded;
+					_waitingToLoad = false;
+				}
+
+				Init();
+			}
+		}
+
+		static void Init()
+		{
+			Runnable.EnableRunnableInEditor();
+
+			//verify that the config file exists
+			_configurationFile = Path.Combine(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE, Unity.Constants.Path.CONFIG_FILE);
+			if (!Directory.Exists(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE))
+			{
+				Directory.CreateDirectory(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE);
+			}
+
+			if (!File.Exists(_configurationFile))
+			{
+				_mapboxConfig = new MapboxConfiguration
+				{
+					AccessToken = _accessToken,
+					MemoryCacheSize = (uint)_memoryCacheSize,
+					FileCacheSize = (uint)_fileCacheSize,
+					AutoRefreshCache = _autoRefreshCache,
+					DefaultTimeout = _webRequestTimeout
+				};
+				var json = JsonUtility.ToJson(_mapboxConfig);
+				File.WriteAllText(_configurationFile, json);
+				AssetDatabase.Refresh();
+			}
+
+			//finish opening the window after the assetdatabase is refreshed.
+			EditorApplication.delayCall += OpenWindow;
+		}
+
+		static void OpenWindow()
+		{
+			EditorApplication.delayCall -= OpenWindow;
+
+			//setup mapboxaccess listener
+			_mapboxAccess = MapboxAccess.Instance;
+			if (!_listeningForTokenValidation)
+			{
+				_mapboxAccess.OnTokenValidation += HandleValidationResponse;
+				_listeningForTokenValidation = true;
+			}
+
+			//setup local variables from mapbox config file
+			_mapboxConfig = _mapboxAccess.Configuration;
+			if (_mapboxConfig != null)
+			{
+				_accessToken = _mapboxConfig.AccessToken;
+				_memoryCacheSize = (int)_mapboxConfig.MemoryCacheSize;
+				_fileCacheSize = (int)_mapboxConfig.FileCacheSize;
+				_autoRefreshCache = _mapboxConfig.AutoRefreshCache;
+				_webRequestTimeout = (int)_mapboxConfig.DefaultTimeout;
+
+			}
+
+			//validate current config
+			if (!string.IsNullOrEmpty(_accessToken))
+			{
+				SubmitConfiguration();
+			}
+
+			//cache sample scene gui content
+			GetSceneList();
+			_selectedSample = -1;
+
+			//instantiate the config window
+			instance = GetWindow(typeof(MapboxConfigurationWindow)) as MapboxConfigurationWindow;
+			instance.minSize = new Vector2(800, 350);
+			instance.titleContent = new GUIContent("Mapbox Setup");
+			instance.Show();
+
+		}
+
+		static void GetSceneList()
+		{
+			_prefabList = Resources.Load<ScenesList>("Mapbox/PrefabList");
+			_sceneList = Resources.Load<ScenesList>("Mapbox/ScenesList");
+
+			_prefabContent = LoadContent(_prefabList);
+			_sampleContent = LoadContent(_sceneList);
+
+		}
+
+		static GUIContent[] LoadContent(ScenesList list)
+		{
+
+			//exclude scenes with no image data
+			var content = new List<SceneData>();
+			if (list != null)
+			{
+				for (int i = 0; i < list.SceneList.Length; i++)
+				{
+					if (list.SceneList[i] != null)
+					{
+						if (File.Exists(list.SceneList[i].ScenePath))
+						{
+							if (list.SceneList[i].Image != null)
+							{
+								content.Add(list.SceneList[i]);
+							}
+						}
+					}
+				}
+			}
+
+			var outputContent = new GUIContent[content.Count];
+			for (int i = 0; i < outputContent.Length; i++)
+			{
+				outputContent[i] = new GUIContent(content[i].Name, content[i].Image, content[i].ScenePath);
+			}
+
+			return outputContent;
+
+		}
+
+
+		/// <summary>
+		/// Unity Events
+		/// </summary>
+
+		private void OnDisable() { AssetDatabase.Refresh(); }
+
+		private void OnDestroy() { AssetDatabase.Refresh(); }
+
+		private void OnLostFocus() { AssetDatabase.Refresh(); }
+
+
+		/// <summary>
+		/// Mapbox access
+		/// </summary>
+		private static void SubmitConfiguration()
+		{
+			var mapboxConfiguration = new MapboxConfiguration
+			{
+				AccessToken = _accessToken,
+				MemoryCacheSize = (uint)_memoryCacheSize,
+				FileCacheSize = (uint)_fileCacheSize,
+				AutoRefreshCache = _autoRefreshCache,
+				DefaultTimeout = _webRequestTimeout
+			};
+			_mapboxAccess.SetConfiguration(mapboxConfiguration, false);
+			_validating = true;
+		}
+
+		private static void HandleValidationResponse(MapboxTokenStatus status)
+		{
+			_currentTokenStatus = status;
+			_validating = false;
+			_lastValidatedToken = _accessToken;
+
+			//save the config
+			_configurationFile = Path.Combine(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE, Unity.Constants.Path.CONFIG_FILE);
+			var json = JsonUtility.ToJson(_mapboxAccess.Configuration);
+			File.WriteAllText(_configurationFile, json);
+		}
+
+
+		void OnGUI()
+		{
+			//only run after init
+			if (instance == null)
+			{
+				//TODO: loading message?
+				InitWhenLoaded();
+				return;
+			}
+
+			InitStyles();
+
+			_scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition, _scrollViewStyle);
+			EditorGUILayout.BeginVertical();
+			// Access token link.
+			DrawAccessTokenLink();
+
+			// Access token entry and validation.
+			DrawAccessTokenField();
+
+			// Draw the validation error, if one exists
+			DrawError();
+			EditorGUILayout.EndVertical();
+
+			EditorGUILayout.BeginVertical(_verticalGroup);
+
+			// Configuration
+			DrawConfigurationSettings();
+			GUILayout.Space(8);
+
+			// Changelog
+			DrawChangelog();
+
+			EditorGUILayout.EndVertical();
+
+			// Draw Prefab Examples
+			if (_prefabContent.Length > 0)
+			{
+				EditorGUILayout.BeginVertical(_verticalGroup);
+				DrawPrefabLinks();
+				EditorGUILayout.EndVertical();
+
+			}
+
+			// Draw Example links if the scenelist asset is where it should be.
+			if (_sampleContent.Length > 0)
+			{
+				EditorGUILayout.BeginVertical(_verticalGroup);
+				DrawExampleLinks();
+				EditorGUILayout.EndVertical();
+			}
+			EditorGUILayout.EndScrollView();
+		}
+
+		void InitStyles()
+		{
+			_defaultContentColor = GUI.contentColor;
+			_defaultBackgroundColor = GUI.backgroundColor;
+
+			_titleStyle = new GUIStyle(GUI.skin.FindStyle("IN TitleText"));
+			_titleStyle.padding.left = 3;
+			_bodyStyle = new GUIStyle(GUI.skin.FindStyle("WordWrapLabel"));
+			_linkStyle = new GUIStyle(GUI.skin.FindStyle("PR PrefabLabel"));
+			_linkStyle.padding.left = 0;
+			_linkStyle.padding.top = -1;
+
+			_textFieldStyle = new GUIStyle(GUI.skin.FindStyle("TextField"));
+			_textFieldStyle.margin.right = 0;
+			_textFieldStyle.margin.top = 0;
+
+			_submitButtonStyle = new GUIStyle(GUI.skin.FindStyle("ButtonRight"));
+			_submitButtonStyle.padding.top = 0;
+			_submitButtonStyle.margin.top = 0;
+			_submitButtonStyle.fixedWidth = 200;
+
+			_validButtonStyle = new GUIStyle(GUI.skin.FindStyle("LODSliderRange"));
+			_validButtonStyle.alignment = TextAnchor.MiddleCenter;
+			_validButtonStyle.padding = new RectOffset(0, 0, 0, 0);
+			_validButtonStyle.border = new RectOffset(0, 0, 5, -2);
+			_validButtonStyle.fixedWidth = 60;
+
+			_validContentColor = new Color(1, 1, 1, .7f);
+			_validBackgroundColor = new Color(.2f, .8f, .2f, 1);
+			_invalidContentColor = new Color(1, 1, 1, .7f);
+			_invalidBackgroundColor = new Color(.8f, .2f, .2f, 1);
+
+			_errorStyle = new GUIStyle(GUI.skin.FindStyle("ErrorLabel"));
+			_errorStyle.padding.left = 5;
+
+			_verticalGroup = new GUIStyle();
+			_verticalGroup.margin = new RectOffset(0, 0, 0, 35);
+			_horizontalGroup = new GUIStyle();
+			_horizontalGroup.padding = new RectOffset(0, 0, 4, 4);
+			_scrollViewStyle = new GUIStyle(GUI.skin.FindStyle("scrollview"));
+			_scrollViewStyle.padding = new RectOffset(20, 20, 40, 0);
+
+			_sampleButtonStyle = new GUIStyle(GUI.skin.FindStyle("button"));
+			_sampleButtonStyle.imagePosition = ImagePosition.ImageAbove;
+			_sampleButtonStyle.padding = new RectOffset(0, 0, 5, 5);
+			_sampleButtonStyle.fontStyle = FontStyle.Bold;
+		}
+
+		void DrawAccessTokenLink()
+		{
+
+			EditorGUILayout.LabelField("Access Token", _titleStyle);
+
+			EditorGUILayout.BeginHorizontal(_horizontalGroup);
+			if (string.IsNullOrEmpty(_accessToken))
+			{
+				//fit box to text to create an 'inline link'
+				GUIContent labelContent = new GUIContent("Copy your free token from");
+				GUIContent linkContent = new GUIContent("mapbox.com");
+
+				EditorGUILayout.LabelField(labelContent, _bodyStyle, GUILayout.Width(_bodyStyle.CalcSize(labelContent).x));
+
+				if (GUILayout.Button(linkContent, _linkStyle))
+				{
+					Application.OpenURL("https://www.mapbox.com/studio/account/tokens/");
+				}
+
+				//create link cursor
+				var rect = GUILayoutUtility.GetLastRect();
+				rect.width = _linkStyle.CalcSize(new GUIContent(linkContent)).x;
+				EditorGUIUtility.AddCursorRect(rect, MouseCursor.Link);
+
+				GUILayout.FlexibleSpace();
+
+			}
+			else
+			{
+
+				GUIContent labelContent = new GUIContent("Manage your tokens at");
+				GUIContent linkContent = new GUIContent("mapbox.com/studio/accounts/tokens/");
+
+				EditorGUILayout.LabelField(labelContent, _bodyStyle, GUILayout.Width(_bodyStyle.CalcSize(labelContent).x));
+
+				if (GUILayout.Button(linkContent, _linkStyle))
+				{
+					Application.OpenURL("https://www.mapbox.com/studio/account/tokens/");
+				}
+
+				//create link cursor
+				var rect = GUILayoutUtility.GetLastRect();
+				rect.width = _linkStyle.CalcSize(new GUIContent(linkContent)).x;
+				EditorGUIUtility.AddCursorRect(rect, MouseCursor.Link);
+
+				GUILayout.FlexibleSpace();
+
+			}
+			EditorGUILayout.EndHorizontal();
+
+		}
+
+		void DrawAccessTokenField()
+		{
+			EditorGUILayout.BeginHorizontal(_horizontalGroup);
+
+			//_accessToken is empty
+			if (string.IsNullOrEmpty(_accessToken))
+			{
+				_accessToken = EditorGUILayout.TextField("", _accessToken, _textFieldStyle);
+				EditorGUI.BeginDisabledGroup(true);
+				GUILayout.Button("Submit", _submitButtonStyle);
+				EditorGUI.EndDisabledGroup();
+			}
+			else
+			{
+				//_accessToken is being validated
+				if (_validating)
+				{
+					EditorGUI.BeginDisabledGroup(true);
+					_accessToken = EditorGUILayout.TextField("", _accessToken, _textFieldStyle);
+					GUILayout.Button("Checking", _submitButtonStyle);
+					EditorGUI.EndDisabledGroup();
+				}
+				//_accessToken is the same as the already submitted token
+				else if (string.Equals(_lastValidatedToken, _accessToken))
+				{
+					//valid token
+					if (_currentTokenStatus == MapboxTokenStatus.TokenValid)
+					{
+						GUI.backgroundColor = _validBackgroundColor;
+						GUI.contentColor = _validContentColor;
+
+						_accessToken = EditorGUILayout.TextField("", _accessToken, _textFieldStyle);
+						GUILayout.Button("Valid", _validButtonStyle);
+
+						GUI.contentColor = _defaultContentColor;
+						GUI.backgroundColor = _defaultBackgroundColor;
+
+					}
+					//invalid token
+					else
+					{
+
+						GUI.contentColor = _invalidContentColor;
+						GUI.backgroundColor = _invalidBackgroundColor;
+
+						_accessToken = EditorGUILayout.TextField("", _accessToken, _textFieldStyle);
+						GUILayout.Button("Invalid", _validButtonStyle);
+
+						GUI.contentColor = _defaultContentColor;
+						GUI.backgroundColor = _defaultBackgroundColor;
+
+					}
+					//Submit button
+					if (GUILayout.Button("Submit", _submitButtonStyle))
+					{
+						SubmitConfiguration();
+					}
+
+				}
+				//_accessToken is a new, unsubmitted token.
+				else
+				{
+					_accessToken = EditorGUILayout.TextField("", _accessToken, _textFieldStyle);
+
+					if (GUILayout.Button("Submit", _submitButtonStyle))
+					{
+						SubmitConfiguration();
+					}
+				}
+			}
+
+			EditorGUILayout.EndHorizontal();
+
+		}
+
+		void DrawError()
+		{
+			//draw the error message, if one exists
+			EditorGUILayout.BeginHorizontal(_horizontalGroup);
+
+			if (_currentTokenStatus != MapboxTokenStatus.TokenValid
+				&& _currentTokenStatus != MapboxTokenStatus.StatusNotYetSet
+				&& string.Equals(_lastValidatedToken, _accessToken)
+				&& !_validating)
+			{
+				EditorGUILayout.LabelField(_currentTokenStatus.ToString(), _errorStyle);
+			}
+
+			EditorGUILayout.EndHorizontal();
+
+		}
+
+		void DrawChangelog()
+		{
+			EditorGUI.indentLevel = 2;
+
+			GUIContent linkContent = new GUIContent("v" + Constants.SDK_VERSION + " changelog");
+
+			if (GUILayout.Button(linkContent, _linkStyle))
+			{
+				Application.OpenURL("https://github.com/mapbox/mapbox-unity-sdk/blob/develop/documentation/docs/05-changelog.md");
+			}
+
+			EditorGUI.indentLevel = 0;
+		}
+
+		void DrawConfigurationSettings()
+		{
+			_showConfigurationFoldout = EditorGUILayout.Foldout(_showConfigurationFoldout, "Configuration", true);
+
+			if (_showConfigurationFoldout)
+			{
+				EditorGUIUtility.labelWidth = 240f;
+				EditorGUI.indentLevel = 2;
+				_memoryCacheSize = EditorGUILayout.IntSlider("Mem Cache Size (# of tiles)", _memoryCacheSize, 0, 1000);
+				_fileCacheSize = EditorGUILayout.IntSlider("File Cache Size (# of tiles)", _fileCacheSize, 0, 3000);
+				_autoRefreshCache = EditorGUILayout.Toggle(new GUIContent("Auto refresh cache", "Automatically update tiles in the local ambient cache if there is a newer version available online. ATTENTION: for every tile displayed (even a cached one) a webrequest needs to be made to check for updates."), _autoRefreshCache);
+				_webRequestTimeout = EditorGUILayout.IntField("Default Web Request Timeout (s)", _webRequestTimeout);
+
+				EditorGUILayout.BeginHorizontal(_horizontalGroup);
+				GUILayout.Space(35f);
+				if (GUILayout.Button("Save"))
+				{
+					SubmitConfiguration();
+				}
+				EditorGUI.indentLevel = 0;
+				EditorGUIUtility.labelWidth = 0f;
+				EditorGUILayout.EndHorizontal();
+			}
+
+		}
+
+		void DrawPrefabLinks()
+		{
+			EditorGUI.BeginDisabledGroup(_currentTokenStatus != MapboxTokenStatus.TokenValid
+										|| _validating);
+
+			if (_currentTokenStatus == MapboxTokenStatus.TokenValid)
+			{
+				EditorGUILayout.LabelField("Map Prefabs", _titleStyle);
+			}
+			else
+			{
+				EditorGUILayout.LabelField("Map Prefabs", "Paste your mapbox access token to get started", _titleStyle);
+			}
+
+			EditorGUILayout.BeginHorizontal(_horizontalGroup);
+			EditorGUILayout.LabelField("Choose a starting scene to see each location-based prefab in action, or go to the prefabs folder and add them to your existing scene.", _bodyStyle);
+			EditorGUILayout.EndHorizontal();
+
+			int rowCount = 4;
+			EditorGUILayout.BeginHorizontal();
+
+			_selectedPrefab = GUILayout.SelectionGrid(-1, _prefabContent, rowCount, _sampleButtonStyle);
+
+			if (_selectedPrefab != -1)
+			{
+				EditorApplication.isPaused = false;
+				EditorApplication.isPlaying = false;
+
+				_sceneToOpen = _prefabContent[_selectedPrefab].tooltip;
+				EditorApplication.update += OpenAndPlayScene;
+			}
+
+			EditorGUILayout.EndHorizontal();
+			EditorGUI.EndDisabledGroup();
+
+		}
+
+		void DrawExampleLinks()
+		{
+			EditorGUI.BeginDisabledGroup(_currentTokenStatus != MapboxTokenStatus.TokenValid
+										|| _validating);
+
+			if (_currentTokenStatus == MapboxTokenStatus.TokenValid)
+			{
+				EditorGUILayout.LabelField("Example Scenes", _titleStyle);
+			}
+			else
+			{
+				EditorGUILayout.LabelField("Example Scenes", _titleStyle);
+			}
+
+
+			int rowCount = 4;
+			EditorGUILayout.BeginHorizontal(_horizontalGroup);
+
+			_selectedSample = GUILayout.SelectionGrid(-1, _sampleContent, rowCount, _sampleButtonStyle);
+
+			if (_selectedSample != -1)
+			{
+				EditorApplication.isPaused = false;
+				EditorApplication.isPlaying = false;
+
+				_sceneToOpen = _sampleContent[_selectedSample].tooltip;
+				EditorApplication.update += OpenAndPlayScene;
+			}
+
+			EditorGUILayout.EndHorizontal();
+			EditorGUI.EndDisabledGroup();
+		}
+
+		private void OpenAndPlayScene()
+		{
+			if (EditorApplication.isPlaying)
+			{
+				return;
+			}
+
+			EditorApplication.update -= OpenAndPlayScene;
+
+			if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
+			{
+				EditorSceneManager.OpenScene(_sceneToOpen);
+				EditorApplication.isPlaying = true;
+
+				var editorWindow = GetWindow(typeof(MapboxConfigurationWindow));
+				editorWindow.Close();
+
+			}
+			else
+			{
+				_sceneToOpen = null;
+				_selectedPrefab = -1;
+				_selectedSample = -1;
+			}
+		}
+
+		static bool ShouldShowConfigurationWindow()
+		{
+			if (!PlayerPrefs.HasKey(Constants.Path.DID_PROMPT_CONFIGURATION))
+			{
+				PlayerPrefs.SetInt(Constants.Path.DID_PROMPT_CONFIGURATION, 0);
+			}
+
+			return PlayerPrefs.GetInt(Constants.Path.DID_PROMPT_CONFIGURATION) == 0;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MapboxConfigurationWindow.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/MapboxConfigurationWindow.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1c48af669a1a5bf6f80eadc12d1c5bd7c883e051
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MapboxConfigurationWindow.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 276c74102975f4a52b0d286bdb580c2e
+timeCreated: 1490214747
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MaterialModifierEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/MaterialModifierEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8a882b83a423fc04669140b73ff8eb4fe93af72f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MaterialModifierEditor.cs
@@ -0,0 +1,34 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	[CustomEditor(typeof(MaterialModifier))]
+	public class MaterialModifierEditor : UnityEditor.Editor
+	{
+
+		private MonoScript script;
+		private SerializedProperty _materials;
+
+		private void OnEnable()
+		{
+			script = MonoScript.FromScriptableObject((MaterialModifier)target);
+			_materials = serializedObject.FindProperty("_options");
+		}
+
+		public override void OnInspectorGUI()
+		{
+			serializedObject.Update();
+			GUI.enabled = false;
+			script = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
+			GUI.enabled = true;
+
+			EditorGUILayout.Space();
+			EditorGUILayout.PropertyField(_materials);
+			EditorGUILayout.Space();
+
+			serializedObject.ApplyModifiedProperties();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MaterialModifierEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/MaterialModifierEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d3edb99ffeaf65fa483ec092ae1b7e25d9199553
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MaterialModifierEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a416905e274b84a428108fb5b0ee6bb7
+timeCreated: 1504124010
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MergedModifierStackEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/MergedModifierStackEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..85c0223d7cf28465b0c0b7005c2ec0c5ac036c96
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MergedModifierStackEditor.cs
@@ -0,0 +1,104 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	[CustomEditor(typeof(MergedModifierStack))]
+	public class MergedModifierStackEditor : UnityEditor.Editor
+	{
+		private MonoScript script;
+		private Texture2D _magnifier;
+
+		private void OnEnable()
+		{
+			script = MonoScript.FromScriptableObject((MergedModifierStack)target);
+			_magnifier = EditorGUIUtility.FindTexture("d_ViewToolZoom");
+		}
+
+		public override void OnInspectorGUI()
+		{
+			serializedObject.Update();
+			GUI.enabled = false;
+			script = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
+			GUI.enabled = true;
+
+			EditorGUILayout.Space();
+
+			EditorGUILayout.Space();
+			EditorGUILayout.LabelField("Mesh Modifiers");
+			var facs = serializedObject.FindProperty("MeshModifiers");
+			for (int i = 0; i < facs.arraySize; i++)
+			{
+				var ind = i;
+				EditorGUILayout.BeginHorizontal();
+				EditorGUILayout.BeginVertical();
+				GUILayout.Space(5);
+				facs.GetArrayElementAtIndex(ind).objectReferenceValue = EditorGUILayout.ObjectField(facs.GetArrayElementAtIndex(i).objectReferenceValue, typeof(MeshModifier), false) as ScriptableObject;
+				EditorGUILayout.EndVertical();
+
+				if (GUILayout.Button(_magnifier, (GUIStyle)"minibuttonleft", GUILayout.Width(30)))
+				{
+					ScriptableCreatorWindow.Open(typeof(MeshModifier), facs, ind);
+				}
+				if (GUILayout.Button(new GUIContent("-"), (GUIStyle)"minibuttonright", GUILayout.Width(30), GUILayout.Height(22)))
+				{
+					facs.DeleteArrayElementAtIndex(ind);
+				}
+				EditorGUILayout.EndHorizontal();
+			}
+
+			EditorGUILayout.Space();
+			EditorGUILayout.BeginHorizontal();
+			if (GUILayout.Button(new GUIContent("Add New Empty"), (GUIStyle)"minibuttonleft"))
+			{
+				facs.arraySize++;
+				facs.GetArrayElementAtIndex(facs.arraySize - 1).objectReferenceValue = null;
+			}
+			if (GUILayout.Button(new GUIContent("Find Asset"), (GUIStyle)"minibuttonright"))
+			{
+				ScriptableCreatorWindow.Open(typeof(MeshModifier), facs);
+			}
+			EditorGUILayout.EndHorizontal();
+
+			EditorGUILayout.Space();
+			EditorGUILayout.LabelField("Game Object Modifiers");
+			var facs2 = serializedObject.FindProperty("GoModifiers");
+			for (int i = 0; i < facs2.arraySize; i++)
+			{
+				var ind = i;
+				EditorGUILayout.BeginHorizontal();
+				EditorGUILayout.BeginVertical();
+				GUILayout.Space(5);
+				facs2.GetArrayElementAtIndex(ind).objectReferenceValue = EditorGUILayout.ObjectField(facs2.GetArrayElementAtIndex(i).objectReferenceValue, typeof(GameObjectModifier), false) as ScriptableObject;
+
+				EditorGUILayout.EndVertical();
+
+				if (GUILayout.Button(_magnifier, (GUIStyle)"minibuttonleft", GUILayout.Width(30)))
+				{
+					ScriptableCreatorWindow.Open(typeof(GameObjectModifier), facs2, ind);
+				}
+				if (GUILayout.Button(new GUIContent("-"), (GUIStyle)"minibuttonright", GUILayout.Width(30), GUILayout.Height(22)))
+				{
+					facs2.DeleteArrayElementAtIndex(ind);
+				}
+				EditorGUILayout.EndHorizontal();
+			}
+
+			EditorGUILayout.Space();
+			EditorGUILayout.BeginHorizontal();
+			if (GUILayout.Button(new GUIContent("Add New Empty"), (GUIStyle)"minibuttonleft"))
+			{
+				facs2.arraySize++;
+				facs2.GetArrayElementAtIndex(facs2.arraySize - 1).objectReferenceValue = null;
+			}
+			if (GUILayout.Button(new GUIContent("Find Asset"), (GUIStyle)"minibuttonright"))
+			{
+				ScriptableCreatorWindow.Open(typeof(GameObjectModifier), facs2);
+			}
+			EditorGUILayout.EndHorizontal();
+
+			serializedObject.ApplyModifiedProperties();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/MergedModifierStackEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/MergedModifierStackEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c2e799f33996ee21f5279da696c7d91dbf64e9a4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/MergedModifierStackEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c0ec3bc7bc8e146dc8ee1fcfcded456a
+timeCreated: 1504124010
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ModifierStackEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/ModifierStackEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a087d1f5ccbe746ad95b9f6f4cc94da2d92ea98e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ModifierStackEditor.cs
@@ -0,0 +1,107 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	[CustomEditor(typeof(ModifierStack))]
+	public class ModifierStackEditor : UnityEditor.Editor
+	{
+
+		private MonoScript script;
+		private SerializedProperty _positionType;
+		private Texture2D _magnifier;
+
+		private void OnEnable()
+		{
+			script = MonoScript.FromScriptableObject((ModifierStack)target);
+			_positionType = serializedObject.FindProperty("moveFeaturePositionTo");
+			_magnifier = EditorGUIUtility.FindTexture("d_ViewToolZoom");
+		}
+
+		public override void OnInspectorGUI()
+		{
+			serializedObject.Update();
+			GUI.enabled = false;
+			script = EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false) as MonoScript;
+			GUI.enabled = true;
+
+			EditorGUILayout.Space();
+			EditorGUILayout.PropertyField(_positionType, new GUIContent("Feature Position"));
+
+
+			EditorGUILayout.Space();
+			EditorGUILayout.LabelField("Mesh Modifiers");
+			var meshfac = serializedObject.FindProperty("MeshModifiers");
+			for (int i = 0; i < meshfac.arraySize; i++)
+			{
+				var ind = i;
+				EditorGUILayout.BeginHorizontal();
+				EditorGUILayout.BeginVertical();
+				GUILayout.Space(5);
+				meshfac.GetArrayElementAtIndex(ind).objectReferenceValue = EditorGUILayout.ObjectField(meshfac.GetArrayElementAtIndex(i).objectReferenceValue, typeof(MeshModifier), false) as ScriptableObject;
+				EditorGUILayout.EndVertical();
+				if (GUILayout.Button(_magnifier, (GUIStyle)"minibuttonleft", GUILayout.Width(30)))
+				{
+					ScriptableCreatorWindow.Open(typeof(MeshModifier), meshfac, ind);
+				}
+				if (GUILayout.Button(new GUIContent("-"), (GUIStyle)"minibuttonright", GUILayout.Width(30), GUILayout.Height(22)))
+				{
+					meshfac.DeleteArrayElementAtIndex(ind);
+				}
+				EditorGUILayout.EndHorizontal();
+			}
+
+			EditorGUILayout.Space();
+			EditorGUILayout.BeginHorizontal();
+			if (GUILayout.Button(new GUIContent("Add New Empty"), (GUIStyle)"minibuttonleft"))
+			{
+				meshfac.arraySize++;
+				meshfac.GetArrayElementAtIndex(meshfac.arraySize - 1).objectReferenceValue = null;
+			}
+			if (GUILayout.Button(new GUIContent("Find Asset"), (GUIStyle)"minibuttonright"))
+			{
+				ScriptableCreatorWindow.Open(typeof(MeshModifier), meshfac);
+			}
+			EditorGUILayout.EndHorizontal();
+
+			EditorGUILayout.Space();
+			EditorGUILayout.LabelField("Game Object Modifiers");
+			var gofac = serializedObject.FindProperty("GoModifiers");
+			for (int i = 0; i < gofac.arraySize; i++)
+			{
+				var ind = i;
+				EditorGUILayout.BeginHorizontal();
+				EditorGUILayout.BeginVertical();
+				GUILayout.Space(5);
+				gofac.GetArrayElementAtIndex(ind).objectReferenceValue = EditorGUILayout.ObjectField(gofac.GetArrayElementAtIndex(i).objectReferenceValue, typeof(GameObjectModifier), false) as ScriptableObject;
+				EditorGUILayout.EndVertical();
+
+				if (GUILayout.Button(_magnifier, (GUIStyle)"minibuttonleft", GUILayout.Width(30)))
+				{
+					ScriptableCreatorWindow.Open(typeof(GameObjectModifier), gofac, ind);
+				}
+				if (GUILayout.Button(new GUIContent("-"), (GUIStyle)"minibuttonright", GUILayout.Width(30), GUILayout.Height(22)))
+				{
+					gofac.DeleteArrayElementAtIndex(ind);
+				}
+				EditorGUILayout.EndHorizontal();
+			}
+
+			EditorGUILayout.Space();
+			EditorGUILayout.BeginHorizontal();
+			if (GUILayout.Button(new GUIContent("Add New Empty"), (GUIStyle)"minibuttonleft"))
+			{
+				gofac.arraySize++;
+				gofac.GetArrayElementAtIndex(gofac.arraySize - 1).objectReferenceValue = null;
+			}
+			if (GUILayout.Button(new GUIContent("Find Asset"), (GUIStyle)"minibuttonright"))
+			{
+				ScriptableCreatorWindow.Open(typeof(GameObjectModifier), gofac);
+			}
+			EditorGUILayout.EndHorizontal();
+
+			serializedObject.ApplyModifiedProperties();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ModifierStackEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/ModifierStackEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..38f98dd9c636140237b02e9c4cf2eea8d6f73482
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ModifierStackEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c0cd73e58c7a441cd81f138edd9bbb31
+timeCreated: 1504124010
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PointsOfInterestSubLayerTreeView.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PointsOfInterestSubLayerTreeView.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3afff90f94642a71d47d2761bedd6ab6737ec39a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PointsOfInterestSubLayerTreeView.cs
@@ -0,0 +1,82 @@
+namespace Mapbox.Editor
+{
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using UnityEditor.IMGUI.Controls;
+	using UnityEditor;
+	using Mapbox.Unity.Map;
+
+	public class PointsOfInterestSubLayerTreeView : TreeView
+	{
+		public SerializedProperty Layers;
+		private float kToggleWidth = 18f;
+		private const int uniqueId = 0;
+
+		public bool hasChanged = false;
+
+		public PointsOfInterestSubLayerTreeView(TreeViewState state)
+			: base(state)
+		{
+			showAlternatingRowBackgrounds = true;
+			showBorder = true;
+			Reload();
+		}
+
+		protected override TreeViewItem BuildRoot()
+		{
+			// The root item is required to have a depth of -1, and the rest of the items increment from that.
+			var root = new TreeViewItem { id = -1, depth = -1, displayName = "Root" };
+
+			var items = new List<TreeViewItem>();
+			var index = 0;
+
+			if (Layers != null)
+			{
+				for (int i = 0; i < Layers.arraySize; i++)
+				{
+					var name = Layers.GetArrayElementAtIndex(i).FindPropertyRelative("coreOptions.sublayerName").stringValue;
+					items.Add(new TreeViewItem { id = index + uniqueId, depth = 1, displayName = name });
+					index++;
+				}
+			}
+
+			// Utility method that initializes the TreeViewItem.children and .parent for all items.
+			SetupParentsAndChildrenFromDepths(root, items);
+
+			// Return root of the tree
+			return root;
+		}
+
+		protected override bool CanRename(TreeViewItem item)
+		{
+			return true;
+		}
+
+		protected override void RenameEnded(RenameEndedArgs args)
+		{
+			if (Layers == null)
+			{
+				return;
+			}
+
+			var layer = Layers.GetArrayElementAtIndex(args.itemID - uniqueId);
+			layer.FindPropertyRelative("coreOptions.sublayerName").stringValue = string.IsNullOrEmpty(args.newName.Trim()) ? args.originalName : args.newName;
+		}
+
+		protected override void RowGUI(RowGUIArgs args)
+		{
+			Rect toggleRect = args.rowRect;
+			toggleRect.width = kToggleWidth;
+			var item = Layers.GetArrayElementAtIndex(args.item.id - uniqueId);
+			EditorGUI.BeginChangeCheck();
+			item.FindPropertyRelative("coreOptions.isActive").boolValue = EditorGUI.Toggle(toggleRect, item.FindPropertyRelative("coreOptions.isActive").boolValue);
+			if(EditorGUI.EndChangeCheck())
+			{
+				hasChanged = true;
+			}
+			args.item.displayName = item.FindPropertyRelative("coreOptions.sublayerName").stringValue;
+			base.RowGUI(args);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PointsOfInterestSubLayerTreeView.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PointsOfInterestSubLayerTreeView.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..41a150ab208e6a45b81c6c7f20d9f967c4517349
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PointsOfInterestSubLayerTreeView.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 430429020c0a64703b89ac33585da3e7
+timeCreated: 1530564120
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PopupSelectionMenu.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PopupSelectionMenu.cs
new file mode 100644
index 0000000000000000000000000000000000000000..58745da0ea37c2ace69a0ee9cdc07357fce593c7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PopupSelectionMenu.cs
@@ -0,0 +1,161 @@
+using UnityEngine;
+using UnityEditor;
+using System.Collections.Generic;
+using System;
+using System.IO;
+using System.Reflection;
+using Mapbox.Unity;
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Editor
+{
+	/// <summary>
+	/// Pop up menu for selecting, creating and assigning modifier instances to AbstractMap.
+	/// </summary>
+	public class PopupSelectionMenu : PopupWindowContent
+	{
+
+		private Type _type;
+
+		private List<Type> _modTypes;
+
+		private SerializedProperty _finalize;
+
+		private Vector2 _scrollPos;
+
+		public override Vector2 GetWindowSize()
+		{
+			return new Vector2(250, 250);
+		}
+
+		public override void OnGUI(Rect rect)
+		{
+			if (_modTypes == null || _modTypes.Count == 0)
+			{
+				_modTypes = new List<Type>();
+
+				AppDomain currentDomain = AppDomain.CurrentDomain;
+				Assembly[] assemblies = currentDomain.GetAssemblies();
+				for (int i = 0; i < assemblies.Length; i++)
+				{
+					Type[] types = assemblies[i].GetTypes();
+					for (int j = 0; j < types.Length; j++)
+					{
+						if (types[j].IsSubclassOf(_type))
+						{
+							_modTypes.Add(types[j]);
+						}
+					}
+				}
+			}
+
+			GUILayout.Label(String.Format("{0}s", _type.Name), EditorStyles.boldLabel);
+			var st = new GUIStyle();
+			st.padding = new RectOffset(0, 0, 15, 15);
+			_scrollPos = EditorGUILayout.BeginScrollView(_scrollPos, st);
+
+			for (int i = 0; i < _modTypes.Count; i++)
+			{
+				Type asset = _modTypes[i];
+				if (asset == null) //yea turns out this can happen
+					continue;
+				var style = GUI.skin.button;
+				style.alignment = TextAnchor.MiddleLeft;
+				string shortTypeName = GetShortTypeName(asset.ToString());
+				if (GUILayout.Button(shortTypeName, style))
+				{
+					CreateNewModiferInstance(asset, shortTypeName);
+					editorWindow.Close();
+				}
+			}
+			EditorGUILayout.EndScrollView();
+		}
+
+		/// <summary>
+		/// Gets the short name of the type.
+		/// </summary>
+		/// <returns>The short type name.</returns>
+		/// <param name="input">Input.</param>
+		private string GetShortTypeName(string input)
+		{
+			int pos = input.LastIndexOf(".", StringComparison.CurrentCulture) + 1;
+			return input.Substring(pos, input.Length - pos);
+		}
+
+		/// <summary>
+		/// Creates the new modifer instance.
+		/// </summary>
+		/// <param name="type">Type.</param>
+		/// <param name="name">Name.</param>
+		private void CreateNewModiferInstance(Type type, string name)
+		{
+			var modifierInstance = ScriptableObject.CreateInstance(type);
+
+			string pathCandidate = Constants.Path.MAPBOX_USER_MODIFIERS;
+			if (!Directory.Exists(pathCandidate))
+			{
+
+				string userFolder = Constants.Path.MAPBOX_USER;
+				if (!Directory.Exists(userFolder))
+				{
+					string parentPath = System.IO.Path.Combine("Assets", "Mapbox");
+					AssetDatabase.CreateFolder(parentPath, "User");
+				}
+				AssetDatabase.CreateFolder(userFolder, "Modifiers");
+			}
+
+			foreach (UnityEngine.Object obj in Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.Assets))
+			{
+				pathCandidate = AssetDatabase.GetAssetPath(obj);
+				if (!string.IsNullOrEmpty(pathCandidate) && File.Exists(pathCandidate))
+				{
+					pathCandidate = Path.GetDirectoryName(pathCandidate);
+					break;
+				}
+			}
+
+			string combinedPath = string.Format("{0}{1}.asset", Path.Combine(pathCandidate, "New"), name);
+			string uniqueAssetPath = AssetDatabase.GenerateUniqueAssetPath(combinedPath);
+
+			modifierInstance.name = name;
+
+			AssetDatabase.CreateAsset(modifierInstance, uniqueAssetPath);
+
+			AssetDatabase.SaveAssets();
+			AssetDatabase.Refresh();
+
+			AddNewInstanceToArray(modifierInstance);
+
+			Debug.Log(string.Format("Created new {0} modifer at {1}", name, uniqueAssetPath));
+		}
+
+		/// <summary>
+		/// Adds the new instance to array.
+		/// </summary>
+		/// <param name="obj">Object.</param>
+		public void AddNewInstanceToArray(object obj)
+		{
+			ScriptableObject asset = obj as ScriptableObject;
+
+			_finalize.arraySize++;
+			_finalize.GetArrayElementAtIndex(_finalize.arraySize - 1).objectReferenceValue = asset;
+
+			MapboxDataProperty mapboxDataProperty = (MapboxDataProperty)EditorHelper.GetTargetObjectWithProperty(_finalize);
+			if (_finalize.serializedObject.ApplyModifiedProperties() && mapboxDataProperty != null)
+			{
+				mapboxDataProperty.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Initializes a new instance of the <see cref="T:Mapbox.Editor.PopupSelectionMenu"/> class.
+		/// </summary>
+		/// <param name="t">T.</param>
+		/// <param name="p">P.</param>
+		public PopupSelectionMenu(Type t, SerializedProperty p)
+		{
+			_type = t;
+			_finalize = p;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PopupSelectionMenu.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PopupSelectionMenu.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..abfb974cf646556dd60434545ecd26ed4bdbf225
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PopupSelectionMenu.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a6c73878fee204232a755433b391ccd5
+timeCreated: 1526401331
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cfc5623b80d7bf638b57ecbbbc5005945db1c2ae
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0963d53ec1a1b453bbcf67aa71a02a1d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/BehaviorModifiersSectionDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/BehaviorModifiersSectionDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e7aa86f36a564ea205cd7878f6be5231fcddc293
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/BehaviorModifiersSectionDrawer.cs
@@ -0,0 +1,218 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using System.Collections;
+	using UnityEditor;
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	public class BehaviorModifiersSectionDrawer
+	{
+		string objectId = "";
+
+		bool showGameplay
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "VectorSubLayerProperties_showGameplay");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "VectorSubLayerProperties_showGameplay", value);
+			}
+		}
+
+		public void DrawUI(SerializedProperty layerProperty, VectorPrimitiveType primitiveTypeProp, VectorSourceType sourceType)
+		{
+
+			showGameplay = EditorGUILayout.Foldout(showGameplay, "Behavior Modifiers");
+			if (showGameplay)
+			{
+
+				bool isPrimitiveTypeValidForBuidingIds = (primitiveTypeProp == VectorPrimitiveType.Polygon || primitiveTypeProp == VectorPrimitiveType.Custom);
+				bool isSourceValidForBuildingIds = sourceType != VectorSourceType.MapboxStreets;
+
+				layerProperty.FindPropertyRelative("honorBuildingIdSetting").boolValue = isPrimitiveTypeValidForBuidingIds && isSourceValidForBuildingIds;
+
+				if (layerProperty.FindPropertyRelative("honorBuildingIdSetting").boolValue == true)
+				{
+					EditorGUI.BeginChangeCheck();
+					EditorGUILayout.PropertyField(layerProperty.FindPropertyRelative("buildingsWithUniqueIds"), new GUIContent
+					{
+						text = "Buildings With Unique Ids",
+						tooltip =
+							"Turn on this setting only when rendering 3D buildings from the Mapbox Streets with Building Ids tileset. Using this setting with any other polygon layers or source will result in visual artifacts. "
+					});
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(layerProperty);
+					}
+				}
+
+				var subLayerCoreOptions = layerProperty.FindPropertyRelative("coreOptions");
+				var combineMeshesProperty = subLayerCoreOptions.FindPropertyRelative("combineMeshes");
+
+				EditorGUILayout.BeginHorizontal();
+				if (combineMeshesProperty.boolValue == false)
+				{
+					var featurePositionProperty = layerProperty.FindPropertyRelative("moveFeaturePositionTo");
+					GUIContent dropDownLabel = new GUIContent
+					{
+						text = "Feature Position",
+						tooltip = "Position to place feature in the tile. "
+					};
+
+					GUIContent[] dropDownItems = new GUIContent[featurePositionProperty.enumDisplayNames.Length];
+
+					for (int i = 0; i < featurePositionProperty.enumDisplayNames.Length; i++)
+					{
+						dropDownItems[i] = new GUIContent
+						{
+							text = featurePositionProperty.enumDisplayNames[i]
+						};
+					}
+					EditorGUI.BeginChangeCheck();
+					featurePositionProperty.enumValueIndex = EditorGUILayout.Popup(dropDownLabel, featurePositionProperty.enumValueIndex, dropDownItems);
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(layerProperty);
+					}
+				}
+				EditorGUILayout.EndHorizontal();
+				DrawMeshModifiers(layerProperty);
+				DrawGoModifiers(layerProperty);
+			}
+		}
+
+		private void DrawMeshModifiers(SerializedProperty property)
+		{
+
+			EditorGUILayout.BeginVertical();
+			EditorGUILayout.LabelField(new GUIContent
+			{
+				text = "Mesh Modifiers",
+				tooltip = "Modifiers that manipulate the features mesh. "
+			});
+
+			var meshfac = property.FindPropertyRelative("MeshModifiers");
+
+			for (int i = 0; i < meshfac.arraySize; i++)
+			{
+				var ind = i;
+				EditorGUILayout.BeginHorizontal();
+
+				EditorGUILayout.BeginVertical();
+				meshfac.GetArrayElementAtIndex(ind).objectReferenceValue =
+					EditorGUILayout.ObjectField(meshfac.GetArrayElementAtIndex(i).objectReferenceValue, typeof(MeshModifier), false)
+						as ScriptableObject;
+
+				EditorGUILayout.EndVertical();
+
+				if (GUILayout.Button(new GUIContent("x"), (GUIStyle)"minibuttonright", GUILayout.Width(30)))
+				{
+					bool elementWasDeleted = false;
+					if (meshfac.arraySize > 0)
+					{
+						meshfac.DeleteArrayElementAtIndex(ind);
+						elementWasDeleted = true;
+					}
+					if (meshfac.arraySize > 0)
+					{
+						meshfac.DeleteArrayElementAtIndex(ind);
+					}
+					if (elementWasDeleted)
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+				}
+
+				EditorGUILayout.EndHorizontal();
+			}
+
+			EditorGUI.indentLevel++;
+			EditorGUILayout.BeginHorizontal();
+			GUILayout.Space(EditorGUI.indentLevel * 12);
+			Rect buttonRect = GUILayoutUtility.GetLastRect();
+			if (GUILayout.Button(new GUIContent("Add New"), (GUIStyle)"minibuttonleft"))
+			{
+				PopupWindow.Show(buttonRect, new PopupSelectionMenu(typeof(MeshModifier), meshfac));
+				if (Event.current.type == EventType.Repaint) buttonRect = GUILayoutUtility.GetLastRect();
+			}
+
+			if (GUILayout.Button(new GUIContent("Add Existing"), (GUIStyle)"minibuttonright"))
+			{
+				ScriptableCreatorWindow.Open(typeof(MeshModifier), meshfac, -1, null, property);
+			}
+
+			EditorGUILayout.EndHorizontal();
+			EditorGUILayout.EndVertical();
+			EditorGUI.indentLevel--;
+		}
+
+		private void DrawGoModifiers(SerializedProperty property)
+		{
+
+			EditorGUILayout.BeginVertical();
+
+			EditorGUILayout.LabelField(new GUIContent
+			{
+				text = "Game Object Modifiers",
+				tooltip = "Modifiers that manipulate the GameObject after mesh generation."
+			});
+			var gofac = property.FindPropertyRelative("GoModifiers");
+
+			for (int i = 0; i < gofac.arraySize; i++)
+			{
+				var ind = i;
+				EditorGUILayout.BeginHorizontal();
+				EditorGUILayout.BeginVertical();
+				GUILayout.Space(5);
+				gofac.GetArrayElementAtIndex(ind).objectReferenceValue =
+					EditorGUILayout.ObjectField(gofac.GetArrayElementAtIndex(i).objectReferenceValue, typeof(GameObjectModifier),
+						false) as ScriptableObject;
+				EditorGUILayout.EndVertical();
+
+				if (GUILayout.Button(new GUIContent("x"), GUILayout.Width(30)))
+				{
+					bool elementWasDeleted = false;
+					if (gofac.arraySize > 0)
+					{
+						gofac.DeleteArrayElementAtIndex(ind);
+						elementWasDeleted = true;
+					}
+					if (gofac.arraySize > 0)
+					{
+						gofac.DeleteArrayElementAtIndex(ind);
+					}
+					if (elementWasDeleted)
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+				}
+
+				EditorGUILayout.EndHorizontal();
+			}
+
+			EditorGUI.indentLevel++;
+			EditorGUILayout.BeginHorizontal();
+			GUILayout.Space(EditorGUI.indentLevel * 12);
+			Rect buttonRect = GUILayoutUtility.GetLastRect();
+
+			if (GUILayout.Button(new GUIContent("Add New"), (GUIStyle)"minibuttonleft"))
+			{
+				PopupWindow.Show(buttonRect, new PopupSelectionMenu(typeof(GameObjectModifier), gofac));
+				if (Event.current.type == EventType.Repaint) buttonRect = GUILayoutUtility.GetLastRect();
+			}
+
+			if (GUILayout.Button(new GUIContent("Add Existing"), (GUIStyle)"minibuttonright"))
+			{
+
+				ScriptableCreatorWindow.Open(typeof(GameObjectModifier), gofac, -1, null, property);
+			}
+
+			EditorGUILayout.EndHorizontal();
+			EditorGUI.indentLevel--;
+			EditorGUILayout.EndVertical();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/BehaviorModifiersSectionDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/BehaviorModifiersSectionDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0da75f04091ea883e5befc3dcf723fd273158f36
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/BehaviorModifiersSectionDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4301f1990a1f8417280b87eb43510a4c
+timeCreated: 1533828994
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CameraBoundsTileProviderOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CameraBoundsTileProviderOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6c3f149b2808fd36f7af41411ab1f41eee676a7d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CameraBoundsTileProviderOptionsDrawer.cs
@@ -0,0 +1,25 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(CameraBoundsTileProviderOptions))]
+	public class CameraBoundsTileProviderOptionsDrawer : PropertyDrawer
+	{
+		static float _lineHeight = EditorGUIUtility.singleLineHeight;
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			var camera = property.FindPropertyRelative("camera");
+			EditorGUI.PropertyField(position, camera, new GUIContent
+			{
+				text = camera.displayName,
+				tooltip = "Camera to control map extent."
+			});
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			return 1 * _lineHeight;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CameraBoundsTileProviderOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CameraBoundsTileProviderOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..18a3fbf323fbb8e93fc1804f0222d8450ca32e26
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CameraBoundsTileProviderOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: edfd5847c11274df4a63d74e142d6695
+timeCreated: 1517858264
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ColliderOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ColliderOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ac8fe9591baf8ddb20246a950464512712e083b6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ColliderOptionsDrawer.cs
@@ -0,0 +1,58 @@
+namespace Mapbox.Editor
+{
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.VectorTile.ExtensionMethods;
+	using Mapbox.Editor;
+
+	[CustomPropertyDrawer(typeof(ColliderOptions))]
+	public class ColliderOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+		bool isGUIContentSet = false;
+		GUIContent[] colliderTypeContent;
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, null, property);
+			var colliderTypeLabel = new GUIContent
+			{
+				text = "Collider Type",
+				tooltip = "The type of collider added to game objects in this layer."
+			};
+			var colliderTypeProperty = property.FindPropertyRelative("colliderType");
+
+			var displayNames = colliderTypeProperty.enumDisplayNames;
+			int count = colliderTypeProperty.enumDisplayNames.Length;
+
+			if (!isGUIContentSet)
+			{
+				colliderTypeContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					colliderTypeContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = EnumExtensions.Description((ColliderType)extIdx),
+					};
+				}
+				isGUIContentSet = true;
+			}
+
+			EditorGUI.BeginChangeCheck();
+			colliderTypeProperty.enumValueIndex = EditorGUILayout.Popup(colliderTypeLabel, colliderTypeProperty.enumValueIndex, colliderTypeContent);
+			if(EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			EditorGUI.EndProperty();
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			return lineHeight;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ColliderOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ColliderOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..76bd76f367671a675bfca516cc0ffa297d743672
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ColliderOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 05ab73c42b3654a68823b6793c470531
+timeCreated: 1522459817
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CoreVectorLayerPropertiesDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CoreVectorLayerPropertiesDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..467f5ba224d2abeefd5a2519a9136b328cdf282f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CoreVectorLayerPropertiesDrawer.cs
@@ -0,0 +1,57 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using System.Collections.Generic;
+	using System.Linq;
+	using System;
+	using Mapbox.VectorTile.ExtensionMethods;
+	using Mapbox.Editor;
+
+	[CustomPropertyDrawer(typeof(CoreVectorLayerProperties))]
+	public class CoreVectorLayerPropertiesDrawer : PropertyDrawer
+	{
+		bool _isGUIContentSet = false;
+		GUIContent[] _primitiveTypeContent;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+
+			EditorGUI.BeginProperty(position, null, property);
+
+			var primitiveType = property.FindPropertyRelative("geometryType");
+
+			var primitiveTypeLabel = new GUIContent
+			{
+				text = "Primitive Type",
+				tooltip = "Primitive geometry type of the visualizer, allowed primitives - point, line, polygon."
+			};
+
+			var displayNames = primitiveType.enumDisplayNames;
+			int count = primitiveType.enumDisplayNames.Length;
+
+			if (!_isGUIContentSet)
+			{
+				_primitiveTypeContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					_primitiveTypeContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = EnumExtensions.Description((VectorPrimitiveType)extIdx),
+					};
+				}
+				_isGUIContentSet = true;
+			}
+
+			EditorGUI.BeginChangeCheck();
+			primitiveType.enumValueIndex = EditorGUILayout.Popup(primitiveTypeLabel, primitiveType.enumValueIndex, _primitiveTypeContent);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+			EditorGUI.EndProperty();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CoreVectorLayerPropertiesDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CoreVectorLayerPropertiesDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9027c2ce4dbd3ab6bd9945d9dcba6adaf80747ab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/CoreVectorLayerPropertiesDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a198cd5919ca149099130ba68e0f258b
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationLayerPropertiesDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationLayerPropertiesDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e41c82259403041f9c63f2a9fee4cc8118ddfba1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationLayerPropertiesDrawer.cs
@@ -0,0 +1,163 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	[CustomPropertyDrawer(typeof(ElevationLayerProperties))]
+	public class ElevationLayerPropertiesDrawer : PropertyDrawer
+	{
+		string objectId = "";
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+		GUIContent[] sourceTypeContent;
+		bool isGUIContentSet = false;
+
+		bool ShowPosition
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "ElevationLayerProperties_showPosition");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "ElevationLayerProperties_showPosition", value);
+			}
+		}
+
+		private GUIContent _tilesetIdGui = new GUIContent
+		{
+			text = "Tileset Id",
+			tooltip = "Id of the tileset."
+		};
+
+		string CustomSourceTilesetId
+		{
+			get
+			{
+				return EditorPrefs.GetString(objectId + "ElevationLayerProperties_customSourceTilesetId");
+			}
+			set
+			{
+				EditorPrefs.SetString(objectId + "ElevationLayerProperties_customSourceTilesetId", value);
+			}
+		}
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			objectId = property.serializedObject.targetObject.GetInstanceID().ToString();
+
+			var sourceTypeProperty = property.FindPropertyRelative("sourceType");
+
+			var displayNames = sourceTypeProperty.enumDisplayNames;
+			int count = sourceTypeProperty.enumDisplayNames.Length;
+			if (!isGUIContentSet)
+			{
+				sourceTypeContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					sourceTypeContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = ((ElevationSourceType)extIdx).Description(),
+					};
+				}
+				isGUIContentSet = true;
+			}
+			var sourceTypeLabel = new GUIContent { text = "Data Source", tooltip = "Source tileset for Terrain." };
+
+			EditorGUI.BeginChangeCheck();
+			sourceTypeProperty.enumValueIndex = EditorGUILayout.Popup(sourceTypeLabel, sourceTypeProperty.enumValueIndex, sourceTypeContent);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			var sourceTypeValue = (ElevationSourceType)sourceTypeProperty.enumValueIndex;
+
+			var sourceOptionsProperty = property.FindPropertyRelative("sourceOptions");
+			var layerSourceProperty = sourceOptionsProperty.FindPropertyRelative("layerSource");
+			var layerSourceId = layerSourceProperty.FindPropertyRelative("Id");
+
+			EditorGUI.BeginChangeCheck();
+
+			switch (sourceTypeValue)
+			{
+				case ElevationSourceType.MapboxTerrain:
+					var sourcePropertyValue = MapboxDefaultElevation.GetParameters(sourceTypeValue);
+					layerSourceId.stringValue = sourcePropertyValue.Id;
+					GUI.enabled = false;
+					EditorGUILayout.PropertyField(sourceOptionsProperty, _tilesetIdGui);
+					GUI.enabled = true;
+					break;
+				case ElevationSourceType.Custom:
+					layerSourceId.stringValue = string.IsNullOrEmpty(CustomSourceTilesetId) ? MapboxDefaultElevation.GetParameters(ElevationSourceType.MapboxTerrain).Id : CustomSourceTilesetId;
+					EditorGUILayout.PropertyField(sourceOptionsProperty, _tilesetIdGui);
+					CustomSourceTilesetId = layerSourceId.stringValue;
+					break;
+				default:
+					break;
+			}
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			var elevationLayerType = property.FindPropertyRelative("elevationLayerType");
+
+			if (sourceTypeValue == ElevationSourceType.None)
+			{
+				GUI.enabled = false;
+				elevationLayerType.enumValueIndex = (int)ElevationLayerType.FlatTerrain;
+			}
+
+			EditorGUI.BeginChangeCheck();
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("elevationLayerType"), new GUIContent { text = elevationLayerType.displayName, tooltip = ((ElevationLayerType)elevationLayerType.enumValueIndex).Description() });
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			if (sourceTypeValue == ElevationSourceType.None)
+			{
+				GUI.enabled = true;
+			}
+
+			GUILayout.Space(-lineHeight);
+			EditorGUI.BeginChangeCheck();
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("colliderOptions"), true);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property.FindPropertyRelative("colliderOptions"));
+			}
+			GUILayout.Space(2 * -lineHeight);
+
+			EditorGUI.BeginChangeCheck();
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("requiredOptions"), true);
+			GUILayout.Space(-lineHeight);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			ShowPosition = EditorGUILayout.Foldout(ShowPosition, "Others");
+
+			if (ShowPosition)
+			{
+				EditorGUI.BeginChangeCheck();
+
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("modificationOptions"), true);
+
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("sideWallOptions"), true);
+
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("unityLayerOptions"), true);
+
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(property);
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationLayerPropertiesDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationLayerPropertiesDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d6d27ebf27b8fcf7b042dcb663c5fc917a6b9db9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationLayerPropertiesDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: becc811ca916a4717bf81685180e605d
+timeCreated: 1520010402
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationModificationOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationModificationOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e2396bffc50a69da89124dd91999ee733faefe1b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationModificationOptionsDrawer.cs
@@ -0,0 +1,28 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(ElevationModificationOptions))]
+	public class ElevationModificationOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+			EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("sampleCount"));
+			position.y += lineHeight;
+			EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("useRelativeHeight"));
+			position.y += lineHeight;
+			EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("earthRadius"));
+			EditorGUI.EndProperty();
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			// Reserve space for the total visible properties.
+			return 3.0f * lineHeight;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationModificationOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationModificationOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eb93b484fff169e863469be9484aa1e660568d03
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationModificationOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 299ec1d2adf5f4418aa69f1441d59731
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationRequiredOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationRequiredOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5c2c0415de109622b31db18ac43f66eb6ecb73cb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationRequiredOptionsDrawer.cs
@@ -0,0 +1,27 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(ElevationRequiredOptions))]
+	public class ElevationRequiredOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+
+			position.y += lineHeight;
+			EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("exaggerationFactor"));
+
+			EditorGUI.EndProperty();
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			// Reserve space for the total visible properties.
+			return 3.0f * lineHeight;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationRequiredOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationRequiredOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b9251f669019d81c42c808a6b3708ee4510e3a65
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ElevationRequiredOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 0b69c5574214341c9888bda16d659aee
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/FeaturesSubLayerPropertiesDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/FeaturesSubLayerPropertiesDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..28f71eac94bb6e95b3f1394fe55d386aa57a81ef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/FeaturesSubLayerPropertiesDrawer.cs
@@ -0,0 +1,696 @@
+namespace Mapbox.Editor
+{
+	using System.Collections.Generic;
+	using System.Linq;
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.Map;
+	using UnityEditor.IMGUI.Controls;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using Mapbox.VectorTile.ExtensionMethods;
+	using Mapbox.Unity.MeshGeneration.Filters;
+	using Mapbox.Platform.TilesetTileJSON;
+	using Mapbox.Editor;
+	using System;
+
+	public class FeaturesSubLayerPropertiesDrawer
+	{
+		static float _lineHeight = EditorGUIUtility.singleLineHeight;
+		GUIContent[] _sourceTypeContent;
+		bool _isGUIContentSet = false;
+		bool _isInitialized = false;
+		private TileJsonData tileJSONData;
+		private static TileJSONResponse tileJSONResponse;
+		static TileJsonData tileJsonData = new TileJsonData();
+		int _layerIndex = 0;
+		GUIContent[] _layerTypeContent;
+		private static VectorSubLayerProperties subLayerProperties;
+		private TreeModel<FeatureTreeElement> treeModel;
+
+		private static string[] names;
+		[SerializeField]
+		TreeViewState m_TreeViewState;
+
+		[SerializeField]
+		MultiColumnHeaderState m_MultiColumnHeaderState;
+
+		public bool isLayerAdded = false;
+		bool m_Initialized = false;
+		string objectId = "";
+		private string TilesetId
+		{
+			get
+			{
+				return EditorPrefs.GetString(objectId + "VectorSubLayerProperties_tilesetId");
+			}
+			set
+			{
+				EditorPrefs.SetString(objectId + "VectorSubLayerProperties_tilesetId", value);
+			}
+		}
+
+		bool ShowPosition
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "VectorSubLayerProperties_showPosition");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "VectorSubLayerProperties_showPosition", value);
+			}
+		}
+
+		int SelectionIndex
+		{
+			get
+			{
+				return EditorPrefs.GetInt(objectId + "VectorSubLayerProperties_selectionIndex");
+			}
+			set
+			{
+				EditorPrefs.SetInt(objectId + "VectorSubLayerProperties_selectionIndex", value);
+			}
+		}
+
+		ModelingSectionDrawer _modelingSectionDrawer = new ModelingSectionDrawer();
+		BehaviorModifiersSectionDrawer _behaviorModifierSectionDrawer = new BehaviorModifiersSectionDrawer();
+
+		private static TileStats _streetsV7TileStats;
+		private static string[] subTypeValues;
+		FeatureSubLayerTreeView layerTreeView;
+		IList<int> selectedLayers = new List<int>();
+		public void DrawUI(SerializedProperty property)
+		{
+
+			objectId = property.serializedObject.targetObject.GetInstanceID().ToString();
+			var serializedMapObject = property.serializedObject;
+			AbstractMap mapObject = (AbstractMap)serializedMapObject.targetObject;
+			tileJSONData = mapObject.VectorData.GetTileJsonData();
+
+			var sourceTypeProperty = property.FindPropertyRelative("_sourceType");
+			var sourceTypeValue = (VectorSourceType)sourceTypeProperty.enumValueIndex;
+
+			var displayNames = sourceTypeProperty.enumDisplayNames;
+			var names = sourceTypeProperty.enumNames;
+			int count = sourceTypeProperty.enumDisplayNames.Length;
+			if (!_isGUIContentSet)
+			{
+				_sourceTypeContent = new GUIContent[count];
+
+				var index = 0;
+				foreach (var name in names)
+				{
+					_sourceTypeContent[index] = new GUIContent
+					{
+						text = displayNames[index],
+						tooltip = ((VectorSourceType)Enum.Parse(typeof(VectorSourceType), name)).Description(),
+					};
+					index++;
+				}
+
+				//				for (int index0 = 0; index0 < count; index0++)
+				//				{
+				//					_sourceTypeContent[index0] = new GUIContent
+				//					{
+				//						text = displayNames[index0],
+				//						tooltip = ((VectorSourceType)index0).Description(),
+				//					};
+				//				}
+				_isGUIContentSet = true;
+			}
+
+			//sourceTypeValue = (VectorSourceType)sourceTypeProperty.enumValueIndex;
+			sourceTypeValue = ((VectorSourceType)Enum.Parse(typeof(VectorSourceType), names[sourceTypeProperty.enumValueIndex]));
+			var sourceOptionsProperty = property.FindPropertyRelative("sourceOptions");
+			var layerSourceProperty = sourceOptionsProperty.FindPropertyRelative("layerSource");
+			var layerSourceId = layerSourceProperty.FindPropertyRelative("Id");
+			var isActiveProperty = sourceOptionsProperty.FindPropertyRelative("isActive");
+			switch (sourceTypeValue)
+			{
+				case VectorSourceType.MapboxStreets:
+				case VectorSourceType.MapboxStreetsV8:
+				case VectorSourceType.MapboxStreetsWithBuildingIds:
+				case VectorSourceType.MapboxStreetsV8WithBuildingIds:
+					var sourcePropertyValue = MapboxDefaultVector.GetParameters(sourceTypeValue);
+					layerSourceId.stringValue = sourcePropertyValue.Id;
+					GUI.enabled = false;
+					if (_isInitialized)
+					{
+						LoadEditorTileJSON(property, sourceTypeValue, layerSourceId.stringValue);
+					}
+					else
+					{
+						_isInitialized = true;
+					}
+					if (tileJSONData.PropertyDisplayNames.Count == 0 && tileJSONData.tileJSONLoaded)
+					{
+						EditorGUILayout.HelpBox("Invalid Tileset Id / There might be a problem with the internet connection.", MessageType.Error);
+					}
+					GUI.enabled = true;
+					isActiveProperty.boolValue = true;
+					break;
+				case VectorSourceType.Custom:
+					if (_isInitialized)
+					{
+						string test = layerSourceId.stringValue;
+						LoadEditorTileJSON(property, sourceTypeValue, layerSourceId.stringValue);
+					}
+					else
+					{
+						_isInitialized = true;
+					}
+					if (tileJSONData.PropertyDisplayNames.Count == 0 && tileJSONData.tileJSONLoaded)
+					{
+						EditorGUILayout.HelpBox("Invalid Tileset Id / There might be a problem with the internet connection.", MessageType.Error);
+					}
+					isActiveProperty.boolValue = true;
+					break;
+				case VectorSourceType.None:
+					isActiveProperty.boolValue = false;
+					break;
+				default:
+					isActiveProperty.boolValue = false;
+					break;
+			}
+
+			if (sourceTypeValue != VectorSourceType.None)
+			{
+				EditorGUILayout.LabelField(new GUIContent
+				{
+					text = "Map Features",
+					tooltip = "Visualizers for vector features contained in a layer. "
+				});
+
+				var subLayerArray = property.FindPropertyRelative("vectorSubLayers");
+
+				var layersRect = EditorGUILayout.GetControlRect(GUILayout.MinHeight(Mathf.Max(subLayerArray.arraySize + 1, 1) * _lineHeight + MultiColumnHeader.DefaultGUI.defaultHeight),
+																GUILayout.MaxHeight((subLayerArray.arraySize + 1) * _lineHeight + MultiColumnHeader.DefaultGUI.defaultHeight));
+
+				if (!m_Initialized)
+				{
+					bool firstInit = m_MultiColumnHeaderState == null;
+					var headerState = FeatureSubLayerTreeView.CreateDefaultMultiColumnHeaderState();
+					if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState))
+					{
+						MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState);
+					}
+					m_MultiColumnHeaderState = headerState;
+
+					var multiColumnHeader = new FeatureSectionMultiColumnHeader(headerState);
+
+					if (firstInit)
+					{
+						multiColumnHeader.ResizeToFit();
+					}
+
+					treeModel = new TreeModel<FeatureTreeElement>(GetData(subLayerArray));
+					if (m_TreeViewState == null)
+					{
+						m_TreeViewState = new TreeViewState();
+					}
+
+					if (layerTreeView == null)
+					{
+						layerTreeView = new FeatureSubLayerTreeView(m_TreeViewState, multiColumnHeader, treeModel);
+					}
+					layerTreeView.multiColumnHeader = multiColumnHeader;
+					m_Initialized = true;
+				}
+				layerTreeView.Layers = subLayerArray;
+				layerTreeView.Reload();
+				layerTreeView.OnGUI(layersRect);
+
+				if (layerTreeView.hasChanged)
+				{
+					EditorHelper.CheckForModifiedProperty(property);
+					layerTreeView.hasChanged = false;
+				}
+
+				selectedLayers = layerTreeView.GetSelection();
+
+				//if there are selected elements, set the selection index at the first element.
+				//if not, use the Selection index to persist the selection at the right index.
+				if (selectedLayers.Count > 0)
+				{
+					//ensure that selectedLayers[0] isn't out of bounds
+					if (selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdFeature > subLayerArray.arraySize - 1)
+					{
+						selectedLayers[0] = subLayerArray.arraySize - 1 + FeatureSubLayerTreeView.uniqueIdFeature;
+					}
+
+					SelectionIndex = selectedLayers[0];
+				}
+				else
+				{
+					if (SelectionIndex > 0 && (SelectionIndex - FeatureSubLayerTreeView.uniqueIdFeature <= subLayerArray.arraySize - 1))
+					{
+						selectedLayers = new int[1] { SelectionIndex };
+						layerTreeView.SetSelection(selectedLayers);
+					}
+				}
+
+				GUILayout.Space(EditorGUIUtility.singleLineHeight);
+
+				EditorGUILayout.BeginHorizontal();
+				GenericMenu menu = new GenericMenu();
+				foreach (var name in Enum.GetNames(typeof(PresetFeatureType)))
+				{
+					menu.AddItem(new GUIContent() { text = name }, false, FetchPresetProperties, name);
+				}
+				GUILayout.Space(0); // do not remove this line; it is needed for the next line to work
+				Rect rect = GUILayoutUtility.GetLastRect();
+				rect.y += 2 * _lineHeight / 3;
+
+				if (EditorGUILayout.DropdownButton(new GUIContent { text = "Add Feature" }, FocusType.Passive, (GUIStyle)"minibuttonleft"))
+				{
+					menu.DropDown(rect);
+				}
+
+				//Assign subLayerProperties after fetching it from the presets class. This happens everytime an element is added
+				if (subLayerProperties != null)
+				{
+					subLayerArray.arraySize++;
+					var subLayer = subLayerArray.GetArrayElementAtIndex(subLayerArray.arraySize - 1);
+					SetSubLayerProps(subLayer);
+
+					//Refreshing the tree
+					layerTreeView.Layers = subLayerArray;
+					layerTreeView.AddElementToTree(subLayer);
+					layerTreeView.Reload();
+
+					selectedLayers = new int[1] { subLayerArray.arraySize - 1 + FeatureSubLayerTreeView.uniqueIdFeature };
+					layerTreeView.SetSelection(selectedLayers);
+					subLayerProperties = null; // setting this to null so that the if block is not called again
+
+					if (EditorHelper.DidModifyProperty(property))
+					{
+						isLayerAdded = true;
+					}
+				}
+
+				if (GUILayout.Button(new GUIContent("Remove Selected"), (GUIStyle)"minibuttonright"))
+				{
+					foreach (var index in selectedLayers.OrderByDescending(i => i))
+					{
+						if (layerTreeView != null)
+						{
+							var subLayer = subLayerArray.GetArrayElementAtIndex(index - FeatureSubLayerTreeView.uniqueIdFeature);
+
+							VectorLayerProperties vectorLayerProperties = (VectorLayerProperties)EditorHelper.GetTargetObjectOfProperty(property);
+							VectorSubLayerProperties vectorSubLayerProperties = (VectorSubLayerProperties)EditorHelper.GetTargetObjectOfProperty(subLayer);
+
+							vectorLayerProperties.OnSubLayerPropertyRemoved(new VectorLayerUpdateArgs { property = vectorSubLayerProperties });
+
+							layerTreeView.RemoveItemFromTree(index);
+							subLayerArray.DeleteArrayElementAtIndex(index - FeatureSubLayerTreeView.uniqueIdFeature);
+							layerTreeView.treeModel.SetData(GetData(subLayerArray));
+						}
+					}
+
+					selectedLayers = new int[0];
+					layerTreeView.SetSelection(selectedLayers);
+				}
+
+				EditorGUILayout.EndHorizontal();
+
+				GUILayout.Space(EditorGUIUtility.singleLineHeight);
+
+				if (selectedLayers.Count == 1 && subLayerArray.arraySize != 0 && selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdFeature >= 0)
+				{
+					//ensure that selectedLayers[0] isn't out of bounds
+					if (selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdFeature > subLayerArray.arraySize - 1)
+					{
+						selectedLayers[0] = subLayerArray.arraySize - 1 + FeatureSubLayerTreeView.uniqueIdFeature;
+					}
+
+					SelectionIndex = selectedLayers[0];
+
+					var layerProperty = subLayerArray.GetArrayElementAtIndex(SelectionIndex - FeatureSubLayerTreeView.uniqueIdFeature);
+
+					layerProperty.isExpanded = true;
+					var subLayerCoreOptions = layerProperty.FindPropertyRelative("coreOptions");
+					bool isLayerActive = subLayerCoreOptions.FindPropertyRelative("isActive").boolValue;
+					if (!isLayerActive)
+					{
+						GUI.enabled = false;
+					}
+
+					DrawLayerVisualizerProperties(sourceTypeValue, layerProperty, property);
+
+					if (!isLayerActive)
+					{
+						GUI.enabled = true;
+					}
+				}
+				else
+				{
+					GUILayout.Label("Select a visualizer to see properties");
+				}
+			}
+		}
+
+		IList<FeatureTreeElement> GetData(SerializedProperty subLayerArray)
+		{
+			List<FeatureTreeElement> elements = new List<FeatureTreeElement>();
+			string name = string.Empty;
+			string type = string.Empty;
+			int id = 0;
+			var root = new FeatureTreeElement("Root", -1, 0);
+			elements.Add(root);
+			for (int i = 0; i < subLayerArray.arraySize; i++)
+			{
+				var subLayer = subLayerArray.GetArrayElementAtIndex(i);
+				name = subLayer.FindPropertyRelative("coreOptions.sublayerName").stringValue;
+				id = i + FeatureSubLayerTreeView.uniqueIdFeature;
+				type = ((PresetFeatureType)subLayer.FindPropertyRelative("presetFeatureType").enumValueIndex).ToString();
+				FeatureTreeElement element = new FeatureTreeElement(name, 0, id);
+				element.Name = name;
+				element.name = name;
+				element.Type = type;
+				elements.Add(element);
+			}
+			return elements;
+		}
+
+		/// <summary>
+		/// Fetches the preset properties using the supplied <see cref="PresetFeatureType">PresetFeatureType</see>
+		/// </summary>
+		/// <param name="name">Name.</param>
+		void FetchPresetProperties(object name)
+		{
+			PresetFeatureType featureType = ((PresetFeatureType)Enum.Parse(typeof(PresetFeatureType), name.ToString()));
+			subLayerProperties = PresetSubLayerPropertiesFetcher.GetSubLayerProperties(featureType);
+		}
+
+		/// <summary>
+		/// Sets the sub layer properties for the newly added layer
+		/// </summary>
+		/// <param name="subLayer">Sub layer.</param>
+		void SetSubLayerProps(SerializedProperty subLayer)
+		{
+			subLayer.FindPropertyRelative("coreOptions.sublayerName").stringValue = subLayerProperties.coreOptions.sublayerName;
+			subLayer.FindPropertyRelative("presetFeatureType").enumValueIndex = (int)subLayerProperties.presetFeatureType;
+			// Set defaults here because SerializedProperty copies the previous element.
+			var subLayerCoreOptions = subLayer.FindPropertyRelative("coreOptions");
+			CoreVectorLayerProperties coreOptions = subLayerProperties.coreOptions;
+			subLayerCoreOptions.FindPropertyRelative("isActive").boolValue = coreOptions.isActive;
+			subLayerCoreOptions.FindPropertyRelative("layerName").stringValue = coreOptions.layerName;
+			subLayerCoreOptions.FindPropertyRelative("geometryType").enumValueIndex = (int)coreOptions.geometryType;
+			subLayerCoreOptions.FindPropertyRelative("snapToTerrain").boolValue = coreOptions.snapToTerrain;
+			subLayerCoreOptions.FindPropertyRelative("combineMeshes").boolValue = coreOptions.combineMeshes;
+
+			var subLayerlineGeometryOptions = subLayer.FindPropertyRelative("lineGeometryOptions");
+			var lineGeometryOptions = subLayerProperties.lineGeometryOptions;
+			subLayerlineGeometryOptions.FindPropertyRelative("Width").floatValue = lineGeometryOptions.Width;
+			subLayerlineGeometryOptions.FindPropertyRelative("CapType").enumValueIndex = (int)lineGeometryOptions.CapType;
+			subLayerlineGeometryOptions.FindPropertyRelative("JoinType").enumValueIndex = (int)lineGeometryOptions.JoinType;
+			subLayerlineGeometryOptions.FindPropertyRelative("MiterLimit").floatValue = lineGeometryOptions.MiterLimit;
+			subLayerlineGeometryOptions.FindPropertyRelative("RoundLimit").floatValue = lineGeometryOptions.RoundLimit;
+
+
+			var subLayerExtrusionOptions = subLayer.FindPropertyRelative("extrusionOptions");
+			var extrusionOptions = subLayerProperties.extrusionOptions;
+			subLayerExtrusionOptions.FindPropertyRelative("extrusionType").enumValueIndex = (int)extrusionOptions.extrusionType;
+			subLayerExtrusionOptions.FindPropertyRelative("extrusionGeometryType").enumValueIndex = (int)extrusionOptions.extrusionGeometryType;
+			subLayerExtrusionOptions.FindPropertyRelative("propertyName").stringValue = extrusionOptions.propertyName;
+			subLayerExtrusionOptions.FindPropertyRelative("extrusionScaleFactor").floatValue = extrusionOptions.extrusionScaleFactor;
+			subLayerExtrusionOptions.FindPropertyRelative("maximumHeight").floatValue = extrusionOptions.maximumHeight;
+
+			var subLayerFilterOptions = subLayer.FindPropertyRelative("filterOptions");
+			var filterOptions = subLayerProperties.filterOptions;
+			subLayerFilterOptions.FindPropertyRelative("filters").ClearArray();
+			subLayerFilterOptions.FindPropertyRelative("combinerType").enumValueIndex = (int)filterOptions.combinerType;
+			//Add any future filter related assignments here
+
+			var subLayerGeometryMaterialOptions = subLayer.FindPropertyRelative("materialOptions");
+			var materialOptions = subLayerProperties.materialOptions;
+			subLayerGeometryMaterialOptions.FindPropertyRelative("style").enumValueIndex = (int)materialOptions.style;
+
+			var mats = subLayerGeometryMaterialOptions.FindPropertyRelative("materials");
+			mats.arraySize = 2;
+
+			var topMatArray = mats.GetArrayElementAtIndex(0).FindPropertyRelative("Materials");
+			var sideMatArray = mats.GetArrayElementAtIndex(1).FindPropertyRelative("Materials");
+
+			if (topMatArray.arraySize == 0)
+			{
+				topMatArray.arraySize = 1;
+			}
+			if (sideMatArray.arraySize == 0)
+			{
+				sideMatArray.arraySize = 1;
+			}
+
+			var topMat = topMatArray.GetArrayElementAtIndex(0);
+			var sideMat = sideMatArray.GetArrayElementAtIndex(0);
+
+			var atlas = subLayerGeometryMaterialOptions.FindPropertyRelative("atlasInfo");
+			var palette = subLayerGeometryMaterialOptions.FindPropertyRelative("colorPalette");
+			var lightStyleOpacity = subLayerGeometryMaterialOptions.FindPropertyRelative("lightStyleOpacity");
+			var darkStyleOpacity = subLayerGeometryMaterialOptions.FindPropertyRelative("darkStyleOpacity");
+			var colorStyleColor = subLayerGeometryMaterialOptions.FindPropertyRelative("colorStyleColor");
+			var customStyleOptions = subLayerGeometryMaterialOptions.FindPropertyRelative("customStyleOptions");
+
+			topMat.objectReferenceValue = materialOptions.materials[0].Materials[0];
+			sideMat.objectReferenceValue = materialOptions.materials[1].Materials[0];
+			atlas.objectReferenceValue = materialOptions.atlasInfo;
+			palette.objectReferenceValue = materialOptions.colorPalette;
+			lightStyleOpacity.floatValue = materialOptions.lightStyleOpacity;
+			darkStyleOpacity.floatValue = materialOptions.darkStyleOpacity;
+			colorStyleColor.colorValue = materialOptions.colorStyleColor;
+			//set custom style options.
+			var customMats = customStyleOptions.FindPropertyRelative("materials");
+			customMats.arraySize = 2;
+
+			var customTopMatArray = customMats.GetArrayElementAtIndex(0).FindPropertyRelative("Materials");
+			var customSideMatArray = customMats.GetArrayElementAtIndex(1).FindPropertyRelative("Materials");
+
+			if (customTopMatArray.arraySize == 0)
+			{
+				customTopMatArray.arraySize = 1;
+			}
+			if (customSideMatArray.arraySize == 0)
+			{
+				customSideMatArray.arraySize = 1;
+			}
+
+			var customTopMat = customTopMatArray.GetArrayElementAtIndex(0);
+			var customSideMat = customSideMatArray.GetArrayElementAtIndex(0);
+
+
+			customTopMat.objectReferenceValue = materialOptions.customStyleOptions.materials[0].Materials[0];
+			customSideMat.objectReferenceValue = materialOptions.customStyleOptions.materials[1].Materials[0];
+			customStyleOptions.FindPropertyRelative("atlasInfo").objectReferenceValue = materialOptions.customStyleOptions.atlasInfo;
+			customStyleOptions.FindPropertyRelative("colorPalette").objectReferenceValue = materialOptions.customStyleOptions.colorPalette;
+
+			subLayer.FindPropertyRelative("buildingsWithUniqueIds").boolValue = subLayerProperties.buildingsWithUniqueIds;
+			subLayer.FindPropertyRelative("moveFeaturePositionTo").enumValueIndex = (int)subLayerProperties.moveFeaturePositionTo;
+			subLayer.FindPropertyRelative("MeshModifiers").ClearArray();
+			subLayer.FindPropertyRelative("GoModifiers").ClearArray();
+
+			var subLayerColliderOptions = subLayer.FindPropertyRelative("colliderOptions");
+			subLayerColliderOptions.FindPropertyRelative("colliderType").enumValueIndex = (int)subLayerProperties.colliderOptions.colliderType;
+		}
+
+		private void UpdateMe()
+		{
+			Debug.Log("Update!");
+		}
+
+		void DrawLayerVisualizerProperties(VectorSourceType sourceType, SerializedProperty layerProperty, SerializedProperty property)
+		{
+			var subLayerCoreOptions = layerProperty.FindPropertyRelative("coreOptions");
+
+			var subLayerName = subLayerCoreOptions.FindPropertyRelative("sublayerName").stringValue;
+			var visualizerLayer = subLayerCoreOptions.FindPropertyRelative("layerName").stringValue;
+			var subLayerType = PresetSubLayerPropertiesFetcher.GetPresetTypeFromLayerName(visualizerLayer);
+
+			GUILayout.Space(-_lineHeight);
+			layerProperty.FindPropertyRelative("presetFeatureType").intValue = (int)subLayerType;
+
+			GUILayout.Space(_lineHeight);
+			//*********************** LAYER NAME BEGINS ***********************************//
+			VectorPrimitiveType primitiveTypeProp = (VectorPrimitiveType)subLayerCoreOptions.FindPropertyRelative("geometryType").enumValueIndex;
+
+			var serializedMapObject = property.serializedObject;
+			AbstractMap mapObject = (AbstractMap)serializedMapObject.targetObject;
+			tileJsonData = mapObject.VectorData.GetTileJsonData();
+
+			var layerDisplayNames = tileJsonData.LayerDisplayNames;
+
+			EditorGUI.BeginChangeCheck();
+			DrawLayerName(subLayerCoreOptions, layerDisplayNames);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(subLayerCoreOptions);
+			}
+			//*********************** LAYER NAME ENDS ***********************************//
+
+			EditorGUI.indentLevel++;
+
+			//*********************** FILTERS SECTION BEGINS ***********************************//
+			var filterOptions = layerProperty.FindPropertyRelative("filterOptions");
+			filterOptions.FindPropertyRelative("_selectedLayerName").stringValue = subLayerCoreOptions.FindPropertyRelative("layerName").stringValue;
+			GUILayout.Space(-_lineHeight);
+			EditorGUILayout.PropertyField(filterOptions, new GUIContent("Filters"));
+			//*********************** FILTERS SECTION ENDS ***********************************//
+
+
+
+			//*********************** MODELING SECTION BEGINS ***********************************//
+			_modelingSectionDrawer.DrawUI(subLayerCoreOptions, layerProperty, primitiveTypeProp);
+			//*********************** MODELING SECTION ENDS ***********************************//
+
+
+			//*********************** TEXTURING SECTION BEGINS ***********************************//
+			if (primitiveTypeProp != VectorPrimitiveType.Point && primitiveTypeProp != VectorPrimitiveType.Custom)
+			{
+				GUILayout.Space(-_lineHeight);
+				EditorGUILayout.PropertyField(layerProperty.FindPropertyRelative("materialOptions"));
+			}
+			//*********************** TEXTURING SECTION ENDS ***********************************//
+
+
+			//*********************** GAMEPLAY SECTION BEGINS ***********************************//
+			_behaviorModifierSectionDrawer.DrawUI(layerProperty, primitiveTypeProp, sourceType);
+			//*********************** GAMEPLAY SECTION ENDS ***********************************//
+
+			EditorGUI.indentLevel--;
+		}
+
+		private void LoadEditorTileJSON(SerializedProperty property, VectorSourceType sourceTypeValue, string sourceString)
+		{
+			if (sourceTypeValue != VectorSourceType.None && !string.IsNullOrEmpty(sourceString))
+			{
+				if (tileJSONResponse == null || string.IsNullOrEmpty(sourceString) || sourceString != TilesetId)
+				{
+					try
+					{
+						Unity.MapboxAccess.Instance.TileJSON.Get(sourceString, (response) =>
+						{
+							//if the code has reached this point it means that there is a valid access token
+							tileJSONResponse = response;
+							if (response == null || response.VectorLayers == null) //indicates bad tileresponse
+							{
+								tileJSONData.ClearData();
+								return;
+							}
+							tileJSONData.ProcessTileJSONData(response);
+						});
+					}
+					catch (System.Exception)
+					{
+						//no valid access token causes MapboxAccess to throw an error and hence setting this property
+						tileJSONData.ClearData();
+					}
+				}
+				else if (tileJSONData.LayerPropertyDescriptionDictionary.Count == 0)
+				{
+					tileJSONData.ProcessTileJSONData(tileJSONResponse);
+				}
+			}
+			else
+			{
+				tileJSONData.ClearData();
+			}
+			TilesetId = sourceString;
+		}
+
+		public void DrawLayerName(SerializedProperty property, List<string> layerDisplayNames)
+		{
+
+			var layerNameLabel = new GUIContent
+			{
+				text = "Data Layer",
+				tooltip = "The layer name from the Mapbox tileset that would be used for visualizing a feature"
+			};
+
+			//disable the selection if there is no layer
+			if (layerDisplayNames.Count == 0)
+			{
+				EditorGUILayout.LabelField(layerNameLabel, new GUIContent("No layers found: Invalid TilesetId / No Internet."), (GUIStyle)"minipopUp");
+				return;
+			}
+
+			//check the string value at the current _layerIndex to verify that the stored index matches the property string.
+			var layerString = property.FindPropertyRelative("layerName").stringValue;
+			if (layerDisplayNames.Contains(layerString))
+			{
+				//if the layer contains the current layerstring, set it's index to match
+				_layerIndex = layerDisplayNames.FindIndex(s => s.Equals(layerString));
+
+			}
+			else
+			{
+				//if the selected layer isn't in the source, add a placeholder entry
+				_layerIndex = 0;
+				layerDisplayNames.Insert(0, layerString);
+				if (!tileJsonData.LayerPropertyDescriptionDictionary.ContainsKey(layerString))
+				{
+					tileJsonData.LayerPropertyDescriptionDictionary.Add(layerString, new Dictionary<string, string>());
+				}
+
+			}
+
+			//create the display name guicontent array with an additional entry for the currently selected item
+			_layerTypeContent = new GUIContent[layerDisplayNames.Count];
+			for (int extIdx = 0; extIdx < layerDisplayNames.Count; extIdx++)
+			{
+				_layerTypeContent[extIdx] = new GUIContent
+				{
+					text = layerDisplayNames[extIdx],
+				};
+			}
+
+			//draw the layer selection popup
+			_layerIndex = EditorGUILayout.Popup(layerNameLabel, _layerIndex, _layerTypeContent);
+			var parsedString = layerDisplayNames.ToArray()[_layerIndex].Split(new string[] { tileJsonData.commonLayersKey }, System.StringSplitOptions.None)[0].Trim();
+			property.FindPropertyRelative("layerName").stringValue = parsedString;
+		}
+
+		private string[] GetSubTypeValues(SerializedProperty layerProperty, string visualizerLayer, VectorSourceType sourceType)
+		{
+			string[] typesArray = null;
+			string roadLayer = layerProperty.FindPropertyRelative("roadLayer").stringValue;
+			string landuseLayer = layerProperty.FindPropertyRelative("landuseLayer").stringValue;
+
+			if (visualizerLayer == roadLayer || visualizerLayer == landuseLayer)
+			{
+				_streetsV7TileStats = TileStatsFetcher.Instance.GetTileStats(sourceType);
+				if (_streetsV7TileStats != null && _streetsV7TileStats.layers != null && _streetsV7TileStats.layers.Length != 0)
+				{
+					foreach (var layer in _streetsV7TileStats.layers)
+					{
+						if (layer.layer != visualizerLayer)
+						{
+							continue;
+						}
+
+						string presetPropertyName = "";
+						if (layer.layer == roadLayer)
+						{
+							presetPropertyName = layerProperty.FindPropertyRelative("roadLayer_TypeProperty").stringValue;
+						}
+						else if (layer.layer == landuseLayer)
+						{
+							presetPropertyName = layerProperty.FindPropertyRelative("landuseLayer_TypeProperty").stringValue;
+						}
+
+						if (layer.attributes != null && layer.attributes.Length > 0)
+						{
+							foreach (var attributeItem in layer.attributes)
+							{
+								if (attributeItem.attribute == presetPropertyName)
+								{
+									typesArray = attributeItem.values;
+								}
+							}
+						}
+					}
+				}
+			}
+			return typesArray;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/FeaturesSubLayerPropertiesDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/FeaturesSubLayerPropertiesDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eac4b529bca14493a8bd89648fdd3c5953fa0c3b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/FeaturesSubLayerPropertiesDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a49c4311b159a483a8d3a61c78ac50bf
+timeCreated: 1525818948
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryExtrusionOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryExtrusionOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..07290468a68323ee2ac4fd90df1c78727dcfff6b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryExtrusionOptionsDrawer.cs
@@ -0,0 +1,240 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.VectorTile.ExtensionMethods;
+	using System.Linq;
+	using Mapbox.Platform.TilesetTileJSON;
+	using System.Collections.Generic;
+	using Mapbox.Editor;
+
+	[CustomPropertyDrawer(typeof(GeometryExtrusionOptions))]
+	public class GeometryExtrusionOptionsDrawer : PropertyDrawer
+	{
+		//indices for tileJSON lookup
+		int _propertyIndex = 0;
+		private static List<string> _propertyNamesList = new List<string>();
+		GUIContent[] _propertyNameContent;
+
+		GUIContent[] extrusionTypeContent;
+		bool isGUIContentSet = false;
+		static TileJsonData tileJsonData = new TileJsonData();
+		static TileJSONResponse tileJsonResponse;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			var extrusionTypeProperty = property.FindPropertyRelative("extrusionType");
+			var displayNames = extrusionTypeProperty.enumDisplayNames;
+			int count = extrusionTypeProperty.enumDisplayNames.Length;
+
+			if (!isGUIContentSet)
+			{
+				extrusionTypeContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					extrusionTypeContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = EnumExtensions.Description((ExtrusionType)extIdx),
+					};
+				}
+				isGUIContentSet = true;
+			}
+
+			var extrusionTypeLabel = new GUIContent
+			{
+				text = "Extrusion Type",
+				tooltip = "Type of geometry extrusion"
+			};
+
+			EditorGUI.BeginChangeCheck();
+			extrusionTypeProperty.enumValueIndex = EditorGUILayout.Popup(extrusionTypeLabel, extrusionTypeProperty.enumValueIndex, extrusionTypeContent);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			var sourceTypeValue = (Unity.Map.ExtrusionType)extrusionTypeProperty.enumValueIndex;
+
+			var minHeightProperty = property.FindPropertyRelative("minimumHeight");
+			var maxHeightProperty = property.FindPropertyRelative("maximumHeight");
+
+			var extrusionGeometryType = property.FindPropertyRelative("extrusionGeometryType");
+			var extrusionGeometryGUI = new GUIContent { text = "Geometry Type", tooltip = EnumExtensions.Description((Unity.Map.ExtrusionGeometryType)extrusionGeometryType.enumValueIndex) };
+			EditorGUI.indentLevel++;
+
+			EditorGUI.BeginChangeCheck();
+
+			switch (sourceTypeValue)
+			{
+				case Unity.Map.ExtrusionType.None:
+					break;
+				case Unity.Map.ExtrusionType.PropertyHeight:
+					EditorGUILayout.PropertyField(extrusionGeometryType, extrusionGeometryGUI);
+					DrawPropertyDropDown(property, position);
+					break;
+				case Unity.Map.ExtrusionType.MinHeight:
+					EditorGUILayout.PropertyField(extrusionGeometryType, extrusionGeometryGUI);
+					DrawPropertyDropDown(property, position);
+					break;
+				case Unity.Map.ExtrusionType.MaxHeight:
+					EditorGUILayout.PropertyField(extrusionGeometryType, extrusionGeometryGUI);
+					DrawPropertyDropDown(property, position);
+					break;
+				case Unity.Map.ExtrusionType.RangeHeight:
+					EditorGUILayout.PropertyField(extrusionGeometryType, extrusionGeometryGUI);
+					DrawPropertyDropDown(property, position);
+					EditorGUILayout.PropertyField(minHeightProperty);
+					EditorGUILayout.PropertyField(maxHeightProperty);
+					if (minHeightProperty.floatValue > maxHeightProperty.floatValue)
+					{
+						EditorGUILayout.HelpBox("Maximum Height less than Minimum Height!", MessageType.Error);
+					}
+					break;
+				case Unity.Map.ExtrusionType.AbsoluteHeight:
+					EditorGUILayout.PropertyField(extrusionGeometryType, extrusionGeometryGUI);
+					EditorGUILayout.PropertyField(maxHeightProperty, new GUIContent { text = "Height" });
+					break;
+				default:
+					break;
+			}
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			EditorGUI.BeginChangeCheck();
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("extrusionScaleFactor"), new GUIContent { text = "Scale Factor" });
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			EditorGUI.indentLevel--;
+		}
+
+		private void DrawPropertyDropDown(SerializedProperty property, Rect position)
+		{
+			var selectedLayerName = property.FindPropertyRelative("_selectedLayerName").stringValue;
+
+			var serializedMapObject = property.serializedObject;
+			AbstractMap mapObject = (AbstractMap)serializedMapObject.targetObject;
+			tileJsonData = mapObject.VectorData.GetTileJsonData();
+
+			DrawPropertyName(property, position, selectedLayerName);
+		}
+
+		private void DrawPropertyName(SerializedProperty property, Rect position, string selectedLayerName)
+		{
+			var parsedString = "No property selected";
+			var descriptionString = "No description available";
+
+			if (string.IsNullOrEmpty(selectedLayerName) || tileJsonData == null || !tileJsonData.PropertyDisplayNames.ContainsKey(selectedLayerName))
+			{
+				DrawWarningMessage(position);
+			}
+			else
+			{
+				var propertyDisplayNames = tileJsonData.PropertyDisplayNames[selectedLayerName];
+				_propertyNamesList = new List<string>(propertyDisplayNames);
+
+				//check if the selection is valid
+				var propertyString = property.FindPropertyRelative("propertyName").stringValue;
+				if (_propertyNamesList.Contains(propertyString))
+				{
+					//if the layer contains the current layerstring, set it's index to match
+					_propertyIndex = propertyDisplayNames.FindIndex(s => s.Equals(propertyString));
+
+
+					//create guicontent for a valid layer
+					_propertyNameContent = new GUIContent[_propertyNamesList.Count];
+					for (int extIdx = 0; extIdx < _propertyNamesList.Count; extIdx++)
+					{
+						var parsedPropertyString = _propertyNamesList[extIdx].Split(new string[] { tileJsonData.optionalPropertiesString }, System.StringSplitOptions.None)[0].Trim();
+						_propertyNameContent[extIdx] = new GUIContent
+						{
+							text = _propertyNamesList[extIdx],
+							tooltip = tileJsonData.LayerPropertyDescriptionDictionary[selectedLayerName][parsedPropertyString]
+						};
+					}
+
+					//display popup
+					var propertyNameLabel = new GUIContent { text = "Property Name", tooltip = "The name of the property in the selected Mapbox layer that will be used for extrusion" };
+
+					EditorGUI.BeginChangeCheck();
+					_propertyIndex = EditorGUILayout.Popup(propertyNameLabel, _propertyIndex, _propertyNameContent);
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+
+					//set new string values based on selection
+					parsedString = _propertyNamesList[_propertyIndex].Split(new string[] { tileJsonData.optionalPropertiesString }, System.StringSplitOptions.None)[0].Trim();
+					descriptionString = tileJsonData.LayerPropertyDescriptionDictionary[selectedLayerName][parsedString];
+
+				}
+				else
+				{
+					//if the selected layer isn't in the source, add a placeholder entry
+					_propertyIndex = 0;
+					_propertyNamesList.Insert(0, propertyString);
+
+					//create guicontent for an invalid layer
+					_propertyNameContent = new GUIContent[_propertyNamesList.Count];
+
+					//first property gets a unique tooltip
+					_propertyNameContent[0] = new GUIContent
+					{
+						text = _propertyNamesList[0],
+						tooltip = "Unavialable in Selected Layer"
+					};
+
+					for (int extIdx = 1; extIdx < _propertyNamesList.Count; extIdx++)
+					{
+						var parsedPropertyString = _propertyNamesList[extIdx].Split(new string[] { tileJsonData.optionalPropertiesString }, System.StringSplitOptions.None)[0].Trim();
+						_propertyNameContent[extIdx] = new GUIContent
+						{
+							text = _propertyNamesList[extIdx],
+							tooltip = tileJsonData.LayerPropertyDescriptionDictionary[selectedLayerName][parsedPropertyString]
+						};
+					}
+
+					//display popup
+					var propertyNameLabel = new GUIContent { text = "Property Name", tooltip = "The name of the property in the selected Mapbox layer that will be used for extrusion" };
+
+					EditorGUI.BeginChangeCheck();
+					_propertyIndex = EditorGUILayout.Popup(propertyNameLabel, _propertyIndex, _propertyNameContent);
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+
+					//set new string values based on the offset
+					parsedString = _propertyNamesList[_propertyIndex].Split(new string[] { tileJsonData.optionalPropertiesString }, System.StringSplitOptions.None)[0].Trim();
+					descriptionString = "Unavailable in Selected Layer.";
+
+				}
+
+				property.FindPropertyRelative("propertyName").stringValue = parsedString;
+				property.FindPropertyRelative("propertyDescription").stringValue = descriptionString;
+
+			}
+
+			descriptionString = string.IsNullOrEmpty(descriptionString) ? "No description available" : descriptionString;
+
+			var propertyDescriptionPrefixLabel = new GUIContent { text = "Property Description", tooltip = "Factual information about the selected property" };
+			EditorGUILayout.LabelField(propertyDescriptionPrefixLabel, new GUIContent(descriptionString), (GUIStyle)"wordWrappedLabel");
+		}
+
+		private void DrawWarningMessage(Rect position)
+		{
+			GUIStyle labelStyle = new GUIStyle(EditorStyles.popup);
+			labelStyle.fontStyle = FontStyle.Bold;
+			var layerNameLabel = new GUIContent { text = "Property Name", tooltip = "The name of the property in the selected Mapbox layer that will be used for extrusion" };
+			EditorGUILayout.LabelField(layerNameLabel, new GUIContent("No properties found in layer"), labelStyle);
+			return;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryExtrusionOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryExtrusionOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..92e0ea918bcf6daec56c37184b83f9a9b6ea853e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryExtrusionOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d66413ab6b7d648e2ba3cfd4e1d72382
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryMaterialOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryMaterialOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2015d56614b82222a942e5d229f09cd62a9f3b52
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryMaterialOptionsDrawer.cs
@@ -0,0 +1,239 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity;
+	using Mapbox.Editor;
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.VectorTile.ExtensionMethods;
+	using System.IO;
+	using System.Collections.Generic;
+
+	public class StyleIconBundle
+	{
+		public string path;
+		public Texture texture;
+		public void Load()
+		{
+			if (texture == null)
+			{
+				texture = Resources.Load(path) as Texture;
+			}
+		}
+
+		public StyleIconBundle(string styleName, string paletteName = "")
+		{
+			path = Path.Combine(Constants.Path.MAP_FEATURE_STYLES_SAMPLES, Path.Combine(styleName, string.Format("{0}Icon", (styleName + paletteName))));
+		}
+	}
+
+	[CustomPropertyDrawer(typeof(GeometryMaterialOptions))]
+	public class GeometryMaterialOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+		private string objectId = "";
+		bool showTexturing
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "VectorSubLayerProperties_showTexturing");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "VectorSubLayerProperties_showTexturing", value);
+			}
+		}
+
+		private Dictionary<StyleTypes, StyleIconBundle> _styleIconBundles = new Dictionary<StyleTypes, StyleIconBundle>()
+		{
+			{StyleTypes.Simple, new StyleIconBundle(StyleTypes.Simple.ToString())},
+			{StyleTypes.Realistic, new StyleIconBundle(StyleTypes.Realistic.ToString())},
+			{StyleTypes.Fantasy, new StyleIconBundle(StyleTypes.Fantasy.ToString())},
+			{StyleTypes.Light, new StyleIconBundle(StyleTypes.Light.ToString())},
+			{StyleTypes.Dark, new StyleIconBundle(StyleTypes.Dark.ToString())},
+			{StyleTypes.Color, new StyleIconBundle(StyleTypes.Color.ToString())},
+			{StyleTypes.Satellite, new StyleIconBundle(StyleTypes.Satellite.ToString())},
+		};
+
+		private Dictionary<SamplePalettes, StyleIconBundle> _paletteIconBundles = new Dictionary<SamplePalettes, StyleIconBundle>()
+		{
+			{SamplePalettes.City, new StyleIconBundle(StyleTypes.Simple.ToString(), SamplePalettes.City.ToString())},
+			{SamplePalettes.Cool, new StyleIconBundle(StyleTypes.Simple.ToString(), SamplePalettes.Cool.ToString())},
+			{SamplePalettes.Rainbow, new StyleIconBundle(StyleTypes.Simple.ToString(), SamplePalettes.Rainbow.ToString())},
+			{SamplePalettes.Urban, new StyleIconBundle(StyleTypes.Simple.ToString(), SamplePalettes.Urban.ToString())},
+			{SamplePalettes.Warm, new StyleIconBundle(StyleTypes.Simple.ToString(), SamplePalettes.Warm.ToString())},
+		};
+
+		/// <summary>
+		/// Loads the default style icons.
+		/// </summary>
+
+		private void LoadDefaultStyleIcons()
+		{
+			foreach (var key in _styleIconBundles.Keys)
+			{
+				_styleIconBundles[key].Load();
+			}
+			foreach (var key in _paletteIconBundles.Keys)
+			{
+				_paletteIconBundles[key].Load();
+			}
+		}
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+
+			objectId = property.serializedObject.targetObject.GetInstanceID().ToString();
+
+			showTexturing = EditorGUILayout.Foldout(showTexturing, new GUIContent { text = "Texturing", tooltip = "Material options to texture the generated building geometry" });
+			if (showTexturing)
+			{
+				LoadDefaultStyleIcons();
+				EditorGUI.BeginProperty(position, label, property);
+
+				var styleTypeLabel = new GUIContent { text = "Style Type", tooltip = "Texturing style for feature; choose from sample style or create your own by choosing Custom. " };
+				var styleType = property.FindPropertyRelative("style");
+
+				GUIContent[] styleTypeGuiContent = new GUIContent[styleType.enumDisplayNames.Length];
+				for (int i = 0; i < styleType.enumDisplayNames.Length; i++)
+				{
+					styleTypeGuiContent[i] = new GUIContent
+					{
+						text = styleType.enumDisplayNames[i]
+					};
+				}
+
+				EditorGUI.BeginChangeCheck();
+				styleType.enumValueIndex = EditorGUILayout.Popup(styleTypeLabel, styleType.enumValueIndex, styleTypeGuiContent);
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(property);
+				}
+
+				EditorGUI.indentLevel++;
+				if ((StyleTypes)styleType.enumValueIndex != StyleTypes.Custom)
+				{
+					GUILayout.BeginHorizontal();
+
+					var style = (StyleTypes)styleType.enumValueIndex;
+
+					Texture2D thumbnailTexture = (Texture2D)_styleIconBundles[style].texture;
+
+					if ((StyleTypes)styleType.enumValueIndex == StyleTypes.Simple)
+					{
+						var samplePaletteType = property.FindPropertyRelative("samplePalettes");
+						var palette = (SamplePalettes)samplePaletteType.enumValueIndex;
+						thumbnailTexture = (Texture2D)_paletteIconBundles[palette].texture;
+					}
+
+					string descriptionLabel = EnumExtensions.Description(style);
+					EditorGUILayout.LabelField(new GUIContent(" ", thumbnailTexture), Constants.GUI.Styles.EDITOR_TEXTURE_THUMBNAIL_STYLE, GUILayout.Height(60), GUILayout.Width(EditorGUIUtility.labelWidth - 60));
+					EditorGUILayout.TextArea(descriptionLabel, (GUIStyle)"wordWrappedLabel");
+
+					GUILayout.EndHorizontal();
+
+					EditorGUI.BeginChangeCheck();
+
+					switch ((StyleTypes)styleType.enumValueIndex)
+					{
+						case StyleTypes.Simple:
+							var samplePaletteType = property.FindPropertyRelative("samplePalettes");
+							var samplePaletteTypeLabel = new GUIContent { text = "Palette Type", tooltip = "Palette type for procedural colorization; choose from sample palettes or create your own by choosing Custom. " };
+
+							GUIContent[] samplePaletteTypeGuiContent = new GUIContent[samplePaletteType.enumDisplayNames.Length];
+							for (int i = 0; i < samplePaletteType.enumDisplayNames.Length; i++)
+							{
+								samplePaletteTypeGuiContent[i] = new GUIContent
+								{
+									text = samplePaletteType.enumDisplayNames[i]
+								};
+							}
+							samplePaletteType.enumValueIndex = EditorGUILayout.Popup(samplePaletteTypeLabel, samplePaletteType.enumValueIndex, samplePaletteTypeGuiContent);
+							break;
+						case StyleTypes.Light:
+							property.FindPropertyRelative("lightStyleOpacity").floatValue = EditorGUILayout.Slider("Opacity", property.FindPropertyRelative("lightStyleOpacity").floatValue, 0.0f, 1.0f);
+							break;
+						case StyleTypes.Dark:
+							property.FindPropertyRelative("darkStyleOpacity").floatValue = EditorGUILayout.Slider("Opacity", property.FindPropertyRelative("darkStyleOpacity").floatValue, 0.0f, 1.0f);
+							break;
+						case StyleTypes.Color:
+							property.FindPropertyRelative("colorStyleColor").colorValue = EditorGUILayout.ColorField("Color", property.FindPropertyRelative("colorStyleColor").colorValue);
+							break;
+						default:
+							break;
+					}
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+				}
+				else
+				{
+					var customStyleProperty = property.FindPropertyRelative("customStyleOptions");
+					var texturingType = customStyleProperty.FindPropertyRelative("texturingType");
+
+					int valIndex = texturingType.enumValueIndex == 0 ? 0 : texturingType.enumValueIndex + 1;
+					var texturingTypeGUI = new GUIContent { text = "Texturing Type", tooltip = EnumExtensions.Description((UvMapType)valIndex) };
+
+					EditorGUI.BeginChangeCheck();
+					EditorGUILayout.PropertyField(texturingType, texturingTypeGUI);
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+
+					var matList = customStyleProperty.FindPropertyRelative("materials");
+					if (matList.arraySize == 0)
+					{
+						matList.arraySize = 2;
+					}
+					GUILayout.Space(-lineHeight);
+
+					EditorGUI.BeginChangeCheck();
+					EditorGUILayout.PropertyField(matList.GetArrayElementAtIndex(0), new GUIContent { text = "Top Material", tooltip = "Unity material to use for extruded top/roof mesh. " });
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+
+
+					GUILayout.Space(-lineHeight);
+
+					EditorGUI.BeginChangeCheck();
+					EditorGUILayout.PropertyField(matList.GetArrayElementAtIndex(1), new GUIContent { text = "Side Material", tooltip = "Unity material to use for extruded side/wall mesh. " });
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+
+					EditorGUI.BeginChangeCheck();
+
+					if ((UvMapType)texturingType.enumValueIndex + 1 == UvMapType.Atlas)
+					{
+						var atlasInfo = customStyleProperty.FindPropertyRelative("atlasInfo");
+						EditorGUILayout.ObjectField(atlasInfo, new GUIContent { text = "Altas Info", tooltip = "Atlas information scriptable object, this defines how the texture roof and wall texture atlases will be used.  " });
+					}
+					if ((UvMapType)texturingType.enumValueIndex + 1 == UvMapType.AtlasWithColorPalette)
+					{
+						var atlasInfo = customStyleProperty.FindPropertyRelative("atlasInfo");
+						EditorGUILayout.ObjectField(atlasInfo, new GUIContent { text = "Altas Info", tooltip = "Atlas information scriptable object, this defines how the texture roof and wall texture atlases will be used.  " });
+
+						var colorPalette = customStyleProperty.FindPropertyRelative("colorPalette");
+						EditorGUILayout.ObjectField(colorPalette, new GUIContent { text = "Color Palette", tooltip = "Color palette scriptable object, allows texture features to be procedurally colored at runtime. Requires materials that use the MapboxPerRenderer shader. " });
+
+						EditorGUILayout.LabelField(new GUIContent { text = "Note: Atlas With Color Palette requires materials that use the MapboxPerRenderer shader." }, Constants.GUI.Styles.EDITOR_NOTE_STYLE);
+					}
+
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+
+				}
+				EditorGUI.indentLevel--;
+				EditorGUI.EndProperty();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryMaterialOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryMaterialOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7884763bcc825808436ed3587f1a17395e53579f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/GeometryMaterialOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e8e9adb2cd7094d48acbefb75a01436b
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryLayerPropertiesDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryLayerPropertiesDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..431aac8035ec64d0d1fdd765d5db3f39d4a7f2bd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryLayerPropertiesDrawer.cs
@@ -0,0 +1,97 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	[CustomPropertyDrawer(typeof(ImageryLayerProperties))]
+	public class ImageryLayerPropertiesDrawer : PropertyDrawer
+	{
+		GUIContent[] sourceTypeContent;
+		bool isGUIContentSet = false;
+
+		private GUIContent _tilesetIdGui = new GUIContent
+		{
+			text = "Tileset Id",
+			tooltip = "Id of the tileset."
+		};
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			var sourceTypeProperty = property.FindPropertyRelative("sourceType");
+			var sourceTypeValue = (ImagerySourceType)sourceTypeProperty.enumValueIndex;
+
+			var displayNames = sourceTypeProperty.enumDisplayNames;
+			int count = sourceTypeProperty.enumDisplayNames.Length;
+			if (!isGUIContentSet)
+			{
+				sourceTypeContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					sourceTypeContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = EnumExtensions.Description((ImagerySourceType)extIdx),
+					};
+				}
+				isGUIContentSet = true;
+			}
+
+			// Draw label.
+			var sourceTypeLabel = new GUIContent { text = "Data Source", tooltip = "Source tileset for Imagery." };
+
+			EditorGUI.BeginChangeCheck();
+			sourceTypeProperty.enumValueIndex = EditorGUILayout.Popup(sourceTypeLabel, sourceTypeProperty.enumValueIndex, sourceTypeContent);
+			if(EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+			sourceTypeValue = (ImagerySourceType)sourceTypeProperty.enumValueIndex;
+
+			var sourceOptionsProperty = property.FindPropertyRelative("sourceOptions");
+			var layerSourceProperty = sourceOptionsProperty.FindPropertyRelative("layerSource");
+			var layerSourceId = layerSourceProperty.FindPropertyRelative("Id");
+
+			EditorGUI.BeginChangeCheck();
+
+			switch (sourceTypeValue)
+			{
+				case ImagerySourceType.MapboxStreets:
+				case ImagerySourceType.MapboxOutdoors:
+				case ImagerySourceType.MapboxDark:
+				case ImagerySourceType.MapboxLight:
+				case ImagerySourceType.MapboxSatellite:
+				case ImagerySourceType.MapboxSatelliteStreet:
+					var sourcePropertyValue = MapboxDefaultImagery.GetParameters(sourceTypeValue);
+					layerSourceId.stringValue = sourcePropertyValue.Id;
+					GUI.enabled = false;
+					EditorGUILayout.PropertyField(sourceOptionsProperty, _tilesetIdGui);
+					GUI.enabled = true;
+					break;
+				case ImagerySourceType.Custom:
+					EditorGUILayout.PropertyField(sourceOptionsProperty, new GUIContent { text = "Tileset Id / Style URL", tooltip = _tilesetIdGui.tooltip });
+					break;
+				case ImagerySourceType.None:
+					break;
+				default:
+					break;
+			}
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			if (sourceTypeValue != ImagerySourceType.None)
+			{
+				EditorGUI.BeginChangeCheck();
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("rasterOptions"));
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(property);
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryLayerPropertiesDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryLayerPropertiesDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4ebbe1a2b1241c0ccba65a6a086c1eeade565cfd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryLayerPropertiesDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8d00c4bf63fb7481bba0b0a96c4e9b03
+timeCreated: 1517889179
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryRasterOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryRasterOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0fbc95e1f03776243751b1c157c4f0336944db76
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryRasterOptionsDrawer.cs
@@ -0,0 +1,32 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(ImageryRasterOptions))]
+	public class ImageryRasterOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+		bool showPosition = true;
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+			position.height = lineHeight;
+			foreach (var item in property)
+			{
+				var subproperty = item as SerializedProperty;
+				EditorGUI.PropertyField(position, subproperty, true);
+				position.height = lineHeight;
+				position.y += lineHeight;
+			}
+
+			EditorGUI.EndProperty();
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			int rows = (showPosition) ? 3 : 1;
+			return (float)rows * lineHeight;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryRasterOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryRasterOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3254b300111925fcee0e624f2d8caa652d382f14
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ImageryRasterOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6eff4b0718ee34d37913417f65afad08
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerPerformanceOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerPerformanceOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..28e0adce4b0dc895992af0720ab52a583e131a91
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerPerformanceOptionsDrawer.cs
@@ -0,0 +1,26 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(LayerPerformanceOptions))]
+	public class LayerPerformanceOptionsDrawer : PropertyDrawer
+	{
+		SerializedProperty isActiveProperty;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			isActiveProperty = property.FindPropertyRelative("isEnabled");
+
+			isActiveProperty.boolValue = EditorGUILayout.Toggle(new GUIContent("Enable Coroutines"), isActiveProperty.boolValue);
+
+			if (isActiveProperty.boolValue == true)
+			{
+				EditorGUI.indentLevel++;
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("entityPerCoroutine"), true);
+				EditorGUI.indentLevel--;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerPerformanceOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerPerformanceOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5facc096232bcd53b94ececb3b996bf983340474
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerPerformanceOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 16db3da0a971247e79b6bb10e0d26862
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerSourceOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerSourceOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a5a395f18c2d91068cf87dccdd9689dcf0ee828f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerSourceOptionsDrawer.cs
@@ -0,0 +1,24 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(LayerSourceOptions))]
+	public class LayerSourceOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+			position.height = lineHeight;
+			EditorGUI.PropertyField(position, property.FindPropertyRelative("layerSource"), label);
+			EditorGUI.EndProperty();
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			return lineHeight;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerSourceOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerSourceOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b97c093741b3e6cb1d9c0f485198a249bc902c16
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LayerSourceOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 66a87ffd5023a4fbe889f65e3fdcb4ac
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LineGeometryOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LineGeometryOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3c71e2099a107c91ca3c219a73212b16623a627c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LineGeometryOptionsDrawer.cs
@@ -0,0 +1,37 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using System.Collections.Generic;
+	using System.Linq;
+	using System;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	[CustomPropertyDrawer(typeof(LineGeometryOptions))]
+	public class LineGeometryOptionsDrawer : PropertyDrawer
+	{
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginChangeCheck();
+
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("Width"));
+			property.FindPropertyRelative("JoinType").enumValueIndex = (int)((LineJoinType)EditorGUILayout.EnumPopup("Join Type", (LineJoinType)property.FindPropertyRelative("JoinType").intValue));
+			if (property.FindPropertyRelative("JoinType").enumValueIndex == (int)LineJoinType.Miter || property.FindPropertyRelative("JoinType").enumValueIndex == (int)LineJoinType.Bevel)
+			{
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("MiterLimit"));
+			}
+			else if (property.FindPropertyRelative("JoinType").enumValueIndex == (int)LineJoinType.Round)
+			{
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("RoundLimit"));
+			}
+
+			property.FindPropertyRelative("CapType").enumValueIndex = (int)((LineCapType)EditorGUILayout.EnumPopup("Cap Type", (LineCapType)property.FindPropertyRelative("CapType").intValue));
+
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LineGeometryOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LineGeometryOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..81a938ab39576d848c945e0c1bd3425edcd30f0c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/LineGeometryOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 81806f31401d69747ba09bd8aa3e4c73
+timeCreated: 1537464920
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapExtentOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapExtentOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1ec5f1e1db25c879ccc52a34c6b90047b0c5be6c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapExtentOptionsDrawer.cs
@@ -0,0 +1,77 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	[CustomPropertyDrawer(typeof(MapExtentOptions))]
+	public class MapExtentOptionsDrawer : PropertyDrawer
+	{
+		static string extTypePropertyName = "extentType";
+		static float _lineHeight = EditorGUIUtility.singleLineHeight;
+		GUIContent[] extentTypeContent;
+		bool isGUIContentSet = false;
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			var kindProperty = property.FindPropertyRelative(extTypePropertyName);
+			var displayNames = kindProperty.enumDisplayNames;
+			int count = kindProperty.enumDisplayNames.Length;
+			if (!isGUIContentSet)
+			{
+				extentTypeContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					extentTypeContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = EnumExtensions.Description((MapExtentType)extIdx),
+					};
+				}
+				isGUIContentSet = true;
+			}
+			// Draw label.
+			var extentTypeLabel = new GUIContent
+			{
+				text = label.text,
+				tooltip = "Options to determine the geographic extent of the world for which the map tiles will be requested.",
+			};
+			EditorGUI.BeginChangeCheck();
+			kindProperty.enumValueIndex = EditorGUILayout.Popup(extentTypeLabel, kindProperty.enumValueIndex, extentTypeContent, GUILayout.Height(_lineHeight));
+
+			var kind = (MapExtentType)kindProperty.enumValueIndex;
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			EditorGUI.indentLevel++;
+
+			GUILayout.Space(-_lineHeight);
+			SerializedProperty defaultExtentsProp = property.FindPropertyRelative("defaultExtents");
+			EditorGUI.BeginChangeCheck();
+
+			switch (kind)
+			{
+				case MapExtentType.CameraBounds:
+					GUILayout.Space(_lineHeight);
+					EditorGUILayout.PropertyField(defaultExtentsProp.FindPropertyRelative("cameraBoundsOptions"), new GUIContent { text = "CameraOptions-" });
+					break;
+				case MapExtentType.RangeAroundCenter:
+					EditorGUILayout.PropertyField(defaultExtentsProp.FindPropertyRelative("rangeAroundCenterOptions"), new GUIContent { text = "RangeAroundCenter" });
+					break;
+				case MapExtentType.RangeAroundTransform:
+					GUILayout.Space(_lineHeight);
+					EditorGUILayout.PropertyField(defaultExtentsProp.FindPropertyRelative("rangeAroundTransformOptions"), new GUIContent { text = "RangeAroundTransform" });
+					break;
+				default:
+					break;
+			}
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(defaultExtentsProp);
+			}
+			EditorGUI.indentLevel--;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapExtentOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapExtentOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..da6dcc1f0b06289b7772b89465bac2e2861ec4a0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapExtentOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 61582b113819848348a7a1a629916371
+timeCreated: 1517858264
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapLocationOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapLocationOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b5cf93057114d3c3d4c96204df0c0f40a28bd5fb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapLocationOptionsDrawer.cs
@@ -0,0 +1,32 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(MapLocationOptions))]
+	public class MapLocationOptionsDrawer : PropertyDrawer
+	{
+		static float _lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.indentLevel++;
+			GUILayout.Space(-1f * _lineHeight);
+			EditorGUI.BeginChangeCheck();
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("latitudeLongitude"));
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			EditorGUI.BeginChangeCheck();
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("zoom"), GUILayout.Height(_lineHeight));
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+			EditorGUI.indentLevel--;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapLocationOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapLocationOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7f5cbdf2f390e857177a2ab0768dc7a1d7989a2e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapLocationOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: cba048f4ed8d1458e88aee6ae0ae4226
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5dae84c64f78c1521848c120e278fcf234252bb3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapOptionsDrawer.cs
@@ -0,0 +1,78 @@
+using Mapbox.Unity.Map.TileProviders;
+
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	[CustomPropertyDrawer(typeof(MapOptions))]
+	public class MapOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+		bool showPosition = false;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+
+			position.height = lineHeight;
+			EditorGUI.LabelField(position, "Location ");
+			position.y += lineHeight;
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("locationOptions"));
+			position.y += EditorGUI.GetPropertyHeight(property.FindPropertyRelative("locationOptions"));
+			var extentOptions = property.FindPropertyRelative("extentOptions");
+			var extentOptionsType = extentOptions.FindPropertyRelative("extentType");
+			if ((MapExtentType)extentOptionsType.enumValueIndex == MapExtentType.Custom)
+			{
+				var test = property.serializedObject.FindProperty("_tileProvider");
+
+				EditorGUI.PropertyField(position, test);
+				position.y += lineHeight;
+			}
+			else
+			{
+				EditorGUI.PropertyField(position, property.FindPropertyRelative("extentOptions"));
+
+				position.y += EditorGUI.GetPropertyHeight(property.FindPropertyRelative("extentOptions"));
+			}
+
+			showPosition = EditorGUI.Foldout(position, showPosition, "Others");
+			if (showPosition)
+			{
+				position.y += lineHeight;
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("placementOptions"));
+
+				position.y += EditorGUI.GetPropertyHeight(property.FindPropertyRelative("placementOptions"));
+				EditorGUI.PropertyField(position, property.FindPropertyRelative("scalingOptions"));
+
+			}
+			EditorGUI.EndProperty();
+
+		}
+
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			// Reserve space for the total visible properties.
+			float height = 2.0f * lineHeight;
+			if (showPosition)
+			{
+				height += EditorGUI.GetPropertyHeight(property.FindPropertyRelative("placementOptions"));
+				height += EditorGUI.GetPropertyHeight(property.FindPropertyRelative("scalingOptions"));
+			}
+			height += EditorGUI.GetPropertyHeight(property.FindPropertyRelative("locationOptions"));
+			height += EditorGUI.GetPropertyHeight(property.FindPropertyRelative("extentOptions"));
+			return height;
+		}
+	}
+
+	[CustomPropertyDrawer(typeof(AbstractTileProvider))]
+	public class AbstractTileProviderDrawer : PropertyDrawer
+	{
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+			EditorGUI.ObjectField(position, property);
+			EditorGUI.EndProperty();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c49e9c4658a1083445e317a9cae3fe054f80f50c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 9f76f257073bf49efbf18d1e75531f2a
+timeCreated: 1520010402
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapPlacementOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapPlacementOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9516025d60d2fd726a10657bd34cd3a4fae60da8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapPlacementOptionsDrawer.cs
@@ -0,0 +1,38 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	[CustomPropertyDrawer(typeof(MapPlacementOptions))]
+	public class MapPlacementOptionsDrawer : PropertyDrawer
+	{
+		GUIContent[] placementTypeContent;
+		bool isGUIContentSet = false;
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			var placementType = property.FindPropertyRelative("placementType");
+			var snapMapToTerrain = property.FindPropertyRelative("snapMapToZero");
+
+			var displayNames = placementType.enumDisplayNames;
+			int count = placementType.enumDisplayNames.Length;
+			if (!isGUIContentSet)
+			{
+				placementTypeContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					placementTypeContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = EnumExtensions.Description((MapPlacementType)extIdx),
+					};
+				}
+				isGUIContentSet = true;
+			}
+
+			placementType.enumValueIndex = EditorGUILayout.Popup(new GUIContent { text = label.text, tooltip = "Placement of Map root.", }, placementType.enumValueIndex, placementTypeContent);
+			EditorGUILayout.PropertyField(snapMapToTerrain, new GUIContent { text = snapMapToTerrain.displayName, tooltip = "If checked, map's root will be snapped to zero. " });
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapPlacementOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapPlacementOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..41df50185fa3fcdc272299328df0bac250941532
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapPlacementOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5156142fbca0a4c7bbc4b5949bd9a004
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapScalingOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapScalingOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8639b3968eeddbd4da5d582c49fb7b25634f2139
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapScalingOptionsDrawer.cs
@@ -0,0 +1,46 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	[CustomPropertyDrawer(typeof(MapScalingOptions))]
+	public class MapScalingOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+		GUIContent[] scalingTypeContent;
+		bool isGUIContentSet = false;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			var scalingType = property.FindPropertyRelative("scalingType");
+			var displayNames = scalingType.enumDisplayNames;
+			int count = scalingType.enumDisplayNames.Length;
+			if (!isGUIContentSet)
+			{
+				scalingTypeContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					scalingTypeContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = EnumExtensions.Description((MapScalingType)extIdx),
+					};
+				}
+				isGUIContentSet = true;
+			}
+
+			// Draw label.
+			var scalingTypeLabel = new GUIContent { text = label.text, tooltip = "Scale of map in game units.", };
+
+			scalingType.enumValueIndex = EditorGUILayout.Popup(scalingTypeLabel, scalingType.enumValueIndex, scalingTypeContent);
+
+			if ((MapScalingType)scalingType.enumValueIndex == MapScalingType.Custom)
+			{
+				position.y += lineHeight;
+				EditorGUILayout.PropertyField(property.FindPropertyRelative("unityTileSize"));
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapScalingOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapScalingOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3aace9f3c34e99bd674034412f090e94842021b7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MapScalingOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 3273da310cf694e0982177c792acf843
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MaterialListDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MaterialListDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2015535ee652d36b520fc862f5831be84c908b50
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MaterialListDrawer.cs
@@ -0,0 +1,22 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	[CustomPropertyDrawer(typeof(MaterialList))]
+	public class MaterialListDrawer : PropertyDrawer
+	{
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+			var matArray = property.FindPropertyRelative("Materials");
+			if (matArray.arraySize == 0)
+			{
+				matArray.arraySize = 1;
+			}
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("Materials").GetArrayElementAtIndex(0), label);
+			EditorGUI.EndProperty();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MaterialListDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MaterialListDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..baebce5832a7a0d205f8d9a907027315c21e4a07
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/MaterialListDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ac4d01f35c9334c9f90ce5c57523f06c
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ModelingSectionDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ModelingSectionDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..748e0a4630bef0aea2309dfa68cac1f20228790f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ModelingSectionDrawer.cs
@@ -0,0 +1,93 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using System;
+	using System.Collections;
+	using UnityEditor;
+	using Mapbox.Unity.Map;
+	using Mapbox.Editor;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	public class ModelingSectionDrawer
+	{
+		private string objectId = "";
+		bool showModeling
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "VectorSubLayerProperties_showModeling");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "VectorSubLayerProperties_showModeling", value);
+			}
+		}
+		static float _lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public void DrawUI(SerializedProperty subLayerCoreOptions, SerializedProperty layerProperty, VectorPrimitiveType primitiveTypeProp)
+		{
+
+			objectId = layerProperty.serializedObject.targetObject.GetInstanceID().ToString();
+
+			EditorGUILayout.BeginVertical();
+			showModeling = EditorGUILayout.Foldout(showModeling, new GUIContent { text = "Modeling", tooltip = "This section provides you with options to fine tune your meshes" });
+			if (showModeling)
+			{
+				GUILayout.Space(-_lineHeight);
+				EditorGUILayout.PropertyField(subLayerCoreOptions);
+
+				if (primitiveTypeProp == VectorPrimitiveType.Line)
+				{
+					GUILayout.Space(-_lineHeight);
+					var lineGeometryOptions = layerProperty.FindPropertyRelative("lineGeometryOptions");
+					EditorGUILayout.PropertyField(lineGeometryOptions);
+				}
+				
+				if (primitiveTypeProp != VectorPrimitiveType.Point && primitiveTypeProp != VectorPrimitiveType.Custom)
+				{
+					GUILayout.Space(-_lineHeight);
+					var extrusionOptions = layerProperty.FindPropertyRelative("extrusionOptions");
+					extrusionOptions.FindPropertyRelative("_selectedLayerName").stringValue = subLayerCoreOptions.FindPropertyRelative("layerName").stringValue;
+					EditorGUILayout.PropertyField(extrusionOptions);
+
+					EditorGUI.BeginChangeCheck();
+					var snapToTerrainProperty = subLayerCoreOptions.FindPropertyRelative("snapToTerrain");
+					snapToTerrainProperty.boolValue = EditorGUILayout.Toggle(snapToTerrainProperty.displayName, snapToTerrainProperty.boolValue);
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(subLayerCoreOptions);
+					}
+				}
+
+				if (primitiveTypeProp != VectorPrimitiveType.Point)
+				{
+					EditorGUI.BeginChangeCheck();
+					var combineMeshesProperty = subLayerCoreOptions.FindPropertyRelative("combineMeshes");
+					combineMeshesProperty.boolValue = EditorGUILayout.Toggle(combineMeshesProperty.displayName, combineMeshesProperty.boolValue);
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(subLayerCoreOptions);
+					}
+				}
+
+				if (primitiveTypeProp != VectorPrimitiveType.Point && primitiveTypeProp != VectorPrimitiveType.Custom)
+				{
+					GUILayout.Space(-_lineHeight);
+
+					var colliderOptionsProperty = layerProperty.FindPropertyRelative("colliderOptions");
+					EditorGUI.BeginChangeCheck();
+					EditorGUILayout.PropertyField(colliderOptionsProperty);
+					if (EditorGUI.EndChangeCheck())
+					{
+						Debug.Log("Collider UI changed");
+						EditorHelper.CheckForModifiedProperty(colliderOptionsProperty);
+					}
+				}
+			}
+			EditorGUILayout.EndVertical();
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ModelingSectionDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ModelingSectionDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..991bbcd69b1c76df4630e2b44439aff912f73aee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/ModelingSectionDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 39f85c0d2d7cb4b5e989cf0edd7109a9
+timeCreated: 1529620234
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PointsOfInterestSubLayerPropertiesDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PointsOfInterestSubLayerPropertiesDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..189432c7512cde10e3ad19bb10d7b5e6e9583e13
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PointsOfInterestSubLayerPropertiesDrawer.cs
@@ -0,0 +1,232 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using System.Collections.Generic;
+	using UnityEditor;
+	using Mapbox.Editor;
+	using UnityEditor.IMGUI.Controls;
+	using System.Linq;
+
+	public class PointsOfInterestSubLayerPropertiesDrawer
+	{
+		string objectId = "";
+		static float _lineHeight = EditorGUIUtility.singleLineHeight;
+
+		FeatureSubLayerTreeView layerTreeView;
+		IList<int> selectedLayers = new List<int>();
+
+		private TreeModel<FeatureTreeElement> treeModel;
+		[SerializeField]
+		TreeViewState m_TreeViewState;
+
+		[SerializeField]
+		MultiColumnHeaderState m_MultiColumnHeaderState;
+
+		bool m_Initialized = false;
+		public bool isLayerAdded = false;
+
+		int SelectionIndex
+		{
+			get
+			{
+				return EditorPrefs.GetInt(objectId + "LocationPrefabsLayerProperties_selectionIndex");
+			}
+			set
+			{
+				EditorPrefs.SetInt(objectId + "LocationPrefabsLayerProperties_selectionIndex", value);
+			}
+		}
+
+		public void DrawUI(SerializedProperty property)
+		{
+			objectId = property.serializedObject.targetObject.GetInstanceID().ToString();
+			var prefabItemArray = property.FindPropertyRelative("locationPrefabList");
+			var layersRect = EditorGUILayout.GetControlRect(GUILayout.MinHeight(Mathf.Max(prefabItemArray.arraySize + 1, 1) * _lineHeight + MultiColumnHeader.DefaultGUI.defaultHeight),
+															GUILayout.MaxHeight((prefabItemArray.arraySize + 1) * _lineHeight + MultiColumnHeader.DefaultGUI.defaultHeight));
+
+			if (!m_Initialized)
+			{
+				bool firstInit = m_MultiColumnHeaderState == null;
+				var headerState = FeatureSubLayerTreeView.CreateDefaultMultiColumnHeaderState();
+				if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState))
+				{
+					MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState);
+				}
+				m_MultiColumnHeaderState = headerState;
+
+				var multiColumnHeader = new FeatureSectionMultiColumnHeader(headerState);
+
+				if (firstInit)
+				{
+					multiColumnHeader.ResizeToFit();
+				}
+
+				treeModel = new TreeModel<FeatureTreeElement>(GetData(prefabItemArray));
+				if (m_TreeViewState == null)
+				{
+					m_TreeViewState = new TreeViewState();
+				}
+
+				if (layerTreeView == null)
+				{
+					layerTreeView = new FeatureSubLayerTreeView(m_TreeViewState, multiColumnHeader, treeModel, FeatureSubLayerTreeView.uniqueIdPoI);
+				}
+				layerTreeView.multiColumnHeader = multiColumnHeader;
+				m_Initialized = true;
+			}
+
+
+			layerTreeView.Layers = prefabItemArray;
+			layerTreeView.Reload();
+			layerTreeView.OnGUI(layersRect);
+
+			if (layerTreeView.hasChanged)
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+				layerTreeView.hasChanged = false;
+			}
+
+			selectedLayers = layerTreeView.GetSelection();
+			//if there are selected elements, set the selection index at the first element.
+			//if not, use the Selection index to persist the selection at the right index.
+			if (selectedLayers.Count > 0)
+			{
+				//ensure that selectedLayers[0] isn't out of bounds
+				if (selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdPoI > prefabItemArray.arraySize - 1)
+				{
+					selectedLayers[0] = prefabItemArray.arraySize - 1 + FeatureSubLayerTreeView.uniqueIdPoI;
+				}
+
+				SelectionIndex = selectedLayers[0];
+
+			}
+			else
+			{
+				selectedLayers = new int[1] { SelectionIndex };
+				if (SelectionIndex > 0 && (SelectionIndex - FeatureSubLayerTreeView.uniqueIdPoI <= prefabItemArray.arraySize - 1))
+				{
+					layerTreeView.SetSelection(selectedLayers);
+				}
+			}
+
+
+			GUILayout.Space(EditorGUIUtility.singleLineHeight);
+			EditorGUILayout.BeginHorizontal();
+
+			if (GUILayout.Button(new GUIContent("Add Layer"), (GUIStyle)"minibuttonleft"))
+			{
+				prefabItemArray.arraySize++;
+
+				var prefabItem = prefabItemArray.GetArrayElementAtIndex(prefabItemArray.arraySize - 1);
+				var prefabItemName = prefabItem.FindPropertyRelative("coreOptions.sublayerName");
+
+				prefabItemName.stringValue = "New Location";
+
+				// Set defaults here because SerializedProperty copies the previous element.
+				prefabItem.FindPropertyRelative("coreOptions.isActive").boolValue = true;
+				prefabItem.FindPropertyRelative("coreOptions.snapToTerrain").boolValue = true;
+				prefabItem.FindPropertyRelative("presetFeatureType").enumValueIndex = (int)PresetFeatureType.Points;
+				var categories = prefabItem.FindPropertyRelative("categories");
+				categories.intValue = (int)(LocationPrefabCategories.AnyCategory);//To select any category option
+
+				var density = prefabItem.FindPropertyRelative("density");
+				density.intValue = 15;//To select all locations option
+
+				//Refreshing the tree
+				layerTreeView.Layers = prefabItemArray;
+				layerTreeView.AddElementToTree(prefabItem);
+				layerTreeView.Reload();
+
+				selectedLayers = new int[1] { prefabItemArray.arraySize - 1 };
+				layerTreeView.SetSelection(selectedLayers);
+
+				if (EditorHelper.DidModifyProperty(property))
+				{
+					isLayerAdded = true;
+				}
+			}
+
+			if (GUILayout.Button(new GUIContent("Remove Selected"), (GUIStyle)"minibuttonright"))
+			{
+				foreach (var index in selectedLayers.OrderByDescending(i => i))
+				{
+					if (layerTreeView != null)
+					{
+						var poiSubLayer = prefabItemArray.GetArrayElementAtIndex(index - FeatureSubLayerTreeView.uniqueIdPoI);
+
+						VectorLayerProperties vectorLayerProperties = (VectorLayerProperties)EditorHelper.GetTargetObjectOfProperty(property);
+						PrefabItemOptions poiSubLayerProperties = (PrefabItemOptions)EditorHelper.GetTargetObjectOfProperty(poiSubLayer);
+
+						vectorLayerProperties.OnSubLayerPropertyRemoved(new VectorLayerUpdateArgs { property = poiSubLayerProperties });
+
+						layerTreeView.RemoveItemFromTree(index);
+						prefabItemArray.DeleteArrayElementAtIndex(index - FeatureSubLayerTreeView.uniqueIdPoI);
+						layerTreeView.treeModel.SetData(GetData(prefabItemArray));
+					}
+				}
+				selectedLayers = new int[0];
+				layerTreeView.SetSelection(selectedLayers);
+			}
+
+			EditorGUILayout.EndHorizontal();
+
+			if (selectedLayers.Count == 1 && prefabItemArray.arraySize != 0 && selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdPoI >= 0)
+			{
+				//ensure that selectedLayers[0] isn't out of bounds
+				if (selectedLayers[0] - FeatureSubLayerTreeView.uniqueIdPoI > prefabItemArray.arraySize - 1)
+				{
+					selectedLayers[0] = prefabItemArray.arraySize - 1 + FeatureSubLayerTreeView.uniqueIdPoI;
+				}
+				SelectionIndex = selectedLayers[0];
+
+				var layerProperty = prefabItemArray.GetArrayElementAtIndex(SelectionIndex - FeatureSubLayerTreeView.uniqueIdPoI);
+
+				layerProperty.isExpanded = true;
+				var subLayerCoreOptions = layerProperty.FindPropertyRelative("coreOptions");
+				bool isLayerActive = subLayerCoreOptions.FindPropertyRelative("isActive").boolValue;
+				if (!isLayerActive)
+				{
+					GUI.enabled = false;
+				}
+				DrawLayerLocationPrefabProperties(layerProperty, property);
+				if (!isLayerActive)
+				{
+					GUI.enabled = true;
+				}
+			}
+			else
+			{
+				GUILayout.Space(15);
+				GUILayout.Label("Select a visualizer to see properties");
+			}
+		}
+
+		void DrawLayerLocationPrefabProperties(SerializedProperty layerProperty, SerializedProperty property)
+		{
+			EditorGUILayout.PropertyField(layerProperty);
+		}
+
+		IList<FeatureTreeElement> GetData(SerializedProperty subLayerArray)
+		{
+			List<FeatureTreeElement> elements = new List<FeatureTreeElement>();
+			string name = string.Empty;
+			string type = string.Empty;
+			int id = 0;
+			var root = new FeatureTreeElement("Root", -1, 0);
+			elements.Add(root);
+			for (int i = 0; i < subLayerArray.arraySize; i++)
+			{
+				var subLayer = subLayerArray.GetArrayElementAtIndex(i);
+				name = subLayer.FindPropertyRelative("coreOptions.sublayerName").stringValue;
+				id = i + FeatureSubLayerTreeView.uniqueIdPoI;
+				type = PresetFeatureType.Points.ToString();
+				FeatureTreeElement element = new FeatureTreeElement(name, 0, id);
+				element.Name = name;
+				element.name = name;
+				element.Type = type;
+				elements.Add(element);
+			}
+			return elements;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PointsOfInterestSubLayerPropertiesDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PointsOfInterestSubLayerPropertiesDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7f2373684752940279f992ea93ac4d3579e6bb27
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PointsOfInterestSubLayerPropertiesDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 20fb110d2102743939c89f5a3ab9c3a4
+timeCreated: 1525818946
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PrefabItemOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PrefabItemOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1a2c47222b555eff282c6a8291609d2a81d88ffc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PrefabItemOptionsDrawer.cs
@@ -0,0 +1,223 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using UnityEditor;
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+	[CustomPropertyDrawer(typeof(PrefabItemOptions))]
+	public class PrefabItemOptionsDrawer : PropertyDrawer
+	{
+
+		static float _lineHeight = EditorGUIUtility.singleLineHeight;
+		const string searchButtonContent = "Search";
+
+		private GUIContent prefabLocationsTitle = new GUIContent
+		{
+			text = "Prefab Locations",
+			tooltip = "Where on the map to spawn the selected prefab"
+		};
+
+
+		private GUIContent findByDropDown = new GUIContent
+		{
+			text = "Find by",
+			tooltip = "Find points-of-interest by category, name, or address"
+		};
+
+		private GUIContent categoriesDropDown = new GUIContent
+		{
+			text = "Category",
+			tooltip = "Spawn at locations in the categories selected"
+		};
+
+		private GUIContent densitySlider = new GUIContent
+		{
+			text = "Density",
+			tooltip = "The number of prefabs to spawn per-tile; try a lower number if the map is cluttered"
+		};
+
+		private GUIContent nameField = new GUIContent
+		{
+			text = "Name",
+			tooltip = "Spawn at locations containing this name string"
+		};
+
+		GUIContent[] findByPropContent;
+		bool isGUIContentSet = false;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			GUILayout.Space(-_lineHeight);
+			var prefabItemCoreOptions = property.FindPropertyRelative("coreOptions");
+			GUILayout.Label(prefabItemCoreOptions.FindPropertyRelative("sublayerName").stringValue + " Properties");
+
+			//Prefab Game Object
+			EditorGUI.indentLevel++;
+			var spawnPrefabOptions = property.FindPropertyRelative("spawnPrefabOptions");
+
+			EditorGUILayout.PropertyField(spawnPrefabOptions);
+
+			GUILayout.Space(1);
+			EditorGUI.indentLevel--;
+
+			//Prefab Locations title
+			GUILayout.Label(prefabLocationsTitle);
+
+			//FindBy drop down
+			EditorGUILayout.BeginHorizontal();
+
+			var findByProp = property.FindPropertyRelative("findByType");
+
+			var displayNames = findByProp.enumDisplayNames;
+			int count = findByProp.enumDisplayNames.Length;
+			if (!isGUIContentSet)
+			{
+				findByPropContent = new GUIContent[count];
+				for (int extIdx = 0; extIdx < count; extIdx++)
+				{
+					findByPropContent[extIdx] = new GUIContent
+					{
+						text = displayNames[extIdx],
+						tooltip = ((LocationPrefabFindBy)extIdx).Description(),
+					};
+				}
+				isGUIContentSet = true;
+			}
+
+			EditorGUI.indentLevel++;
+
+			EditorGUI.BeginChangeCheck();
+			findByProp.enumValueIndex = EditorGUILayout.Popup(findByDropDown, findByProp.enumValueIndex, findByPropContent);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			EditorGUILayout.EndHorizontal();
+
+			switch ((LocationPrefabFindBy)findByProp.enumValueIndex)
+			{
+				case (LocationPrefabFindBy.MapboxCategory):
+					ShowCategoryOptions(property);
+					break;
+				case (LocationPrefabFindBy.AddressOrLatLon):
+					ShowAddressOrLatLonUI(property);
+					break;
+				case (LocationPrefabFindBy.POIName):
+					ShowPOINames(property);
+					break;
+				default:
+					break;
+			}
+			EditorGUI.indentLevel--;
+		}
+
+		private void ShowCategoryOptions(SerializedProperty property)
+		{
+			//Category drop down
+			EditorGUI.BeginChangeCheck();
+			var categoryProp = property.FindPropertyRelative("categories");
+			categoryProp.intValue = (int)(LocationPrefabCategories)(EditorGUILayout.EnumFlagsField(categoriesDropDown, (LocationPrefabCategories)categoryProp.intValue));
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+			ShowDensitySlider(property);
+		}
+
+		private void ShowAddressOrLatLonUI(SerializedProperty property)
+		{
+			//EditorGUILayout.BeginVertical();
+			var coordinateProperties = property.FindPropertyRelative("coordinates");
+
+			for (int i = 0; i < coordinateProperties.arraySize; i++)
+			{
+				EditorGUILayout.BeginHorizontal();
+				//get the element to draw
+				var coordinate = coordinateProperties.GetArrayElementAtIndex(i);
+
+				//label for each location.
+				var coordinateLabel = String.Format("Location {0}", i);
+
+				// draw coordinate string.
+				EditorGUI.BeginChangeCheck();
+				coordinate.stringValue = EditorGUILayout.TextField(coordinateLabel, coordinate.stringValue);
+
+				if(EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(property, true);
+				}
+				// draw search button.
+				if (GUILayout.Button(new GUIContent(searchButtonContent), (GUIStyle)"minibuttonleft", GUILayout.MaxWidth(100)))
+				{
+					object propertyObject = EditorHelper.GetTargetObjectOfProperty(property);
+					GeocodeAttributeSearchWindow.Open(coordinate, propertyObject);
+				}
+
+				//include a remove button in the row
+				if (GUILayout.Button(new GUIContent(" X "), (GUIStyle)"minibuttonright", GUILayout.MaxWidth(30)))
+				{
+					coordinateProperties.DeleteArrayElementAtIndex(i);
+					EditorHelper.CheckForModifiedProperty(property);
+				}
+				EditorGUILayout.EndHorizontal();
+			}
+
+			EditorGUILayout.BeginHorizontal();
+			GUILayout.Space(EditorGUIUtility.labelWidth - 3);
+
+			if (GUILayout.Button(new GUIContent("Add Location"), (GUIStyle)"minibutton"))
+			{
+				coordinateProperties.arraySize++;
+				var newElement = coordinateProperties.GetArrayElementAtIndex(coordinateProperties.arraySize - 1);
+				newElement.stringValue = "";
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+			EditorGUILayout.EndHorizontal();
+		}
+
+
+		private void ShowPOINames(SerializedProperty property)
+		{
+			//Name field
+			var categoryProp = property.FindPropertyRelative("nameString");
+
+			EditorGUI.BeginChangeCheck();
+			categoryProp.stringValue = EditorGUILayout.TextField(nameField, categoryProp.stringValue);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			ShowDensitySlider(property);
+		}
+
+		private void ShowDensitySlider(SerializedProperty property)
+		{
+			//Density slider
+			var densityProp = property.FindPropertyRelative("density");
+
+			EditorGUI.BeginChangeCheck();
+			EditorGUILayout.PropertyField(densityProp, densitySlider);
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+			GUI.enabled = true;
+			densityProp.serializedObject.ApplyModifiedProperties();
+		}
+
+		private Rect GetNewRect(Rect position)
+		{
+			return new Rect(position.x, position.y, position.width, _lineHeight);
+		}
+
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			return _lineHeight;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PrefabItemOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PrefabItemOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..691c3c8d4ba488df25e37de2c2535042aec98a37
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/PrefabItemOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e267a35441e2f4c19a4b96c23afad4ae
+timeCreated: 1523396148
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeAroundTransformTileProviderOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeAroundTransformTileProviderOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..cd724317278df7ad334fef28b38f276187415e08
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeAroundTransformTileProviderOptionsDrawer.cs
@@ -0,0 +1,28 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(RangeAroundTransformTileProviderOptions))]
+	public class RangeAroundTransformTileProviderOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			foreach (var item in property)
+			{
+				var subproperty = item as SerializedProperty;
+				EditorGUI.PropertyField(position, subproperty, true);
+				position.height = lineHeight;
+				position.y += lineHeight;
+			}
+		}
+
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			return 3 * lineHeight;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeAroundTransformTileProviderOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeAroundTransformTileProviderOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3d3abb268b16cb63539a17deaf446019e6008088
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeAroundTransformTileProviderOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 758132744af3642f2ae9a7c31ce9c0d9
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeTileProviderOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeTileProviderOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f29868ad487cb1bb1a7c051edde41886d1798b5c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeTileProviderOptionsDrawer.cs
@@ -0,0 +1,22 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(RangeTileProviderOptions))]
+	public class RangeTileProviderOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			foreach (var item in property)
+			{
+				var subproperty = item as SerializedProperty;
+				EditorGUILayout.PropertyField(subproperty, true);
+				position.height = lineHeight;
+				position.y += lineHeight;
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeTileProviderOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeTileProviderOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6176e263d4554fbb09cfa88e415e9b6894c4e2f9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/RangeTileProviderOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 59524ff7910c146abad051df9ab054db
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/SpawnPrefabOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/SpawnPrefabOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c3f03e9140c3046669a649b8b584a293c1e7492c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/SpawnPrefabOptionsDrawer.cs
@@ -0,0 +1,47 @@
+namespace Mapbox.Unity.Map
+{
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using UnityEditor;
+	using Mapbox.Editor;
+
+	[CustomPropertyDrawer(typeof(SpawnPrefabOptions))]
+	public class SpawnPrefabOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		private GUIContent prefabContent = new GUIContent
+		{
+			text = "Prefab",
+			tooltip = "The prefab to be spawned"
+		};
+
+		private GUIContent scalePrefabContent = new GUIContent
+		{
+			text = "Scale down with world",
+			tooltip = "The prefab will scale with the map object"
+		};
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+			position.height = 2.5f * lineHeight;
+			EditorGUI.BeginChangeCheck();
+			property.FindPropertyRelative("prefab").objectReferenceValue = EditorGUI.ObjectField(new Rect(position.x, position.y, position.width, lineHeight), prefabContent, property.FindPropertyRelative("prefab").objectReferenceValue, typeof(UnityEngine.GameObject), false);
+			position.y += lineHeight;
+			EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("scaleDownWithWorld"), scalePrefabContent);
+			if(EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+			EditorGUI.EndProperty();
+		}
+
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			return 2.0f * lineHeight;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/SpawnPrefabOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/SpawnPrefabOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..37481c4e76bbfd1121a4bf1130b443a70a95a571
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/SpawnPrefabOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d2da764c4c82845efbcea6530b3c8120
+timeCreated: 1523922185
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..04cd7e80b2bbafa00d289284a097d3d1cc814c4d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleOptionsDrawer.cs
@@ -0,0 +1,23 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(Style))]
+	public class StyleOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			GUILayout.Space(-lineHeight);
+			EditorGUILayout.PropertyField(property.FindPropertyRelative("Id"), label);
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			// Reserve space for the total visible properties.
+			return lineHeight;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..36ae7ace78f1ac3e57e2e9c5a3027a4250420bab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 971e17905b31043f3914e1efda0ef7d7
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleSearchAttributeDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleSearchAttributeDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..48aef77a6c5001d2bbed7c1928d128fb9e2c0dbf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleSearchAttributeDrawer.cs
@@ -0,0 +1,57 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity;
+
+	/// <summary>
+	/// Custom property drawer for style searching. <para/>
+	/// Includes a search window to enable listing of styles associated with a username.
+	/// Requires a Mapbox token be set for the project.
+	/// </summary>
+	[CustomPropertyDrawer(typeof(StyleSearchAttribute))]
+	public class StyleSearchAttributeDrawer : PropertyDrawer
+	{
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
+			EditorGUILayout.HelpBox("Style Id and Modified date is required for optimized tileset feature. You can copy&paste those values from Styles page under your Mapbox Account or use the search feature to fetch them automatically.", MessageType.Info);
+			EditorGUI.indentLevel++;
+
+
+			var id = property.FindPropertyRelative("Id");
+
+			var name = property.FindPropertyRelative("Name");
+			var modified = property.FindPropertyRelative("Modified");
+
+			id.stringValue = EditorGUILayout.TextField("Style Id: ", id.stringValue);
+			name.stringValue = EditorGUILayout.TextField("Name: ", name.stringValue);
+			modified.stringValue = EditorGUILayout.TextField("Modified: ", modified.stringValue);
+
+			EditorGUILayout.BeginHorizontal();
+			if (string.IsNullOrEmpty(MapboxAccess.Instance.Configuration.AccessToken))
+			{
+				GUI.enabled = false;
+				GUILayout.Button("Need Mapbox Access Token");
+				GUI.enabled = true;
+			}
+			else
+			{
+				if (GUILayout.Button("Search"))
+				{
+					StyleSearchWindow.Open(property);
+				}
+			}
+
+			if (GUILayout.Button("Clear", GUILayout.Width(100)))
+			{
+				id.stringValue = "";
+				name.stringValue = "";
+				modified.stringValue = "";
+			}
+			EditorGUILayout.EndHorizontal();
+			EditorGUI.indentLevel--;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleSearchAttributeDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleSearchAttributeDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8e302590233afc6acc8c16b5e779404c1d613bd7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/StyleSearchAttributeDrawer.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ecd235e0566324c96b4039ca60f6b2fe
+timeCreated: 1500479391
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainColliderOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainColliderOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fa3d2421904bab71a861e4863e451d855fb90a62
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainColliderOptionsDrawer.cs
@@ -0,0 +1,27 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(TerrainColliderOptions))]
+	public class TerrainColliderOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			EditorGUI.BeginProperty(position, label, property);
+
+			position.y += lineHeight;
+			EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("addCollider"));
+
+			EditorGUI.EndProperty();
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			// Reserve space for the total visible properties.
+			return 3.0f * lineHeight;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainColliderOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainColliderOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..084e9e69a1f06d01004698531453ae747c3508c1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainColliderOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2749f8cef0c9ccc4b9f4ca3c94f34a4b
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainSideWallOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainSideWallOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..95a9573a9f4833f67b32efe6c6f07d967357c2a2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainSideWallOptionsDrawer.cs
@@ -0,0 +1,41 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(TerrainSideWallOptions))]
+	public class TerrainSideWallOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			var isSidewallActiveProp = property.FindPropertyRelative("isActive");
+			EditorGUI.BeginProperty(position, label, property);
+
+			EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), isSidewallActiveProp, new GUIContent("Show Sidewalls"));
+			if (isSidewallActiveProp.boolValue == true)
+			{
+				EditorGUI.indentLevel++;
+				position.y += lineHeight;
+				EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("wallHeight"));
+				position.y += lineHeight;
+				EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), property.FindPropertyRelative("wallMaterial"));
+				EditorGUI.indentLevel--;
+			}
+
+			EditorGUI.EndProperty();
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			// Reserve space for the total visible properties.
+			var isSidewallActiveProp = property.FindPropertyRelative("isActive");
+			if (isSidewallActiveProp.boolValue == true)
+			{
+				return 3.0f * lineHeight;
+			}
+			return 1.0f * lineHeight;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainSideWallOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainSideWallOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..353fa30e7d19a85310163b5a6ba737d7ad64d505
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/TerrainSideWallOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 7e18fe9e46c4e4426ae988fe03893a06
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/UnityLayerOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/UnityLayerOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e6fcb11312280ee58de56c5b38fc66798b86409d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/UnityLayerOptionsDrawer.cs
@@ -0,0 +1,34 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	[CustomPropertyDrawer(typeof(UnityLayerOptions))]
+	public class UnityLayerOptionsDrawer : PropertyDrawer
+	{
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			var addtoLayerProp = property.FindPropertyRelative("addToLayer");
+			EditorGUI.BeginProperty(position, label, property);
+
+			EditorGUI.PropertyField(new Rect(position.x, position.y, position.width, lineHeight), addtoLayerProp, new GUIContent { text = "Add to Unity layer" });
+			if (addtoLayerProp.boolValue == true)
+			{
+				EditorGUI.indentLevel++;
+				var layerId = property.FindPropertyRelative("layerId");
+				layerId.intValue = EditorGUILayout.LayerField("Layer", layerId.intValue);
+				EditorGUI.indentLevel--;
+			}
+
+			EditorGUI.EndProperty();
+		}
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			// Reserve space for the total visible properties.
+			return 1.0f * lineHeight;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/UnityLayerOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/UnityLayerOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..38ec70478593c280d3f3724fb5205b33d2d932bc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/UnityLayerOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: bdef06805a8a74efdac863d35cbc5ea3
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorFilterOptionsDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorFilterOptionsDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..aabe26c9bae645cb7a5e6d6cdbd4f6cfd5c81fcf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorFilterOptionsDrawer.cs
@@ -0,0 +1,273 @@
+namespace Mapbox.Editor
+{
+	using UnityEditor;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.MeshGeneration.Filters;
+	using System.Linq;
+	using System.Collections.Generic;
+
+	[CustomPropertyDrawer(typeof(VectorFilterOptions))]
+	public class VectorFilterOptionsDrawer : PropertyDrawer
+	{
+		//indices for tileJSON lookup
+		int _propertyIndex = 0;
+		List<string> _propertyNamesList = new List<string>();
+		GUIContent[] _propertyNameContent;
+
+		private string[] descriptionArray;
+		static float lineHeight = EditorGUIUtility.singleLineHeight;
+		private string objectId = "";
+		bool showFilters
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "VectorSubLayerProperties_showFilters");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "VectorSubLayerProperties_showFilters", value);
+			}
+		}
+
+		GUIContent operatorGui = new GUIContent { text = "Operator", tooltip = "Filter operator to apply. " };
+		GUIContent numValueGui = new GUIContent { text = "Num Value", tooltip = "Numeric value to match using the operator.  " };
+		GUIContent strValueGui = new GUIContent { text = "Str Value", tooltip = "String value to match using the operator.  " };
+		GUIContent minValueGui = new GUIContent { text = "Min", tooltip = "Minimum numeric value to match using the operator.  " };
+		GUIContent maxValueGui = new GUIContent { text = "Max", tooltip = "Maximum numeric value to match using the operator.  " };
+
+		public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+		{
+			objectId = property.serializedObject.targetObject.GetInstanceID().ToString();
+			VectorFilterOptions options = (VectorFilterOptions)EditorHelper.GetTargetObjectOfProperty(property);
+
+			showFilters = EditorGUILayout.Foldout(showFilters, new GUIContent { text = "Filters", tooltip = "Filter features in a vector layer based on criterion specified.  " });
+			if (showFilters)
+			{
+				var propertyFilters = property.FindPropertyRelative("filters");
+
+				for (int i = 0; i < propertyFilters.arraySize; i++)
+				{
+					DrawLayerFilter(property, propertyFilters, i, options);
+				}
+				if (propertyFilters.arraySize > 0)
+				{
+					EditorGUI.BeginChangeCheck();
+					EditorGUILayout.PropertyField(property.FindPropertyRelative("combinerType"));
+					if (EditorGUI.EndChangeCheck())
+					{
+						EditorHelper.CheckForModifiedProperty(property);
+					}
+				}
+				EditorGUI.indentLevel++;
+				EditorGUILayout.BeginHorizontal();
+				GUILayout.Space(EditorGUI.indentLevel * 12);
+
+				EditorGUI.BeginChangeCheck();
+				if (GUILayout.Button(new GUIContent("Add New Empty"), (GUIStyle)"minibutton"))
+				{
+					options.AddFilter();
+				}
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(property);
+				}
+				EditorGUILayout.EndHorizontal();
+				EditorGUI.indentLevel--;
+			}
+		}
+
+		public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+		{
+			return lineHeight;
+		}
+
+		private void DrawLayerFilter(SerializedProperty originalProperty, SerializedProperty propertyFilters, int index, VectorFilterOptions vectorFilterOptions)
+		{
+			var property = propertyFilters.GetArrayElementAtIndex(index);
+
+			var filterOperatorProp = property.FindPropertyRelative("filterOperator");
+
+			EditorGUILayout.BeginVertical();
+
+			EditorGUILayout.BeginHorizontal();
+
+			EditorGUILayout.LabelField(new GUIContent { text = "Key", tooltip = "Name of the property to use as key. This property is case sensitive." }, GUILayout.MaxWidth(150));
+
+			switch ((LayerFilterOperationType)filterOperatorProp.enumValueIndex)
+			{
+				case LayerFilterOperationType.IsEqual:
+				case LayerFilterOperationType.IsGreater:
+				case LayerFilterOperationType.IsLess:
+					EditorGUILayout.LabelField(operatorGui, GUILayout.MaxWidth(150));
+					EditorGUILayout.LabelField(numValueGui, GUILayout.MaxWidth(100));
+					break;
+				case LayerFilterOperationType.Contains:
+					EditorGUILayout.LabelField(operatorGui, GUILayout.MaxWidth(150));
+					EditorGUILayout.LabelField(strValueGui, GUILayout.MaxWidth(100));
+					break;
+				case LayerFilterOperationType.IsInRange:
+					EditorGUILayout.LabelField(operatorGui, GUILayout.MaxWidth(150));
+					EditorGUILayout.LabelField(minValueGui, GUILayout.MaxWidth(100));
+					EditorGUILayout.LabelField(maxValueGui, GUILayout.MaxWidth(100));
+					break;
+				default:
+					break;
+			}
+
+			EditorGUILayout.EndHorizontal();
+
+			EditorGUILayout.BeginHorizontal();
+
+			var selectedLayerName = originalProperty.FindPropertyRelative("_selectedLayerName").stringValue;
+
+			DrawPropertyDropDown(originalProperty, property);
+
+			EditorGUI.BeginChangeCheck();
+			filterOperatorProp.enumValueIndex = EditorGUILayout.Popup(filterOperatorProp.enumValueIndex, filterOperatorProp.enumDisplayNames, GUILayout.MaxWidth(150));
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			EditorGUI.BeginChangeCheck();
+			switch ((LayerFilterOperationType)filterOperatorProp.enumValueIndex)
+			{
+				case LayerFilterOperationType.IsEqual:
+				case LayerFilterOperationType.IsGreater:
+				case LayerFilterOperationType.IsLess:
+					property.FindPropertyRelative("Min").doubleValue = EditorGUILayout.DoubleField(property.FindPropertyRelative("Min").doubleValue, GUILayout.MaxWidth(100));
+					break;
+				case LayerFilterOperationType.Contains:
+					property.FindPropertyRelative("PropertyValue").stringValue = EditorGUILayout.TextField(property.FindPropertyRelative("PropertyValue").stringValue, GUILayout.MaxWidth(150));
+					break;
+				case LayerFilterOperationType.IsInRange:
+					property.FindPropertyRelative("Min").doubleValue = EditorGUILayout.DoubleField(property.FindPropertyRelative("Min").doubleValue, GUILayout.MaxWidth(100));
+					property.FindPropertyRelative("Max").doubleValue = EditorGUILayout.DoubleField(property.FindPropertyRelative("Max").doubleValue, GUILayout.MaxWidth(100));
+					break;
+				default:
+					break;
+			}
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(property);
+			}
+
+			if (GUILayout.Button(new GUIContent(" X "), (GUIStyle)"minibuttonright", GUILayout.Width(30)))
+			{
+				vectorFilterOptions.RemoveFilter(index);
+				propertyFilters.DeleteArrayElementAtIndex(index);
+			}
+
+			EditorGUILayout.EndHorizontal();
+
+			EditorGUILayout.EndVertical();
+		}
+
+		private void DrawPropertyDropDown(SerializedProperty originalProperty, SerializedProperty filterProperty)
+		{
+
+			var selectedLayerName = originalProperty.FindPropertyRelative("_selectedLayerName").stringValue;
+			AbstractMap mapObject = (AbstractMap)originalProperty.serializedObject.targetObject;
+			TileJsonData tileJsonData = mapObject.VectorData.GetTileJsonData();
+
+			if (string.IsNullOrEmpty(selectedLayerName) || !tileJsonData.PropertyDisplayNames.ContainsKey(selectedLayerName))
+			{
+				DrawWarningMessage();
+				return;
+			}
+
+			var parsedString = "no property selected";
+			var descriptionString = "no description available";
+			var propertyDisplayNames = tileJsonData.PropertyDisplayNames[selectedLayerName];
+			_propertyNamesList = new List<string>(propertyDisplayNames);
+
+			var propertyString = filterProperty.FindPropertyRelative("Key").stringValue;
+			//check if the selection is valid
+			if (_propertyNamesList.Contains(propertyString))
+			{
+				//if the layer contains the current layerstring, set it's index to match
+				_propertyIndex = propertyDisplayNames.FindIndex(s => s.Equals(propertyString));
+
+				//create guicontent for a valid layer
+				_propertyNameContent = new GUIContent[_propertyNamesList.Count];
+				for (int extIdx = 0; extIdx < _propertyNamesList.Count; extIdx++)
+				{
+					var parsedPropertyString = _propertyNamesList[extIdx].Split(new string[] { tileJsonData.optionalPropertiesString }, System.StringSplitOptions.None)[0].Trim();
+					_propertyNameContent[extIdx] = new GUIContent
+					{
+						text = _propertyNamesList[extIdx],
+						tooltip = tileJsonData.LayerPropertyDescriptionDictionary[selectedLayerName][parsedPropertyString]
+					};
+				}
+
+				//display popup
+				EditorGUI.BeginChangeCheck();
+				_propertyIndex = EditorGUILayout.Popup(_propertyIndex, _propertyNameContent, GUILayout.MaxWidth(150));
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(filterProperty);
+				}
+
+				//set new string values based on selection
+				parsedString = _propertyNamesList[_propertyIndex].Split(new string[] { tileJsonData.optionalPropertiesString }, System.StringSplitOptions.None)[0].Trim();
+				descriptionString = tileJsonData.LayerPropertyDescriptionDictionary[selectedLayerName][parsedString];
+
+			}
+			else
+			{
+				//if the selected layer isn't in the source, add a placeholder entry
+				_propertyIndex = 0;
+				_propertyNamesList.Insert(0, propertyString);
+
+				//create guicontent for an invalid layer
+				_propertyNameContent = new GUIContent[_propertyNamesList.Count];
+
+				//first property gets a unique tooltip
+				_propertyNameContent[0] = new GUIContent
+				{
+					text = _propertyNamesList[0],
+					tooltip = "Unavialable in Selected Layer"
+				};
+
+				for (int extIdx = 1; extIdx < _propertyNamesList.Count; extIdx++)
+				{
+					var parsedPropertyString = _propertyNamesList[extIdx].Split(new string[] { tileJsonData.optionalPropertiesString }, System.StringSplitOptions.None)[0].Trim();
+					_propertyNameContent[extIdx] = new GUIContent
+					{
+						text = _propertyNamesList[extIdx],
+						tooltip = tileJsonData.LayerPropertyDescriptionDictionary[selectedLayerName][parsedPropertyString]
+					};
+				}
+
+				//display popup
+				EditorGUI.BeginChangeCheck();
+				_propertyIndex = EditorGUILayout.Popup(_propertyIndex, _propertyNameContent, GUILayout.MaxWidth(150));
+				if (EditorGUI.EndChangeCheck())
+				{
+					EditorHelper.CheckForModifiedProperty(filterProperty);
+				}
+
+				//set new string values based on the offset
+				parsedString = _propertyNamesList[_propertyIndex].Split(new string[] { tileJsonData.optionalPropertiesString }, System.StringSplitOptions.None)[0].Trim();
+				descriptionString = "Unavailable in Selected Layer.";
+
+			}
+			EditorGUI.BeginChangeCheck();
+			filterProperty.FindPropertyRelative("Key").stringValue = parsedString;
+			if (EditorGUI.EndChangeCheck())
+			{
+				EditorHelper.CheckForModifiedProperty(filterProperty);
+			}
+			filterProperty.FindPropertyRelative("KeyDescription").stringValue = descriptionString;
+		}
+
+		private void DrawWarningMessage()
+		{
+			GUIStyle labelStyle = new GUIStyle(EditorStyles.popup);
+			labelStyle.fontStyle = FontStyle.Bold;
+			EditorGUILayout.LabelField(new GUIContent(), new GUIContent("No properties"), labelStyle, new GUILayoutOption[] { GUILayout.MaxWidth(155) });
+			return;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorFilterOptionsDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorFilterOptionsDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b6fd6da99509a9513573cbec1e7a7275b0f27dc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorFilterOptionsDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 477b699ee418f4c6cb9c7896e2137c15
+timeCreated: 1521052834
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorLayerPropertiesDrawer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorLayerPropertiesDrawer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3092f0c459609a87171a3da90ce2ee2931543c13
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorLayerPropertiesDrawer.cs
@@ -0,0 +1,138 @@
+namespace Mapbox.Editor
+{
+	using System;
+	using UnityEngine;
+	using UnityEditor;
+	using Mapbox.Unity.Map;
+
+	public class VectorLayerPropertiesDrawer
+	{
+		private string objectId = "";
+		/// <summary>
+		/// Gets or sets a value to show or hide Vector section <see cref="T:Mapbox.Editor.MapManagerEditor"/>.
+		/// </summary>
+		/// <value><c>true</c> if show vector; otherwise, <c>false</c>.</value>
+		bool ShowLocationPrefabs
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "VectorLayerProperties_showLocationPrefabs");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "VectorLayerProperties_showLocationPrefabs", value);
+			}
+		}
+
+		/// <summary>
+		/// Gets or sets a value to show or hide Vector section <see cref="T:Mapbox.Editor.MapManagerEditor"/>.
+		/// </summary>
+		/// <value><c>true</c> if show vector; otherwise, <c>false</c>.</value>
+		bool ShowFeatures
+		{
+			get
+			{
+				return EditorPrefs.GetBool(objectId + "VectorLayerProperties_showFeatures");
+			}
+			set
+			{
+				EditorPrefs.SetBool(objectId + "VectorLayerProperties_showFeatures", value);
+			}
+		}
+
+		private GUIContent _requiredTilesetIdGui = new GUIContent
+		{
+			text = "Required Tileset Id",
+			tooltip = "For location prefabs to spawn the \"streets-v7\" tileset needs to be a part of the Vector data source"
+		};
+
+		FeaturesSubLayerPropertiesDrawer _vectorSublayerDrawer = new FeaturesSubLayerPropertiesDrawer();
+		PointsOfInterestSubLayerPropertiesDrawer _poiSublayerDrawer = new PointsOfInterestSubLayerPropertiesDrawer();
+
+		void ShowSepartor()
+		{
+			EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
+			EditorGUILayout.Space();
+		}
+
+		public void DrawUI(SerializedProperty property)
+		{
+			objectId = property.serializedObject.targetObject.GetInstanceID().ToString();
+			var layerSourceProperty = property.FindPropertyRelative("sourceOptions");
+			var sourceTypeProperty = property.FindPropertyRelative("_sourceType");
+
+			var names = sourceTypeProperty.enumNames;
+			VectorSourceType sourceTypeValue = ((VectorSourceType) Enum.Parse(typeof(VectorSourceType), names[sourceTypeProperty.enumValueIndex]));
+			//VectorSourceType sourceTypeValue = (VectorSourceType)sourceTypeProperty.enumValueIndex;
+			string streets_v7 = MapboxDefaultVector.GetParameters(VectorSourceType.MapboxStreets).Id;
+			var layerSourceId = layerSourceProperty.FindPropertyRelative("layerSource.Id");
+			string layerString = layerSourceId.stringValue;
+
+			//Draw POI Section
+			if (sourceTypeValue == VectorSourceType.None)
+			{
+				return;
+			}
+
+			ShowLocationPrefabs = EditorGUILayout.Foldout(ShowLocationPrefabs, "POINTS OF INTEREST");
+			if (ShowLocationPrefabs)
+			{
+				if (sourceTypeValue != VectorSourceType.None && layerString.Contains(streets_v7))
+				{
+					GUI.enabled = false;
+					EditorGUILayout.TextField(_requiredTilesetIdGui, streets_v7);
+					GUI.enabled = true;
+					_poiSublayerDrawer.DrawUI(property);
+				}
+				else
+				{
+					EditorGUILayout.HelpBox("In order to place points of interest please add \"mapbox.mapbox-streets-v7\" to the data source.", MessageType.Error);
+				}
+			}
+
+			ShowSepartor();
+
+			//Draw Feature section.
+			ShowFeatures = EditorGUILayout.Foldout(ShowFeatures, "FEATURES");
+			if (ShowFeatures)
+			{
+				_vectorSublayerDrawer.DrawUI(property);
+			}
+		}
+
+		public void PostProcessLayerProperties(SerializedProperty property)
+		{
+
+			var layerSourceProperty = property.FindPropertyRelative("sourceOptions");
+			var sourceTypeProperty = property.FindPropertyRelative("_sourceType");
+			VectorSourceType sourceTypeValue = (VectorSourceType)sourceTypeProperty.enumValueIndex;
+			string streets_v7 = MapboxDefaultVector.GetParameters(VectorSourceType.MapboxStreets).Id;
+			var layerSourceId = layerSourceProperty.FindPropertyRelative("layerSource.Id");
+			string layerString = layerSourceId.stringValue;
+
+			if (ShowLocationPrefabs)
+			{
+				if (_poiSublayerDrawer.isLayerAdded == true && sourceTypeValue != VectorSourceType.None && layerString.Contains(streets_v7))
+				{
+					var prefabItemArray = property.FindPropertyRelative("locationPrefabList");
+					var prefabItem = prefabItemArray.GetArrayElementAtIndex(prefabItemArray.arraySize - 1);
+					PrefabItemOptions prefabItemOptionToAdd = (PrefabItemOptions)EditorHelper.GetTargetObjectOfProperty(prefabItem) as PrefabItemOptions;
+					((VectorLayerProperties)EditorHelper.GetTargetObjectOfProperty(property)).OnSubLayerPropertyAdded(new VectorLayerUpdateArgs { property = prefabItemOptionToAdd });
+					_poiSublayerDrawer.isLayerAdded = false;
+				}
+			}
+			if (ShowFeatures)
+			{
+				if (_vectorSublayerDrawer.isLayerAdded == true)
+				{
+					var subLayerArray = property.FindPropertyRelative("vectorSubLayers");
+					var subLayer = subLayerArray.GetArrayElementAtIndex(subLayerArray.arraySize - 1);
+					((VectorLayerProperties)EditorHelper.GetTargetObjectOfProperty(property)).OnSubLayerPropertyAdded(new VectorLayerUpdateArgs { property = EditorHelper.GetTargetObjectOfProperty(subLayer) as MapboxDataProperty });
+					_vectorSublayerDrawer.isLayerAdded = false;
+				}
+			}
+
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorLayerPropertiesDrawer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorLayerPropertiesDrawer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..03be0a3e49d69f20a761df1983289bfd864eeb9a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorLayerPropertiesDrawer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a944f887beada4bb2966cd531f64ffe5
+timeCreated: 1518043937
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ScenesListEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/ScenesListEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..54b45469f62bca229c7eb2c1e149be69b73a6f6a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ScenesListEditor.cs
@@ -0,0 +1,20 @@
+namespace Mapbox.Unity.Utilities.DebugTools
+{
+	using UnityEngine;
+	using UnityEditor;
+
+	[CustomEditor(typeof(ScenesList))]
+	public class ScenesListEditor : Editor
+	{
+		public override void OnInspectorGUI()
+		{
+			base.OnInspectorGUI();
+			ScenesList e = target as ScenesList;
+
+			if (GUILayout.Button("Link Listed Scenes"))
+			{
+				e.LinkScenes();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ScenesListEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/ScenesListEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eb4d0418e22546441e15783710759985900565a5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ScenesListEditor.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 20eb09b18012847c4a8c6108c22995a3
+timeCreated: 1521202168
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptableCreatorWindow.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptableCreatorWindow.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b9faee78981000daa66efad56510e4cb8f000171
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptableCreatorWindow.cs
@@ -0,0 +1,192 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using System.Collections.Generic;
+	using System;
+	using System.Linq;
+	using Mapbox.Unity.Map;
+
+	public class ScriptableCreatorWindow : EditorWindow
+	{
+		Type _type;
+		SerializedProperty _finalize;
+		SerializedProperty _container;
+		const float width = 620f;
+		const float height = 600f;
+		List<ScriptableObject> _assets;
+		bool[] _showElement;
+		Vector2 scrollPos;
+		int _index = -1;
+		private Action<UnityEngine.Object> _act;
+		int activeIndex = 0;
+
+		GUIStyle headerFoldout = new GUIStyle("Foldout");
+		GUIStyle header;
+
+		void OnEnable()
+		{
+			EditorApplication.playModeStateChanged += OnModeChanged;
+		}
+
+		void OnDisable()
+		{
+			EditorApplication.playModeStateChanged -= OnModeChanged;
+		}
+
+		void OnModeChanged(PlayModeStateChange state)
+		{
+			Close();
+		}
+
+		public static void Open(Type type, SerializedProperty p, int index = -1, Action<UnityEngine.Object> act = null, SerializedProperty containerProperty = null)
+		{
+			var window = GetWindow<ScriptableCreatorWindow>(true, "Select a module");
+			window._type = type;
+			window._finalize = p;
+			window._container = containerProperty;
+			window.position = new Rect(500, 200, width, height);
+			window._act = act;
+			if (index > -1)
+			{
+				window._index = index;
+			}
+
+			window.header = new GUIStyle("ShurikenModuleTitle")
+			{
+				font = (new GUIStyle("Label")).font,
+				border = new RectOffset(15, 7, 4, 4),
+				fixedHeight = 22,
+				contentOffset = new Vector2(20f, -2f)
+			};
+		}
+
+		void OnGUI()
+		{
+			if (_assets == null || _assets.Count == 0)
+			{
+				var list = AssetDatabase.FindAssets("t:" + _type.Name);
+				_assets = new List<ScriptableObject>();
+				foreach (var item in list)
+				{
+					var ne = AssetDatabase.GUIDToAssetPath(item);
+					var asset = AssetDatabase.LoadAssetAtPath(ne, _type) as ScriptableObject;
+					_assets.Add(asset);
+				}
+				_assets = _assets.OrderBy(x => x.GetType().Name).ThenBy(x => x.name).ToList();
+			}
+
+			var st = new GUIStyle();
+			st.padding = new RectOffset(15, 15, 15, 15);
+			scrollPos = EditorGUILayout.BeginScrollView(scrollPos, st);
+			for (int i = 0; i < _assets.Count; i++)
+			{
+				var asset = _assets[i];
+				if (asset == null) //yea turns out this can happen
+					continue;
+				GUILayout.BeginHorizontal();
+
+				var b = Header(string.Format("{0,-40} - {1, -15}", asset.GetType().Name, asset.name), i == activeIndex);
+
+				if (b)
+					activeIndex = i;
+				if (GUILayout.Button(new GUIContent("Select"), header, GUILayout.Width(80)))
+				{
+					if (_act != null)
+					{
+						_act(asset);
+					}
+					else
+					{
+						if (_index == -1)
+						{
+							_finalize.arraySize++;
+							_finalize.GetArrayElementAtIndex(_finalize.arraySize - 1).objectReferenceValue = asset;
+							_finalize.serializedObject.ApplyModifiedProperties();
+						}
+						else
+						{
+							_finalize.GetArrayElementAtIndex(_index).objectReferenceValue = asset;
+							_finalize.serializedObject.ApplyModifiedProperties();
+						}
+					}
+
+					MapboxDataProperty mapboxDataProperty = (MapboxDataProperty)EditorHelper.GetTargetObjectOfProperty(_container);
+					if (mapboxDataProperty != null)
+					{
+						mapboxDataProperty.HasChanged = true;
+					}
+
+					this.Close();
+				}
+
+				GUILayout.EndHorizontal();
+				if (b)
+				{
+					EditorGUILayout.Space();
+					EditorGUI.indentLevel += 4;
+					GUI.enabled = false;
+					var ed = UnityEditor.Editor.CreateEditor(asset);
+					ed.hideFlags = HideFlags.NotEditable;
+					ed.OnInspectorGUI();
+					GUI.enabled = true;
+					EditorGUI.indentLevel -= 4;
+					EditorGUILayout.Space();
+				}
+				EditorGUILayout.Space();
+			}
+			EditorGUILayout.EndScrollView();
+		}
+
+		public static T CreateAsset<T>() where T : ScriptableObject
+		{
+			T asset = ScriptableObject.CreateInstance<T>();
+
+			string path = AssetDatabase.GetAssetPath(Selection.activeObject);
+			if (path == "")
+			{
+				path = "Assets";
+			}
+			else if (System.IO.Path.GetExtension(path) != "")
+			{
+				path = path.Replace(System.IO.Path.GetFileName(AssetDatabase.GetAssetPath(Selection.activeObject)), "");
+			}
+
+			string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(path + "/" + Selection.activeObject.name + "_" + typeof(T).Name + ".asset");
+
+			AssetDatabase.CreateAsset(asset, assetPathAndName);
+
+			AssetDatabase.SaveAssets();
+			AssetDatabase.Refresh();
+			EditorUtility.FocusProjectWindow();
+			Selection.activeObject = asset;
+
+			return asset;
+		}
+
+
+		public bool Header(string title, bool show)
+		{
+			var rect = GUILayoutUtility.GetRect(16f, 22f, header);
+			GUI.Box(rect, title, header);
+
+			var foldoutRect = new Rect(rect.x + 4f, rect.y + 2f, 13f, 13f);
+			var e = Event.current;
+
+			if (e.type == EventType.Repaint)
+				headerFoldout.Draw(foldoutRect, false, false, show, false);
+
+			if (e.type == EventType.MouseDown)
+			{
+				if (rect.Contains(e.mousePosition))
+				{
+					show = !show;
+
+					e.Use();
+				}
+			}
+
+			return show;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptableCreatorWindow.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptableCreatorWindow.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ae396f51a10880f6cb7f9b75d1f9bd7a4ced745f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptableCreatorWindow.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 36de947caaca94e1f8985ccdf861ec08
+timeCreated: 1504124010
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptablePaletteEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptablePaletteEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c005d609caba135bbaeb5cd982e3c84be96ae13e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptablePaletteEditor.cs
@@ -0,0 +1,108 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+[CustomEditor(typeof(ScriptablePalette))]
+public class ScriptablePaletteEditor : Editor
+{
+    private const int _NUM_COLORS_MIN = 3;
+    private const int _NUM_COLORS_MAX = 10;
+
+    private const float _HELPER_TEXT_COLOR_VAL = 0.7f;
+
+    private const string _COLOR_FIELD_PREFIX = "Color {0}";
+
+    private const string _KEY_COLOR_INFO = "Color used as a seed for generating the color palette";
+    private const string _NUM_COLOR_INFO = "Number of colors to generate in the palette";
+
+    private const string _HUE_RANGE_INFO = "Maximum range that randomly generated colors will deviate from the key color hue";
+    private const string _SAT_RANGE_INFO = "Maximum range that randomly generated colors will deviate from the key color saturation";
+    private const string _VAL_RANGE_INFO = "Maximum range that randomly generated colors will deviate from the key color value";
+
+    override public void OnInspectorGUI()
+    {
+        ScriptablePalette sp = (ScriptablePalette)target;
+
+        EditorGUILayout.Space();
+
+        GUIStyle wrapTextStyle = new GUIStyle();
+        wrapTextStyle.wordWrap = true;
+        wrapTextStyle.normal.textColor = new Color(_HELPER_TEXT_COLOR_VAL, _HELPER_TEXT_COLOR_VAL, _HELPER_TEXT_COLOR_VAL, 1.0f);
+
+        EditorGUILayout.LabelField("Generate a palette for building colorization by defining a key color, palette size and hue/saturation/value range parameters.", wrapTextStyle);
+
+        EditorGUILayout.Space();
+
+        EditorGUILayout.LabelField("Base and detail layer colors will be randomly set from the generated palette at runtime for each building.", wrapTextStyle);
+
+        EditorGUILayout.Space();
+
+        GUIContent keyColorContent = new GUIContent("Key color", _KEY_COLOR_INFO);
+        sp.m_keyColor = EditorGUILayout.ColorField(keyColorContent, sp.m_keyColor);
+
+        EditorGUILayout.Space();
+
+        GUIContent numColorContent = new GUIContent("Palette Size", _NUM_COLOR_INFO);
+        sp.m_numColors = EditorGUILayout.IntSlider(numColorContent, sp.m_numColors, _NUM_COLORS_MIN, _NUM_COLORS_MAX);
+
+        GUIContent hueRangeContent = new GUIContent("Hue Range", _HUE_RANGE_INFO);
+        GUIContent satRangeContent = new GUIContent("Saturation Range", _SAT_RANGE_INFO);
+        GUIContent valRangeContent = new GUIContent("Value Range", _VAL_RANGE_INFO);
+
+        sp.m_hueRange = EditorGUILayout.Slider(hueRangeContent, sp.m_hueRange, 0, 1);
+        sp.m_saturationRange = EditorGUILayout.Slider(satRangeContent, sp.m_saturationRange, 0, 1);
+        sp.m_valueRange = EditorGUILayout.Slider(valRangeContent, sp.m_valueRange, 0, 1);
+
+        EditorGUILayout.Space();
+        
+        if (GUILayout.Button("Generate Palette"))
+        {
+            sp.GeneratePalette();
+        }
+
+        GUILayout.Space(20);
+
+        if(sp.m_colors == null || sp.m_colors.Length == 0)
+        {
+            EditorGUILayout.LabelField("No color palette defined!", EditorStyles.boldLabel);
+        }
+        else
+        {
+            for (int i = 0; i < sp.m_colors.Length; i++)
+            {
+                string fieldName = string.Format(_COLOR_FIELD_PREFIX, i);
+                sp.m_colors[i] = EditorGUILayout.ColorField(fieldName, sp.m_colors[i]);
+            }
+        }
+
+        GUILayout.Space(20);
+
+        EditorGUILayout.LabelField("Color Overrides", EditorStyles.boldLabel);
+
+        EditorGUILayout.Space();
+
+        EditorGUILayout.LabelField("Layer colors can be overriden by enabling any of the overrides below.", wrapTextStyle);
+        EditorGUILayout.LabelField("If a layer's color is overridden, it will be set directly from the defined override color.", wrapTextStyle);
+
+        EditorGUILayout.Space();
+
+        sp.m_setBaseColor_Override = EditorGUILayout.Toggle("Override base", sp.m_setBaseColor_Override);
+        if (sp.m_setBaseColor_Override)
+        {
+            sp.m_baseColor_Override = EditorGUILayout.ColorField("Base Color:", sp.m_baseColor_Override);
+        }
+
+        sp.m_setDetailColor1_Override = EditorGUILayout.Toggle("Override detail 1", sp.m_setDetailColor1_Override);
+        if (sp.m_setDetailColor1_Override)
+        {
+            sp.m_detailColor1_Override = EditorGUILayout.ColorField("Detail 1 Color:", sp.m_detailColor1_Override);
+        }
+
+        sp.m_setDetailColor2_Override = EditorGUILayout.Toggle("Override detail 2", sp.m_setDetailColor2_Override);
+        if (sp.m_setDetailColor2_Override)
+        {
+            sp.m_detailColor2_Override = EditorGUILayout.ColorField("Detail 2 Color:", sp.m_detailColor2_Override);
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptablePaletteEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptablePaletteEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..33ef28a993b8e8683be9f85bb45ab1b6c3a7332d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/ScriptablePaletteEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 448d686d65d1d4da18fa38d21964da3e
+timeCreated: 1520470837
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/StyleSearchWindow.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/StyleSearchWindow.cs
new file mode 100644
index 0000000000000000000000000000000000000000..99a2f4692b3321a9a9169452e73d7c10068e26ca
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/StyleSearchWindow.cs
@@ -0,0 +1,213 @@
+namespace Mapbox.Editor
+{
+	using UnityEngine;
+	using UnityEditor;
+	using System.Collections.Generic;
+	using Mapbox.Unity;
+	using Mapbox.Json;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.Map;
+	using System.Collections;
+	using UnityEngine.Networking;
+
+	public class StyleSearchWindow : EditorWindow
+	{
+		SerializedProperty _property;
+
+		string _username = "";
+		string _errorString = "";
+
+		List<Style> _styles;
+
+		const string searchFieldName = "searchField";
+		const float width = 320f;
+		const float height = 300f;
+
+		bool _isSearching = false;
+		Vector2 scrollPos;
+
+		void OnEnable()
+		{
+			EditorApplication.playModeStateChanged += OnModeChanged;
+		}
+
+		void OnDisable()
+		{
+			EditorApplication.playModeStateChanged -= OnModeChanged;
+		}
+
+		public static void Open(SerializedProperty property)
+		{
+			StyleSearchWindow window = GetWindow<StyleSearchWindow>(true, "Search for style");
+
+			window._property = property;
+			window._username = property.FindPropertyRelative("UserName").stringValue;
+			if (!string.IsNullOrEmpty(window._username))
+			{
+				window.Search(window._username);
+			}
+
+			Runnable.EnableRunnableInEditor();
+			Event e = Event.current;
+			Vector2 mousePos = GUIUtility.GUIToScreenPoint(e.mousePosition);
+			window.position = new Rect(mousePos.x - width, mousePos.y, width, height);
+			window.minSize = new Vector2(400, 500);
+		}
+
+		void OnModeChanged(PlayModeStateChange state)
+		{
+			Close();
+		}
+
+		void OnGUI()
+		{
+			var st = new GUIStyle();
+			st.padding = new RectOffset(15, 15, 15, 15);
+			EditorGUILayout.Space();
+			EditorGUILayout.Space();
+			EditorGUILayout.HelpBox("User styles are bound to usernames, enter your Mapbox Username to search for your personal styles.", MessageType.Info);
+			_username = EditorGUILayout.TextField("Mapbox Username: ", _username);
+
+
+			scrollPos = EditorGUILayout.BeginScrollView(scrollPos, st);
+
+			if (_username.Length == 0)
+			{
+				GUILayout.Label("Enter a user name");
+			}
+			else
+			{
+				if (!_isSearching)
+				{
+					if (GUILayout.Button("Search"))
+					{
+						Search(_username);
+						_property.FindPropertyRelative("UserName").stringValue = _username;
+						_property.serializedObject.ApplyModifiedProperties();
+					}
+				}
+
+				if (_styles != null && _styles.Count > 0)
+				{
+					GUILayout.Label("Results:");
+					for (int i = 0; i < _styles.Count; i++)
+					{
+						var style = _styles[i];
+						if (GUILayout.Button(style.Name))
+						{
+							_property.FindPropertyRelative("Name").stringValue = style.Name;
+							_property.FindPropertyRelative("Id").stringValue = style.Id;
+							_property.FindPropertyRelative("Modified").stringValue = style.Modified;
+							_property.FindPropertyRelative("UserName").stringValue = style.UserName;
+							_property.serializedObject.ApplyModifiedProperties();
+							EditorUtility.SetDirty(_property.serializedObject.targetObject);
+
+							Close();
+						}
+					}
+				}
+				else
+				{
+					if (_isSearching)
+					{
+						GUI.enabled = false;
+						if (GUILayout.Button("Searching..."))
+						{
+						}
+						GUI.enabled = true;
+					}
+					else if (!string.IsNullOrEmpty(_errorString))
+					{
+						EditorGUILayout.Space();
+						EditorGUILayout.Space();
+						EditorGUILayout.Space();
+						EditorGUILayout.Space();
+						EditorGUILayout.HelpBox(_errorString, MessageType.Error);
+						if (GUILayout.Button("Check username/get token with styles:list support"))
+						{
+							Application.OpenURL("https://www.mapbox.com/studio/account/tokens/");
+						}
+					}
+					else
+						GUILayout.Label("No search results");
+				}
+			}
+
+			EditorGUILayout.EndScrollView();
+
+
+		}
+
+		void Search(string searchString)
+		{
+			_errorString = "";
+			if (!string.IsNullOrEmpty(searchString) && !_isSearching)
+			{
+				Runnable.Run(ListStyles(MapboxAccess.Instance.Configuration.AccessToken));
+				_isSearching = true;
+			}
+		}
+
+		IEnumerator ListStyles(string token)
+		{
+#if UNITY_2017_1_OR_NEWER
+			UnityWebRequest webRequest = new UnityWebRequest(Utils.Constants.BaseAPI + string.Format("styles/v1/{0}?access_token={1}", _username, token))
+			{
+				downloadHandler = new DownloadHandlerBuffer()
+			};
+			yield return webRequest.SendWebRequest();
+
+			while (!webRequest.isDone)
+			{
+				yield return 0;
+			}
+			var json = webRequest.downloadHandler.text;
+			if (!string.IsNullOrEmpty(json))
+			{
+				ParseResponse(json);
+			}
+#else
+			// "https://api.mapbox.com/styles/v1/{username}?access_token=your-access-token"
+			var www = new WWW(Utils.Constants.BaseAPI + string.Format("styles/v1/{0}?access_token={1}", _username, token));
+			while (!www.isDone)
+			{
+				yield return 0;
+			}
+			var json = www.text;
+			if (!string.IsNullOrEmpty(json))
+			{
+				ParseResponse(json);
+			}
+#endif
+		}
+
+		void ParseResponse(string json)
+		{
+			_styles = new List<Style>();
+			if (json.Contains("This API requires a token with styles:list scope"))
+			{
+				_errorString = "The Mapbox Access Token you're using at the moment doesn't have \"styles: list\" scope this feature requires.\r\n\r\nYou can create a new token from link below and check \"styles: list\" in the Token Scopes list to enable this feature.";
+				_isSearching = false;
+				return;
+			}
+
+			if (json.Contains("Forbidden"))
+			{
+				_errorString = "Forbidden!";
+				_isSearching = false;
+				return;
+			}
+			var settings = new JsonSerializerSettings();
+			settings.DateParseHandling = DateParseHandling.None;
+			var styleArray = JsonConvert.DeserializeObject<object[]>(json);
+			foreach (var style in styleArray)
+			{
+				var styleData = JsonConvert.DeserializeObject<Dictionary<string, object>>(style.ToString(), settings);
+				string id = string.Format("mapbox://styles/{0}/{1}", _username, styleData["id"]);
+				_styles.Add(new Style() { Name = styleData["name"].ToString(), Id = id, Modified = styleData["modified"].ToString(), UserName = _username });
+			}
+			_isSearching = false;
+			Repaint();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/StyleSearchWindow.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/StyleSearchWindow.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a5c06e780f62cf18d29bec0616ae90867a318bd4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/StyleSearchWindow.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 18df46ce639d943da85b5586c62e7d47
+timeCreated: 1500479391
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElement.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElement.cs
new file mode 100644
index 0000000000000000000000000000000000000000..31f24c6c37544ea10de2a163eee5f91cfb1d95b9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElement.cs
@@ -0,0 +1,61 @@
+namespace Mapbox.Editor
+{
+	using System;
+	using System.Collections.Generic;
+	using UnityEngine;
+	[Serializable]
+	public class TreeElement
+	{
+		[SerializeField] int m_ID;
+		[SerializeField] string m_Name;
+		[SerializeField] int m_Depth;
+		[NonSerialized] TreeElement m_Parent;
+		[NonSerialized] List<TreeElement> m_Children;
+
+		public int depth
+		{
+			get { return m_Depth; }
+			set { m_Depth = value; }
+		}
+
+		public TreeElement parent
+		{
+			get { return m_Parent; }
+			set { m_Parent = value; }
+		}
+
+		public List<TreeElement> children
+		{
+			get { return m_Children; }
+			set { m_Children = value; }
+		}
+
+		public bool hasChildren
+		{
+			get { return children != null && children.Count > 0; }
+		}
+
+		public string name
+		{
+			get { return m_Name; } set { m_Name = value; }
+		}
+
+		public int id
+		{
+			get { return m_ID; } set { m_ID = value; }
+		}
+
+		public TreeElement ()
+		{
+		}
+
+		public TreeElement (string name, int depth, int id)
+		{
+			m_Name = name;
+			m_ID = id;
+			m_Depth = depth;
+		}
+	}
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElement.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElement.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e7cff49c378c2a44b782031e37bbc69cc9515b19
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElement.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: f63e21fe365f0458f8b260a851b53f26
+timeCreated: 1530039146
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElementUtility.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElementUtility.cs
new file mode 100644
index 0000000000000000000000000000000000000000..995f940efdd26a348815641e971a68438a7e05c3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElementUtility.cs
@@ -0,0 +1,317 @@
+namespace Mapbox.Editor
+{
+	using System;
+	using System.Collections.Generic;
+	using System.Linq;
+	using NUnit.Framework;
+	using UnityEditor;
+
+	// TreeElementUtility and TreeElement are useful helper classes for backend tree data structures.
+	// See tests at the bottom for examples of how to use.
+
+	public static class TreeElementUtility
+	{
+		public static void TreeToList<T>(T root, IList<T> result) where T : TreeElement
+		{
+			if (result == null)
+				throw new NullReferenceException("The input 'IList<T> result' list is null");
+			result.Clear();
+
+			Stack<T> stack = new Stack<T>();
+			stack.Push(root);
+
+			while (stack.Count > 0)
+			{
+				T current = stack.Pop();
+				result.Add(current);
+
+				if (current.children != null && current.children.Count > 0)
+				{
+					for (int i = current.children.Count - 1; i >= 0; i--)
+					{
+						stack.Push((T)current.children[i]);
+					}
+				}
+			}
+		}
+
+		// Returns the root of the tree parsed from the list (always the first element).
+		// Important: the first item and is required to have a depth value of -1. 
+		// The rest of the items should have depth >= 0. 
+		public static T ListToTree<T>(IList<T> list) where T : TreeElement
+		{
+			// Validate input
+			ValidateDepthValues (list);
+
+			// Clear old states
+			foreach (var element in list)
+			{
+				element.parent = null;
+				element.children = null;
+			}
+
+			// Set child and parent references using depth info
+			for (int parentIndex = 0; parentIndex < list.Count; parentIndex++)
+			{
+				var parent = list[parentIndex];
+				bool alreadyHasValidChildren = parent.children != null;
+				if (alreadyHasValidChildren)
+					continue;
+
+				int parentDepth = parent.depth;
+				int childCount = 0;
+
+				// Count children based depth value, we are looking at children until it's the same depth as this object
+				for (int i = parentIndex + 1; i < list.Count; i++)
+				{
+					if (list[i].depth == parentDepth + 1)
+						childCount++;
+					if (list[i].depth <= parentDepth)
+						break;
+				}
+
+				// Fill child array
+				List<TreeElement> childList = null;
+				if (childCount != 0)
+				{
+					childList = new List<TreeElement>(childCount); // Allocate once
+					childCount = 0;
+					for (int i = parentIndex + 1; i < list.Count; i++)
+					{
+						if (list[i].depth == parentDepth + 1)
+						{
+							list[i].parent = parent;
+							childList.Add(list[i]);
+							childCount++;
+						}
+
+						if (list[i].depth <= parentDepth)
+							break;
+					}
+				}
+
+				parent.children = childList;
+			}
+
+			return list[0];
+		}
+
+		// Check state of input list
+		public static void ValidateDepthValues<T>(IList<T> list) where T : TreeElement
+		{
+			if (list.Count == 0)
+				throw new ArgumentException("list should have items, count is 0, check before calling ValidateDepthValues", "list");
+
+			if (list[0].depth != -1)
+				throw new ArgumentException("list item at index 0 should have a depth of -1 (since this should be the hidden root of the tree). Depth is: " + list[0].depth, "list");
+
+			for (int i = 0; i < list.Count - 1; i++)
+			{
+				int depth = list[i].depth;
+				int nextDepth = list[i + 1].depth;
+				if (nextDepth > depth && nextDepth - depth > 1)
+					throw new ArgumentException(string.Format("Invalid depth info in input list. Depth cannot increase more than 1 per row. Index {0} has depth {1} while index {2} has depth {3}", i, depth, i + 1, nextDepth));
+			}
+
+			for (int i = 1; i < list.Count; ++i)
+				if (list[i].depth < 0)
+					throw new ArgumentException("Invalid depth value for item at index " + i + ". Only the first item (the root) should have depth below 0.");
+
+			if (list.Count > 1 && list[1].depth != 0)
+				throw new ArgumentException("Input list item at index 1 is assumed to have a depth of 0", "list");
+		}
+
+
+		// For updating depth values below any given element e.g after reparenting elements
+		public static void UpdateDepthValues<T>(T root) where T : TreeElement
+		{
+			if (root == null)
+				throw new ArgumentNullException("root", "The root is null");
+
+			if (!root.hasChildren)
+				return;
+
+			Stack<TreeElement> stack = new Stack<TreeElement>();
+			stack.Push(root);
+			while (stack.Count > 0)
+			{
+				TreeElement current = stack.Pop();
+				if (current.children != null)
+				{
+					foreach (var child in current.children)
+					{
+						child.depth = current.depth + 1;
+						stack.Push(child);
+					}
+				}
+			}
+		}
+
+		// Returns true if there is an ancestor of child in the elements list
+		static bool IsChildOf<T>(T child, IList<T> elements) where T : TreeElement
+		{
+			while (child != null)
+			{
+				child = (T)child.parent;
+				if (elements.Contains(child))
+					return true;
+			}
+			return false;
+		}
+
+		public static IList<T> FindCommonAncestorsWithinList<T>(IList<T> elements) where T : TreeElement
+		{
+			if (elements.Count == 1)
+				return new List<T>(elements);
+
+			List<T> result = new List<T>(elements);
+			result.RemoveAll(g => IsChildOf(g, elements));
+			return result;
+		}
+	}
+
+
+
+	class TreeElementUtilityTests
+	{
+		class TestElement : TreeElement
+		{
+			public TestElement (string name, int depth)
+			{
+				this.name = name;
+				this.depth = depth;
+			}
+		}
+
+		#region Tests
+		[Test]
+		public static void TestTreeToListWorks()
+		{
+			// Arrange
+			TestElement root = new TestElement("root", -1);
+			root.children = new List<TreeElement>();
+			root.children.Add(new TestElement("A", 0));
+			root.children.Add(new TestElement("B", 0));
+			root.children.Add(new TestElement("C", 0));
+
+			root.children[1].children = new List<TreeElement>();
+			root.children[1].children.Add(new TestElement("Bchild", 1));
+
+			root.children[1].children[0].children = new List<TreeElement>();
+			root.children[1].children[0].children.Add(new TestElement("Bchildchild", 2));
+
+			// Test
+			List<TestElement> result = new List<TestElement>();
+			TreeElementUtility.TreeToList(root, result);
+
+			// Assert
+			string[] namesInCorrectOrder = { "root", "A", "B", "Bchild", "Bchildchild", "C" };
+			Assert.AreEqual(namesInCorrectOrder.Length, result.Count, "Result count is not match");
+			for (int i = 0; i < namesInCorrectOrder.Length; ++i)
+			{
+				Assert.AreEqual(namesInCorrectOrder[i], result[i].name);
+			}
+			TreeElementUtility.ValidateDepthValues(result);
+		}
+
+
+		[Test]
+		public static void TestListToTreeWorks()
+		{
+			// Arrange
+			var list = new List<TestElement>();
+			list.Add(new TestElement("root", -1));
+			list.Add(new TestElement("A", 0));
+			list.Add(new TestElement("B", 0));
+			list.Add(new TestElement("Bchild", 1));
+			list.Add(new TestElement("Bchildchild", 2));
+			list.Add(new TestElement("C", 0));
+
+			// Test
+			TestElement root = TreeElementUtility.ListToTree(list);
+
+			// Assert
+			Assert.AreEqual("root", root.name);
+			Assert.AreEqual(3, root.children.Count);
+			Assert.AreEqual("C", root.children[2].name);
+			Assert.AreEqual("Bchildchild", root.children[1].children[0].children[0].name);
+		}
+
+		[Test]
+		public static void TestListToTreeThrowsExceptionIfRootIsInvalidDepth()
+		{
+			// Arrange
+			var list = new List<TestElement>();
+			list.Add(new TestElement("root", 0));
+			list.Add(new TestElement("A", 1));
+			list.Add(new TestElement("B", 1));
+			list.Add(new TestElement("Bchild", 2));
+
+			// Test
+			bool catchedException = false;
+			try
+			{
+				TreeElementUtility.ListToTree(list);
+			}
+			catch (Exception)
+			{
+				catchedException = true;
+			}
+
+			// Assert
+			Assert.IsTrue(catchedException, "We require the root.depth to be -1, here it is: " + list[0].depth);
+		
+		}
+
+		[Test]
+		public static void FindCommonAncestorsWithinListWorks()
+		{
+			// Arrange
+			var list = new List<TestElement>();
+			list.Add(new TestElement("root", -1));
+			list.Add(new TestElement("A", 0));
+			var b0 = new TestElement("B", 0);
+			var b1 = new TestElement("Bchild", 1);
+			var b2 = new TestElement("Bchildchild", 2);
+			list.Add(b0);
+			list.Add(b1);
+			list.Add(b2);
+
+			var c0 = new TestElement ("C", 0);
+			list.Add(c0);
+		
+			var f0 = new TestElement("F", 0);
+			var f1 = new TestElement("Fchild", 1);
+			var f2 = new TestElement("Fchildchild", 2);
+			list.Add(f0);
+			list.Add(f1);
+			list.Add(f2);
+		
+			// Init tree structure: set children and parent properties
+			TreeElementUtility.ListToTree(list);
+
+	
+			// Single element
+			TestElement[] input = {b1};
+			TestElement[] expectedResult = {b1};
+			var result = TreeElementUtility.FindCommonAncestorsWithinList(input).ToArray();
+			Assert.IsTrue(ArrayUtility.ArrayEquals(expectedResult, result), "Single input should return single output");
+
+			// Single sub tree
+			input = new[] {b1, b2};
+			expectedResult = new[] {b1};
+			result = TreeElementUtility.FindCommonAncestorsWithinList (input).ToArray ();
+			Assert.IsTrue(ArrayUtility.ArrayEquals(expectedResult, result), "Common ancestor should only be b1 ");
+
+			// Multiple sub trees
+			input = new[] { b0, b2, f0, f2, c0 };
+			expectedResult = new[] { b0, f0, c0 };
+			result = TreeElementUtility.FindCommonAncestorsWithinList(input).ToArray();
+			Assert.IsTrue(ArrayUtility.ArrayEquals(expectedResult, result), "Common ancestor should only be b0, f0, c0");
+		}
+
+		#endregion	
+	}
+
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElementUtility.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElementUtility.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c5ce1b89fbb3559a0ca06121c5ed118f7182cca0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeElementUtility.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 1269acacf72d3424aacd80756038512c
+timeCreated: 1530039146
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/TreeModel.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeModel.cs
new file mode 100644
index 0000000000000000000000000000000000000000..82e6a2e58912ac3943d2832f20755c294d8308e8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeModel.cs
@@ -0,0 +1,286 @@
+namespace Mapbox.Editor
+{
+	using System;
+	using System.Collections.Generic;
+	using System.Linq;
+	using NUnit.Framework;
+	// The TreeModel is a utility class working on a list of serializable TreeElements where the order and the depth of each TreeElement define
+	// the tree structure. Note that the TreeModel itself is not serializable (in Unity we are currently limited to serializing lists/arrays) but the 
+	// input list is.
+	// The tree representation (parent and children references) are then build internally using TreeElementUtility.ListToTree (using depth 
+	// values of the elements). 
+	// The first element of the input list is required to have depth == -1 (the hiddenroot) and the rest to have
+	// depth >= 0 (otherwise an exception will be thrown)
+
+	public class TreeModel<T> where T : TreeElement
+	{
+		IList<T> m_Data;
+		T m_Root;
+		int m_MaxID;
+	
+		public T root { get { return m_Root; } set { m_Root = value; } }
+		public event Action modelChanged;
+		public int numberOfDataElements
+		{
+			get { return m_Data.Count; }
+		}
+
+		public TreeModel (IList<T> data)
+		{
+			SetData (data);
+		}
+
+		public T Find (int id)
+		{
+			return m_Data.FirstOrDefault (element => element.id == id);
+		}
+	
+		public void SetData (IList<T> data)
+		{
+			Init (data);
+		}
+
+		void Init (IList<T> data)
+		{
+			if (data == null)
+				throw new ArgumentNullException("data", "Input data is null. Ensure input is a non-null list.");
+
+			m_Data = data;
+			if (m_Data.Count > 0)
+				m_Root = TreeElementUtility.ListToTree(data);
+
+			m_MaxID = m_Data.Max(e => e.id);
+		}
+
+		public int GenerateUniqueID ()
+		{
+			return ++m_MaxID;
+		}
+
+		public IList<int> GetAncestors (int id)
+		{
+			var parents = new List<int>();
+			TreeElement T = Find(id);
+			if (T != null)
+			{
+				while (T.parent != null)
+				{
+					parents.Add(T.parent.id);
+					T = T.parent;
+				}
+			}
+			return parents;
+		}
+
+		public IList<int> GetDescendantsThatHaveChildren (int id)
+		{
+			T searchFromThis = Find(id);
+			if (searchFromThis != null)
+			{
+				return GetParentsBelowStackBased(searchFromThis);
+			}
+			return new List<int>();
+		}
+
+		IList<int> GetParentsBelowStackBased(TreeElement searchFromThis)
+		{
+			Stack<TreeElement> stack = new Stack<TreeElement>();
+			stack.Push(searchFromThis);
+
+			var parentsBelow = new List<int>();
+			while (stack.Count > 0)
+			{
+				TreeElement current = stack.Pop();
+				if (current.hasChildren)
+				{
+					parentsBelow.Add(current.id);
+					foreach (var T in current.children)
+					{
+						stack.Push(T);
+					}
+				}
+			}
+
+			return parentsBelow;
+		}
+
+		public void RemoveElements (IList<int> elementIDs)
+		{
+			IList<T> elements = m_Data.Where (element => elementIDs.Contains (element.id)).ToArray ();
+			RemoveElements (elements);
+		}
+
+		public void RemoveElements (IList<T> elements)
+		{
+			foreach (var element in elements)
+				if (element == m_Root)
+					throw new ArgumentException("It is not allowed to remove the root element");
+		
+			var commonAncestors = TreeElementUtility.FindCommonAncestorsWithinList (elements);
+
+			foreach (var element in commonAncestors)
+			{
+				element.parent.children.Remove (element);
+				element.parent = null;
+			}
+
+			TreeElementUtility.TreeToList(m_Root, m_Data);
+
+			Changed();
+		}
+
+		public void AddElements (IList<T> elements, TreeElement parent, int insertPosition)
+		{
+			if (elements == null)
+				throw new ArgumentNullException("elements", "elements is null");
+			if (elements.Count == 0)
+				throw new ArgumentNullException("elements", "elements Count is 0: nothing to add");
+			if (parent == null)
+				throw new ArgumentNullException("parent", "parent is null");
+
+			if (parent.children == null)
+				parent.children = new List<TreeElement>();
+
+			parent.children.InsertRange(insertPosition, elements.Cast<TreeElement> ());
+			foreach (var element in elements)
+			{
+				element.parent = parent;
+				element.depth = parent.depth + 1;
+				TreeElementUtility.UpdateDepthValues(element);
+			}
+
+			TreeElementUtility.TreeToList(m_Root, m_Data);
+
+			Changed();
+		}
+
+		public void AddRoot (T root)
+		{
+			if (root == null)
+				throw new ArgumentNullException("root", "root is null");
+
+			if (m_Data == null)
+				throw new InvalidOperationException("Internal Error: data list is null");
+
+			if (m_Data.Count != 0)
+				throw new InvalidOperationException("AddRoot is only allowed on empty data list");
+
+			root.id = GenerateUniqueID ();
+			root.depth = -1;
+			m_Data.Add (root);
+		}
+
+		public void AddElement (T element, TreeElement parent, int insertPosition)
+		{
+			if (element == null)
+				throw new ArgumentNullException("element", "element is null");
+			if (parent == null)
+				throw new ArgumentNullException("parent", "parent is null");
+		
+			if (parent.children == null)
+				parent.children = new List<TreeElement> ();
+
+			parent.children.Insert (insertPosition, element);
+			element.parent = parent;
+
+			TreeElementUtility.UpdateDepthValues(parent);
+			TreeElementUtility.TreeToList(m_Root, m_Data);
+
+			Changed ();
+		}
+
+		public void MoveElements(TreeElement parentElement, int insertionIndex, List<TreeElement> elements)
+		{
+			if (insertionIndex < 0)
+				throw new ArgumentException("Invalid input: insertionIndex is -1, client needs to decide what index elements should be reparented at");
+
+			// Invalid reparenting input
+			if (parentElement == null)
+				return;
+
+			// We are moving items so we adjust the insertion index to accomodate that any items above the insertion index is removed before inserting
+			if (insertionIndex > 0)
+				insertionIndex -= parentElement.children.GetRange(0, insertionIndex).Count(elements.Contains);
+
+			// Remove draggedItems from their parents
+			foreach (var draggedItem in elements)
+			{
+				draggedItem.parent.children.Remove(draggedItem);	// remove from old parent
+				draggedItem.parent = parentElement;					// set new parent
+			} 
+
+			if (parentElement.children == null)
+				parentElement.children = new List<TreeElement>();
+
+			// Insert dragged items under new parent
+			parentElement.children.InsertRange(insertionIndex, elements);
+
+			TreeElementUtility.UpdateDepthValues (root);
+			TreeElementUtility.TreeToList (m_Root, m_Data);
+
+			Changed ();
+		}
+
+		void Changed ()
+		{
+			if (modelChanged != null)
+				modelChanged ();
+		}
+	}
+
+
+	#region Tests
+	class TreeModelTests
+	{
+		[Test]
+		public static void TestTreeModelCanAddElements()
+		{
+			var root = new TreeElement {name = "Root", depth = -1};
+			var listOfElements = new List<TreeElement>();
+			listOfElements.Add(root);
+
+			var model = new TreeModel<TreeElement>(listOfElements);
+			model.AddElement(new TreeElement { name = "Element"  }, root, 0);
+			model.AddElement(new TreeElement { name = "Element " + root.children.Count }, root, 0);
+			model.AddElement(new TreeElement { name = "Element " + root.children.Count }, root, 0);
+			model.AddElement(new TreeElement { name = "Sub Element" }, root.children[1], 0);
+
+			// Assert order is correct
+			string[] namesInCorrectOrder = { "Root", "Element 2", "Element 1", "Sub Element", "Element" };
+			Assert.AreEqual(namesInCorrectOrder.Length, listOfElements.Count, "Result count does not match");
+			for (int i = 0; i < namesInCorrectOrder.Length; ++i)
+				Assert.AreEqual(namesInCorrectOrder[i], listOfElements[i].name);
+
+			// Assert depths are valid
+			TreeElementUtility.ValidateDepthValues(listOfElements);
+		}
+	
+		[Test]
+		public static void TestTreeModelCanRemoveElements()
+		{
+			var root = new TreeElement { name = "Root", depth = -1 };
+			var listOfElements = new List<TreeElement>();
+			listOfElements.Add(root);
+
+			var model = new TreeModel<TreeElement>(listOfElements);
+			model.AddElement(new TreeElement { name = "Element"  }, root, 0);
+			model.AddElement(new TreeElement { name = "Element " + root.children.Count }, root, 0);
+			model.AddElement(new TreeElement { name = "Element " + root.children.Count }, root, 0);
+			model.AddElement(new TreeElement { name = "Sub Element" }, root.children[1], 0);
+
+			model.RemoveElements(new[] { root.children[1].children[0], root.children[1] });
+
+			// Assert order is correct
+			string[] namesInCorrectOrder = { "Root", "Element 2", "Element" };
+			Assert.AreEqual(namesInCorrectOrder.Length, listOfElements.Count, "Result count does not match");
+			for (int i = 0; i < namesInCorrectOrder.Length; ++i)
+				Assert.AreEqual(namesInCorrectOrder[i], listOfElements[i].name);
+
+			// Assert depths are valid
+			TreeElementUtility.ValidateDepthValues(listOfElements);
+		}
+	}
+
+	#endregion
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/TreeModel.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeModel.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..87986dfa86e567265e1dadaa32c456322413ffc3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeModel.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4b748e876472c400faf673d7a586ca6b
+timeCreated: 1530039146
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/TreeViewWithTreeModel.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeViewWithTreeModel.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9051615b25b69af69a6f13f7712d330a5b63e9c0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeViewWithTreeModel.cs
@@ -0,0 +1,239 @@
+namespace Mapbox.Editor
+{
+	using System;
+	using System.Collections.Generic;
+	using System.Linq;
+	using UnityEditor;
+	using UnityEditor.IMGUI.Controls;
+	using UnityEngine;
+
+	internal class TreeViewItem<T> : TreeViewItem where T : TreeElement
+	{
+		public T data { get; set; }
+
+		public TreeViewItem (int id, int depth, string displayName, T data) : base (id, depth, displayName)
+		{
+			this.data = data;
+		}
+	}
+
+	internal class TreeViewWithTreeModel<T> : TreeView where T : TreeElement
+	{
+		TreeModel<T> m_TreeModel;
+		readonly List<TreeViewItem> m_Rows = new List<TreeViewItem>(100);
+		public event Action treeChanged;
+
+		public TreeModel<T> treeModel { get { return m_TreeModel; } }
+		public event Action<IList<TreeViewItem>>  beforeDroppingDraggedItems;
+
+
+		public TreeViewWithTreeModel (TreeViewState state, TreeModel<T> model) : base (state)
+		{
+			Init (model);
+		}
+
+		public TreeViewWithTreeModel (TreeViewState state, MultiColumnHeader multiColumnHeader, TreeModel<T> model) : base(state, multiColumnHeader)
+		{
+			Init (model);
+		}
+
+		void Init (TreeModel<T> model)
+		{
+			m_TreeModel = model;
+			m_TreeModel.modelChanged += ModelChanged;
+		}
+
+		void ModelChanged ()
+		{
+			if (treeChanged != null)
+				treeChanged ();
+
+			Reload ();
+		}
+
+		protected override TreeViewItem BuildRoot()
+		{
+			int depthForHiddenRoot = -1;
+			return new TreeViewItem<T>(m_TreeModel.root.id, depthForHiddenRoot, m_TreeModel.root.name, m_TreeModel.root);
+		}
+
+		protected override IList<TreeViewItem> BuildRows (TreeViewItem root)
+		{
+			if (m_TreeModel.root == null)
+			{
+				Debug.LogError ("tree model root is null. did you call SetData()?");
+			}
+
+			m_Rows.Clear ();
+			if (!string.IsNullOrEmpty(searchString))
+			{
+				Search (m_TreeModel.root, searchString, m_Rows);
+			}
+			else
+			{
+				if (m_TreeModel.root.hasChildren)
+					AddChildrenRecursive(m_TreeModel.root, 0, m_Rows);
+			}
+
+			// We still need to setup the child parent information for the rows since this 
+			// information is used by the TreeView internal logic (navigation, dragging etc)
+			SetupParentsAndChildrenFromDepths (root, m_Rows);
+
+			return m_Rows;
+		}
+
+		void AddChildrenRecursive (T parent, int depth, IList<TreeViewItem> newRows)
+		{
+			foreach (T child in parent.children)
+			{
+				var item = new TreeViewItem<T>(child.id, depth, child.name, child);
+				newRows.Add(item);
+
+				if (child.hasChildren)
+				{
+					if (IsExpanded(child.id))
+					{
+						AddChildrenRecursive (child, depth + 1, newRows);
+					}
+					else
+					{
+						item.children = CreateChildListForCollapsedParent();
+					}
+				}
+			}
+		}
+
+		void Search(T searchFromThis, string search, List<TreeViewItem> result)
+		{
+			if (string.IsNullOrEmpty(search))
+				throw new ArgumentException("Invalid search: cannot be null or empty", "search");
+
+			const int kItemDepth = 0; // tree is flattened when searching
+
+			Stack<T> stack = new Stack<T>();
+			foreach (var element in searchFromThis.children)
+				stack.Push((T)element);
+			while (stack.Count > 0)
+			{
+				T current = stack.Pop();
+				// Matches search?
+				if (current.name.IndexOf(search, StringComparison.OrdinalIgnoreCase) >= 0)
+				{
+					result.Add(new TreeViewItem<T>(current.id, kItemDepth, current.name, current));
+				}
+
+				if (current.children != null && current.children.Count > 0)
+				{
+					foreach (var element in current.children)
+					{
+						stack.Push((T)element);
+					}
+				}
+			}
+			SortSearchResult(result);
+		}
+
+		protected virtual void SortSearchResult (List<TreeViewItem> rows)
+		{
+			rows.Sort ((x,y) => EditorUtility.NaturalCompare (x.displayName, y.displayName)); // sort by displayName by default, can be overriden for multicolumn solutions
+		}
+	
+		protected override IList<int> GetAncestors (int id)
+		{
+			return m_TreeModel.GetAncestors(id);
+		}
+
+		protected override IList<int> GetDescendantsThatHaveChildren (int id)
+		{
+			return m_TreeModel.GetDescendantsThatHaveChildren(id);
+		}
+
+
+		// Dragging
+		//-----------
+	
+		const string k_GenericDragID = "GenericDragColumnDragging";
+
+		protected override bool CanStartDrag (CanStartDragArgs args)
+		{
+			return true;
+		}
+
+		protected override void SetupDragAndDrop(SetupDragAndDropArgs args)
+		{
+			if (hasSearch)
+				return;
+
+			DragAndDrop.PrepareStartDrag();
+			var draggedRows = GetRows().Where(item => args.draggedItemIDs.Contains(item.id)).ToList();
+			DragAndDrop.SetGenericData(k_GenericDragID, draggedRows);
+			DragAndDrop.objectReferences = new UnityEngine.Object[] { }; // this IS required for dragging to work
+			string title = draggedRows.Count == 1 ? draggedRows[0].displayName : "< Multiple >";
+			DragAndDrop.StartDrag (title);
+		}
+
+		protected override DragAndDropVisualMode HandleDragAndDrop (DragAndDropArgs args)
+		{
+			// Check if we can handle the current drag data (could be dragged in from other areas/windows in the editor)
+			var draggedRows = DragAndDrop.GetGenericData(k_GenericDragID) as List<TreeViewItem>;
+			if (draggedRows == null)
+				return DragAndDropVisualMode.None;
+
+			// Parent item is null when dragging outside any tree view items.
+			switch (args.dragAndDropPosition)
+			{
+				case DragAndDropPosition.UponItem:
+				case DragAndDropPosition.BetweenItems:
+					{
+						bool validDrag = ValidDrag(args.parentItem, draggedRows);
+						if (args.performDrop && validDrag)
+						{
+							T parentData = ((TreeViewItem<T>)args.parentItem).data;
+							OnDropDraggedElementsAtIndex(draggedRows, parentData, args.insertAtIndex == -1 ? 0 : args.insertAtIndex);
+						}
+						return validDrag ? DragAndDropVisualMode.Move : DragAndDropVisualMode.None;
+					}
+
+				case DragAndDropPosition.OutsideItems:
+					{
+						if (args.performDrop)
+							OnDropDraggedElementsAtIndex(draggedRows, m_TreeModel.root, m_TreeModel.root.children.Count);
+
+						return DragAndDropVisualMode.Move;
+					}
+				default:
+					Debug.LogError("Unhandled enum " + args.dragAndDropPosition);
+					return DragAndDropVisualMode.None;
+			}
+		}
+
+		public virtual void OnDropDraggedElementsAtIndex (List<TreeViewItem> draggedRows, T parent, int insertIndex)
+		{
+			if (beforeDroppingDraggedItems != null)
+				beforeDroppingDraggedItems (draggedRows);
+
+			var draggedElements = new List<TreeElement> ();
+			foreach (var x in draggedRows)
+				draggedElements.Add (((TreeViewItem<T>) x).data);
+		
+			var selectedIDs = draggedElements.Select (x => x.id).ToArray();
+			m_TreeModel.MoveElements (parent, insertIndex, draggedElements);
+			SetSelection(selectedIDs, TreeViewSelectionOptions.RevealAndFrame);
+		}
+
+
+		bool ValidDrag(TreeViewItem parent, List<TreeViewItem> draggedItems)
+		{
+			TreeViewItem currentParent = parent;
+			while (currentParent != null)
+			{
+				if (draggedItems.Contains(currentParent))
+					return false;
+				currentParent = currentParent.parent;
+			}
+			return true;
+		}
+	
+	}
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/TreeViewWithTreeModel.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeViewWithTreeModel.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..150db1e19f9ec5bad24aba394f694070fa923126
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/TreeViewWithTreeModel.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 394bf097e2dc943bd991d0cdf80f82ed
+timeCreated: 1530053019
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7e08135dabe62c679117f0366594dc857a105aa9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 176608a5861a8f640a5d17d0440608fe
+folderAsset: yes
+timeCreated: 1525261465
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests/MapboxUnitTests_CircularBuffer.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests/MapboxUnitTests_CircularBuffer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..85ca6b3e8a8588816ecec3f0cbcb36dfb49db95a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests/MapboxUnitTests_CircularBuffer.cs
@@ -0,0 +1,74 @@
+
+namespace Mapbox.Unity.UnitTest
+{
+
+	using System.Collections.Generic;
+	using System.Linq;
+	using NUnit.Framework;
+	using Mapbox.Utils;
+
+
+	[TestFixture]
+	internal class CircularBufferTest
+	{
+
+		[Test]
+		public void SettingAndGettingValues()
+		{
+			CircularBuffer<int> cb = new CircularBuffer<int>(5);
+
+			Assert.AreEqual(0, cb.Count, "initializes to 0");
+
+			cb.Add(10);
+			Assert.AreEqual(1, cb.Count, "added one value. count == 3");
+
+			cb.Add(20);
+			cb.Add(30);
+			Assert.AreEqual(3, cb.Count, "added three values. count == 3");
+			// newest value is at [0], oldest at cb[cb.Count-1]
+			Assert.AreEqual(30, cb[0], "circularbuffer[0] == 30");
+			Assert.AreEqual(10, cb[cb.Count - 1], "circularbuffer[cb.Count-1] == 10");
+
+			cb.Add(40);
+			cb.Add(50);
+			Assert.AreEqual(5, cb.Count, "added five values. count == 5");
+
+			cb.Add(60);
+			Assert.AreEqual(5, cb.Count, "added six values. count == 5");
+			Assert.AreEqual(60, cb[0], "circularbuffer[0] == 60");
+			Assert.AreEqual(20, cb[cb.Count - 1], "circularbuffer[cb.Count-1] == 20");
+
+			cb.Add(70);
+			cb.Add(80);
+
+
+			// test getting values via different methods
+
+			int[] expected = new int[] { 80, 70, 60, 50, 40 };
+
+			// test values via indexer
+			for (int i = 0; i < cb.Count; i++)
+			{
+				Assert.AreEqual(expected[i], cb[i], "indexer returned correct value");
+			}
+
+			// test values via Enumerator
+			int[] actual = new int[cb.Count];
+			int idx = 0;
+			IEnumerator<int> enumerator = cb.GetEnumerator();
+			while (enumerator.MoveNext())
+			{
+				actual[idx] = enumerator.Current;
+				idx++;
+			}
+			Assert.AreEqual(expected, actual, "IEnumerator returned correct sequence");
+
+			// test values via Enumerable
+			actual = cb.GetEnumerable().ToArray();
+			Assert.AreEqual(expected, actual, "IEnumerable returned correct sequence");
+		}
+
+
+	}
+}
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests/MapboxUnitTests_CircularBuffer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests/MapboxUnitTests_CircularBuffer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5d0d8eeed08199a2c459036f0cf4346a7ba2c33d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/UnitTests/MapboxUnitTests_CircularBuffer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 3ed6d8ff71089c94898c1ac318371408
+timeCreated: 1525261481
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/VectorSubLayerTreeView.cs b/T3-Unity/Assets/Mapbox/Unity/Editor/VectorSubLayerTreeView.cs
new file mode 100644
index 0000000000000000000000000000000000000000..226832bd77c71e92ee64067aed4ffc774cd86121
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/VectorSubLayerTreeView.cs
@@ -0,0 +1,68 @@
+namespace Mapbox.Editor
+{
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using UnityEditor.IMGUI.Controls;
+	using UnityEditor;
+	using Mapbox.Unity.Map;
+
+	public class VectorSubLayerTreeView : TreeView
+	{
+		public SerializedProperty Layers;
+
+		public VectorSubLayerTreeView(TreeViewState state)
+			: base(state)
+		{
+			showAlternatingRowBackgrounds = true;
+			showBorder = true;
+			Reload();
+		}
+
+		protected override TreeViewItem BuildRoot()
+		{
+			// The root item is required to have a depth of -1, and the rest of the items increment from that.
+			var root = new TreeViewItem { id = -1, depth = -1, displayName = "Root" };
+
+			var items = new List<TreeViewItem>();
+			var index = 0;
+
+			if (Layers != null)
+			{
+				for (int i = 0; i < Layers.arraySize; i++)
+				{
+					var name = Layers.GetArrayElementAtIndex(i).FindPropertyRelative("coreOptions.sublayerName").stringValue;
+					items.Add(new TreeViewItem { id = index, depth = 0, displayName = name });
+					index++;
+				}
+			}
+
+			// Utility method that initializes the TreeViewItem.children and .parent for all items.
+			SetupParentsAndChildrenFromDepths(root, items);
+
+			// Return root of the tree
+			return root;
+		}
+
+		protected override bool CanRename(TreeViewItem item)
+		{
+			return true;
+		}
+
+		protected override void RenameEnded(RenameEndedArgs args)
+		{
+			if (Layers != null)
+			{
+				var layer = Layers.GetArrayElementAtIndex(args.itemID);
+				if (string.IsNullOrEmpty(args.newName.Trim()))
+				{
+					layer.FindPropertyRelative("coreOptions.sublayerName").stringValue = args.originalName;
+				}
+				else
+				{
+					layer.FindPropertyRelative("coreOptions.sublayerName").stringValue = args.newName;
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Editor/VectorSubLayerTreeView.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Editor/VectorSubLayerTreeView.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bffbd132f4bd6a4c7966ca62dfce47dd238ba2ef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Editor/VectorSubLayerTreeView.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e597f3da0a26e469584070315e18e4f1
+timeCreated: 1526503584
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties.meta
new file mode 100644
index 0000000000000000000000000000000000000000..63e61663bf89dd1e594ce616f3bcffc915c2fe84
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3fc24bc4837084c5c8603cfb3c82a7bc
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/CoreVectorLayerProperties.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/CoreVectorLayerProperties.cs
new file mode 100644
index 0000000000000000000000000000000000000000..81c49257ce9e2a34ee29e26844f41e4f9c6278a8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/CoreVectorLayerProperties.cs
@@ -0,0 +1,55 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using UnityEngine;
+
+
+	[Serializable]
+	public class CoreVectorLayerProperties : MapboxDataProperty, ISubLayerCoreOptions
+	{
+		[SerializeField]
+		private string sourceId;
+		[Tooltip("Is visualizer active.")]
+		public bool isActive = true;
+		[Tooltip("Name of the visualizer. ")]
+		public string sublayerName = "untitled";
+		[Tooltip("Primitive geometry type of the visualizer, allowed primitives - point, line, polygon")]
+		public VectorPrimitiveType geometryType = VectorPrimitiveType.Polygon;
+		[Tooltip("Name of the layer in the source tileset. This property is case sensitive.")]
+		public string layerName = "layerName";
+		[Tooltip("Snap features to the terrain elevation, use this option to draw features above terrain. ")]
+		public bool snapToTerrain = true;
+		[Tooltip("Groups features into one Unity GameObject.")]
+		public bool combineMeshes = false;
+
+
+		public override bool HasChanged
+		{
+			set
+			{
+				if (value == true)
+				{
+					OnPropertyHasChanged(new VectorLayerUpdateArgs { property = this });
+				}
+			}
+		}
+
+		/// <summary>
+		/// Change the primtive type of the feature which will be used to decide
+		/// what type of mesh operations features will require.
+		/// In example, roads are generally visualized as lines and buildings are
+		/// generally visualized as polygons.
+		/// </summary>
+		/// <param name="type">Primitive type of the featues in the layer.</param>
+		public virtual void SetPrimitiveType(VectorPrimitiveType type)
+		{
+			if (geometryType != type)
+			{
+				geometryType = type;
+				HasChanged = true;
+			}
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/CoreVectorLayerProperties.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/CoreVectorLayerProperties.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ca407cbe7385a5db3722ea918b248ac26e52e78f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/CoreVectorLayerProperties.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e8e0a452aae974d349c48ba51e8cbfff
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ElevationLayerProperties.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ElevationLayerProperties.cs
new file mode 100644
index 0000000000000000000000000000000000000000..522d3754bf8162d98eac1753b8d3f73e5cddd428
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ElevationLayerProperties.cs
@@ -0,0 +1,33 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.ComponentModel;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Factories;
+
+	[Serializable]
+	public class ElevationLayerProperties : LayerProperties
+	{
+		public ElevationSourceType sourceType = ElevationSourceType.MapboxTerrain;
+
+		public LayerSourceOptions sourceOptions = new LayerSourceOptions()
+		{
+			layerSource = new Style()
+			{
+				Id = "mapbox.terrain-rgb"
+			},
+			isActive = true
+		};
+		public ElevationLayerType elevationLayerType = ElevationLayerType.FlatTerrain;
+		public ElevationRequiredOptions requiredOptions = new ElevationRequiredOptions();
+		public TerrainColliderOptions colliderOptions = new TerrainColliderOptions();
+		public ElevationModificationOptions modificationOptions = new ElevationModificationOptions();
+		public UnityLayerOptions unityLayerOptions = new UnityLayerOptions();
+		public TerrainSideWallOptions sideWallOptions = new TerrainSideWallOptions();
+
+		public override bool NeedsForceUpdate()
+		{
+			return true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ElevationLayerProperties.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ElevationLayerProperties.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cc05df8db88bfc37ba3664404973e5d21468a975
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ElevationLayerProperties.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 46f40ce7b24394c41ae15d4a00746a90
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ImageryLayerProperties.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ImageryLayerProperties.cs
new file mode 100644
index 0000000000000000000000000000000000000000..940eaaa54db1e16b9f966c828c65c6cd33bc4d0c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ImageryLayerProperties.cs
@@ -0,0 +1,25 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using System;
+	using System.Collections.Generic;
+
+	[System.Serializable]
+	public class ImageryLayerProperties : LayerProperties
+	{
+		public ImagerySourceType sourceType = ImagerySourceType.MapboxStreets;
+
+		public LayerSourceOptions sourceOptions = new LayerSourceOptions()
+		{
+			isActive = true,
+			layerSource = MapboxDefaultImagery.GetParameters(ImagerySourceType.MapboxStreets)
+		};
+
+		public ImageryRasterOptions rasterOptions = new ImageryRasterOptions();
+
+		public override bool NeedsForceUpdate()
+		{
+			return true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ImageryLayerProperties.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ImageryLayerProperties.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..32e30a92e550481093127eb55e05303f85718f6a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/ImageryLayerProperties.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7c3fb936e1c664e51ac872a0ce9fc699
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/LayerProperties.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/LayerProperties.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1b27431a2f261349925bc4bc4f792a4a2dbd17a6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/LayerProperties.cs
@@ -0,0 +1,8 @@
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Modifiers;
+namespace Mapbox.Unity.Map
+{
+	public abstract class LayerProperties : MapboxDataProperty
+	{
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/LayerProperties.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/LayerProperties.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b4297f3f4e432feb3ac5ebe5d5c9ab7df1e9ab1c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/LayerProperties.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 620f750f82f0f4be1b830d83e9162d9d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PrefabItemOptions.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PrefabItemOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c4f4b34cb49ed30258769aae773694310d10305a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PrefabItemOptions.cs
@@ -0,0 +1,158 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using System.Collections;
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.MeshGeneration.Filters;
+
+	[Serializable]
+	public class PrefabItemOptions : VectorSubLayerProperties
+	{
+		#region Fixed Properties
+		//Fixed primitiveType
+		public readonly VectorPrimitiveType primitiveType = VectorPrimitiveType.Point;
+
+		//Group features turned off
+		public readonly bool combineMeshes = false;
+
+		//No extrusion
+		public readonly ExtrusionType extrusionType = ExtrusionType.None;
+
+		//Dictionary containing the layer names for each location prefab find by type
+		public readonly Dictionary<LocationPrefabFindBy, string> layerNameFromFindByTypeDictionary = new Dictionary<LocationPrefabFindBy, string>
+		{
+			{LocationPrefabFindBy.AddressOrLatLon, ""},
+			{LocationPrefabFindBy.MapboxCategory, "poi_label"},
+			{LocationPrefabFindBy.POIName, "poi_label"},
+		};
+
+		//Dictionary containing the property names in the layer for each location prefab find by type
+		public readonly Dictionary<LocationPrefabFindBy, string> categoryPropertyFromFindByTypeDictionary = new Dictionary<LocationPrefabFindBy, string>
+		{
+			{LocationPrefabFindBy.AddressOrLatLon, ""},
+			{LocationPrefabFindBy.MapboxCategory, "maki"},
+			{LocationPrefabFindBy.POIName, "name"},
+		};
+
+		//Dictionary containing the density names in the layer for each location prefab find by type
+		public readonly Dictionary<LocationPrefabFindBy, string> densityPropertyFromFindByTypeDictionary = new Dictionary<LocationPrefabFindBy, string>
+		{
+			{LocationPrefabFindBy.AddressOrLatLon, ""},
+			{LocationPrefabFindBy.MapboxCategory, "localrank"},
+			{LocationPrefabFindBy.POIName, "localrank"},
+		};
+
+		//Dictionary containing the density names in the layer for each location prefab find by type
+		public readonly Dictionary<LocationPrefabFindBy, string> namePropertyFromFindByTypeDictionary = new Dictionary<LocationPrefabFindBy, string>
+		{
+			{LocationPrefabFindBy.AddressOrLatLon, ""},
+			{LocationPrefabFindBy.MapboxCategory, ""},
+			{LocationPrefabFindBy.POIName, "name"},
+		};
+
+		//Force Move prefab feature position to the first vertex
+		public readonly PositionTargetType _movePrefabFeaturePositionTo = PositionTargetType.FirstVertex;
+
+		public readonly LayerFilterCombinerOperationType _combinerType = LayerFilterCombinerOperationType.All;
+		#endregion
+
+		#region User Choice Properties
+
+		/// <summary>
+		/// Gets or sets a value indicating whether this <see cref="T:Mapbox.Unity.Map.PrefabItemOptions"/> item is active.
+		/// </summary>
+		/// <value><c>true</c> if is active; otherwise, <c>false</c>.</value>
+		public bool isActive
+		{
+			get
+			{
+				return coreOptions.isActive;
+			}
+			set
+			{
+				coreOptions.isActive = value;
+			}
+		}
+
+		public bool snapToTerrain
+		{
+			get
+			{
+				return coreOptions.snapToTerrain;
+			}
+			set
+			{
+				coreOptions.snapToTerrain = value;
+			}
+		}
+
+		public string prefabItemName
+		{
+			get
+			{
+				return coreOptions.sublayerName;
+			}
+			set
+			{
+				coreOptions.sublayerName = value;
+			}
+		}
+
+		/// <summary>
+		/// The prefab to be spawned on the map
+		/// </summary>
+		public SpawnPrefabOptions spawnPrefabOptions;
+
+		/// <summary>
+		/// Find points-of-interest to spawn prefabs using this enum
+		/// </summary>
+		public LocationPrefabFindBy findByType = LocationPrefabFindBy.MapboxCategory;//default to Mapbox Category
+
+		/// <summary>
+		/// Spawn at any location in the categories selected
+		/// </summary>
+		public LocationPrefabCategories categories;
+
+		/// <summary>
+		/// Spawn at any location containing this name string
+		/// </summary>
+		public string nameString = "Name";
+
+		/// <summary>
+		/// Spawn at specific coordinates
+		/// </summary>
+		[Geocode]
+		public string[] coordinates;
+
+
+		[Range(1, 30)]
+		public int density = 15;
+
+		public Action<List<GameObject>> OnAllPrefabsInstantiated
+		{
+			get
+			{
+				return spawnPrefabOptions.AllPrefabsInstatiated;
+			}
+			set
+			{
+				spawnPrefabOptions.AllPrefabsInstatiated = value;
+			}
+		}
+		#endregion
+
+		public override bool HasChanged
+		{
+			set
+			{
+				if (value == true)
+				{
+					OnPropertyHasChanged(new VectorLayerUpdateArgs { property = this });
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PrefabItemOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PrefabItemOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bb1c10751027e92c0478d9334577121f44139db6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PrefabItemOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 06b454a4295ed4bb2ba217a2196dfb15
+timeCreated: 1523915763
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PresetSubLayerPropertiesFetcher.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PresetSubLayerPropertiesFetcher.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ece1831c0442734f700dcbc10d729fb4cd2fe86f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PresetSubLayerPropertiesFetcher.cs
@@ -0,0 +1,157 @@
+namespace Mapbox.Unity.Map
+{
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Filters;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	public static class PresetSubLayerPropertiesFetcher
+	{
+		/// <summary>
+		/// Gets the default sub layer properties for the chosen preset type.
+		/// </summary>
+		/// <returns>The sub layer properties.</returns>
+		/// <param name="type">Type.</param>
+		public static VectorSubLayerProperties GetSubLayerProperties(PresetFeatureType type)
+		{
+			//CoreOptions properties
+			VectorPrimitiveType geometryType = VectorPrimitiveType.Polygon;
+			string layerName = "building";
+			string sublayerName = "Untitled";
+
+			//Line Geometry Options
+			float lineWidth = 1.0f;
+
+			//Geometry Extrusion Options
+			ExtrusionType extrusionType = ExtrusionType.None;
+			ExtrusionGeometryType extrusionGeometryType = ExtrusionGeometryType.RoofAndSide;
+			string propertyName = "height";
+			float extrusionScaleFactor = 1.0f;
+			float extrusionHeight = 1.0f;
+
+			//Filter Options
+			LayerFilterCombinerOperationType combinerType = LayerFilterCombinerOperationType.Any;
+			List<LayerFilter> filters = new List<LayerFilter>();
+
+
+			// Material Options
+			StyleTypes style = StyleTypes.Realistic;
+
+			//Misc options
+			bool buildingsWithUniqueIds = true;
+			PositionTargetType positionTargetType = PositionTargetType.TileCenter;
+
+			//Modifiers
+			List<MeshModifier> meshModifiers = new List<MeshModifier>();
+			List<GameObjectModifier> gameObjectModifiers = new List<GameObjectModifier>();
+			ColliderType colliderType = ColliderType.None;
+
+			switch (type)
+			{
+				case PresetFeatureType.Buildings:
+					layerName = "building";
+					geometryType = VectorPrimitiveType.Polygon;
+					extrusionType = ExtrusionType.PropertyHeight;
+					extrusionGeometryType = ExtrusionGeometryType.RoofAndSide;
+					propertyName = "height";
+					style = StyleTypes.Realistic;
+					break;
+				case PresetFeatureType.Roads:
+					layerName = "road";
+					geometryType = VectorPrimitiveType.Line;
+					lineWidth = 1.0f;
+					style = StyleTypes.Dark;
+					extrusionType = ExtrusionType.AbsoluteHeight;
+					extrusionGeometryType = ExtrusionGeometryType.RoofAndSide;
+					break;
+				case PresetFeatureType.Points:
+					layerName = "poi_label";
+					geometryType = VectorPrimitiveType.Point;
+					break;
+				case PresetFeatureType.Landuse:
+					layerName = "landuse";
+					geometryType = VectorPrimitiveType.Polygon;
+					style = StyleTypes.Color;
+					break;
+				case PresetFeatureType.Custom:
+					layerName = "";
+					geometryType = VectorPrimitiveType.Custom;
+					style = StyleTypes.Custom;
+					break;
+				default:
+					break;
+			}
+
+			VectorSubLayerProperties _properties = new VectorSubLayerProperties();
+
+			_properties.presetFeatureType = type;
+
+			_properties.coreOptions = new CoreVectorLayerProperties
+			{
+				isActive = true,
+				layerName = layerName,
+				geometryType = geometryType,
+				snapToTerrain = true,
+				combineMeshes = false,
+				sublayerName = sublayerName
+			};
+
+			_properties.lineGeometryOptions = new LineGeometryOptions
+			{
+				Width = lineWidth
+			};
+
+			_properties.extrusionOptions = new GeometryExtrusionOptions
+			{
+				extrusionType = extrusionType,
+				extrusionGeometryType = extrusionGeometryType,
+				propertyName = propertyName,
+				extrusionScaleFactor = extrusionScaleFactor,
+				maximumHeight = extrusionHeight
+			};
+
+			_properties.filterOptions = new VectorFilterOptions
+			{
+				combinerType = combinerType,
+				filters = filters
+			};
+
+			_properties.materialOptions = new GeometryMaterialOptions
+			{
+				style = style,
+				colorStyleColor = Constants.GUI.Colors.EDITOR_FEATURE_DEFAULT_COLOR
+			};
+			_properties.materialOptions.SetDefaultMaterialOptions();
+			_properties.buildingsWithUniqueIds = buildingsWithUniqueIds;
+			_properties.moveFeaturePositionTo = positionTargetType;
+			_properties.MeshModifiers = meshModifiers;
+			_properties.GoModifiers = gameObjectModifiers;
+			_properties.colliderOptions = new ColliderOptions
+			{
+				colliderType = colliderType
+			};
+
+			return _properties;
+		}
+
+		/// <summary>
+		/// Gets the default preset type from supplied layerName.
+		/// </summary>
+		/// <param name="layerName">Layer name.</param>
+		public static PresetFeatureType GetPresetTypeFromLayerName(string layerName)
+		{
+			switch (layerName)
+			{
+				case "building":
+					return PresetFeatureType.Buildings;
+				case "road":
+					return PresetFeatureType.Roads;
+				case "landuse":
+					return PresetFeatureType.Landuse;
+				case "poi_label":
+					return PresetFeatureType.Points;
+				default:
+					return PresetFeatureType.Custom;
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PresetSubLayerPropertiesFetcher.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PresetSubLayerPropertiesFetcher.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35b0c2b9a86e2e55c94c208c5a365b952a55ab36
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/PresetSubLayerPropertiesFetcher.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 59334930d1a6a4d2685461732ae3661d
+timeCreated: 1538589437
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorFilterOptions.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorFilterOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f229e3cfc38a44f6b0567f34a777ea6d2b08ae9d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorFilterOptions.cs
@@ -0,0 +1,261 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Filters;
+	using UnityEngine;
+	using System.Linq;
+
+	[Serializable]
+	public class VectorFilterOptions : MapboxDataProperty, ISubLayerFiltering
+	{
+		[SerializeField]
+		private string _selectedLayerName;
+		public List<LayerFilter> filters = new List<LayerFilter>();
+		[Tooltip("Operator to combine filters. ")]
+		public LayerFilterCombinerOperationType combinerType = LayerFilterCombinerOperationType.All;
+
+		public override bool HasChanged
+		{
+			set
+			{
+				if (value == true)
+				{
+					OnPropertyHasChanged(new VectorLayerUpdateArgs { property = this });
+				}
+			}
+		}
+
+		public void UnRegisterFilters()
+		{
+			for (int i = 0; i < filters.Count; i++)
+			{
+				filters[i].PropertyHasChanged -= OnLayerFilterChanged;
+			}
+		}
+
+		public void RegisterFilters()
+		{
+			for (int i = 0; i < filters.Count; i++)
+			{
+				filters[i].PropertyHasChanged += OnLayerFilterChanged;
+			}
+		}
+
+		private void OnLayerFilterChanged(object sender, System.EventArgs eventArgs)
+		{
+			HasChanged = true;
+		}
+
+		private void AddFilterToList(LayerFilter layerFilter)
+		{
+			filters.Add(layerFilter);
+			HasChanged = true;
+		}
+
+		/// <summary>
+		/// Adds a string filter that uses a contains operator.
+		/// </summary>
+		/// <returns>The filter.</returns>
+		/// <param name="key">Key.</param>
+		/// <param name="property">Property.</param>
+		public virtual ILayerFilter AddStringFilterContains(string key, string property)
+		{
+			LayerFilter layerFilter = new LayerFilter()
+			{
+				Key = key,
+				filterOperator = LayerFilterOperationType.Contains,
+				PropertyValue = property
+			};
+			AddFilterToList(layerFilter);
+			return layerFilter;
+
+		}
+
+		/// <summary>
+		/// Adds a number filter that uses an equals operator.
+		/// </summary>
+		/// <returns>The filter.</returns>
+		/// <param name="key">Key.</param>
+		/// <param name="value">Value.</param>
+		public virtual ILayerFilter AddNumericFilterEquals(string key, float value)
+		{
+			LayerFilter layerFilter = new LayerFilter()
+			{
+				Key = key,
+				filterOperator = LayerFilterOperationType.IsEqual,
+				Min = value
+			};
+			AddFilterToList(layerFilter);
+			return layerFilter;
+		}
+
+		/// <summary>
+		/// Adds a number filter that uses a less than operator.
+		/// </summary>
+		/// <returns>The filter.</returns>
+		/// <param name="key">Key.</param>
+		/// <param name="value">Value.</param>
+		public virtual ILayerFilter AddNumericFilterLessThan(string key, float value)
+		{
+			LayerFilter layerFilter = new LayerFilter()
+			{
+				Key = key,
+				filterOperator = LayerFilterOperationType.IsLess,
+				Min = value
+			};
+			AddFilterToList(layerFilter);
+			return layerFilter;
+		}
+
+		/// <summary>
+		/// Adds a number filter that uses a greater than operator.
+		/// </summary>
+		/// <returns>The filter.</returns>
+		/// <param name="key">Key.</param>
+		/// <param name="value">Value.</param>
+		public virtual ILayerFilter AddNumericFilterGreaterThan(string key, float value)
+		{
+			LayerFilter layerFilter = new LayerFilter()
+			{
+				Key = key,
+				filterOperator = LayerFilterOperationType.IsGreater,
+				Min = value
+			};
+			AddFilterToList(layerFilter);
+			return layerFilter;
+		}
+
+		/// <summary>
+		/// Adds a number filter that uses an in range operator.
+		/// </summary>
+		/// <returns>The filter.</returns>
+		/// <param name="key">Key.</param>
+		/// <param name="min">Minimum.</param>
+		/// <param name="max">Max.</param>
+		public virtual ILayerFilter AddNumericFilterInRange(string key, float min, float max)
+		{
+			LayerFilter layerFilter = new LayerFilter()
+			{
+				Key = key,
+				filterOperator = LayerFilterOperationType.IsInRange,
+				Min = min,
+				Max = max
+			};
+			AddFilterToList(layerFilter);
+			return layerFilter;
+		}
+
+		public void AddFilter()
+		{
+			AddFilterToList(new LayerFilter());
+		}
+
+		/// <summary>
+		/// Removes all filters.
+		/// </summary>
+		public virtual void RemoveAllFilters()
+		{
+			for (int i = 0; i < filters.Count; i++)
+			{
+				LayerFilter filter = filters[i];
+				if (filter != null)
+				{
+					RemoveFilter(filter);
+				}
+			}
+		}
+
+		/// <summary>
+		/// Removes a filter.
+		/// </summary>
+		/// <param name="layerFilter">Layer filter.</param>
+		public virtual void RemoveFilter(LayerFilter layerFilter)
+		{
+			layerFilter.PropertyHasChanged -= OnLayerFilterChanged;
+			if (filters.Contains(layerFilter))
+			{
+				filters.Remove(layerFilter);
+				HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Removes a filter.
+		/// </summary>
+		/// <param name="filter">Filter.</param>
+		public virtual void RemoveFilter(ILayerFilter filter)
+		{
+			RemoveFilter((LayerFilter)filter);
+		}
+
+		/// <summary>
+		/// Removes the filter using an index lookup.
+		/// </summary>
+		/// <param name="index">Index.</param>
+		public virtual void RemoveFilter(int index)
+		{
+			if (index < filters.Count && filters[index] != null)
+			{
+				RemoveFilter(filters[index]);
+			}
+		}
+
+		/// <summary>
+		/// Gets a filter using an index lookup.
+		/// </summary>
+		/// <returns>The filter.</returns>
+		/// <param name="index">Index.</param>
+		public virtual ILayerFilter GetFilter(int index)
+		{
+			if (index < filters.Count && filters[index] != null)
+			{
+				return filters[index];
+			}
+			return null;
+		}
+
+		/// <summary>
+		/// Gets all filters.
+		/// </summary>
+		/// <returns>All filters.</returns>
+		public virtual IEnumerable<ILayerFilter> GetAllFilters()
+		{
+			return (IEnumerable<ILayerFilter>)filters.AsEnumerable();
+		}
+
+		/// <summary>
+		/// Gets the filters by query.
+		/// </summary>
+		/// <returns>Filters by query.</returns>
+		/// <param name="query">Query.</param>
+		public virtual IEnumerable<ILayerFilter> GetFiltersByQuery(Func<ILayerFilter, bool> query)
+		{
+			foreach (var filter in filters)
+			{
+				if (query(filter))
+				{
+					yield return filter;
+				}
+			}
+		}
+
+		/// <summary>
+		/// Gets the type of the filter combiner.
+		/// </summary>
+		/// <returns>The filter combiner type.</returns>
+		public virtual LayerFilterCombinerOperationType GetFilterCombinerType()
+		{
+			return combinerType;
+		}
+
+		/// <summary>
+		/// Sets the type of the filter combiner.
+		/// </summary>
+		/// <param name="layerFilterCombinerOperationType">Layer filter combiner operation type.</param>
+		public virtual void SetFilterCombinerType(LayerFilterCombinerOperationType layerFilterCombinerOperationType)
+		{
+			combinerType = layerFilterCombinerOperationType;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorFilterOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorFilterOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..18afa0783e8123537405b09e227391ad3ce847a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorFilterOptions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e9aaba31e5228477fa26423d86426c63
+timeCreated: 1538538304
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorLayerProperties.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorLayerProperties.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0b204d372cedde8466b8d48ef183d093f762227d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorLayerProperties.cs
@@ -0,0 +1,87 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Platform.TilesetTileJSON;
+	using Mapbox.Unity.Utilities;
+	using UnityEngine;
+	using System.Linq;
+
+	[Serializable]
+	public class VectorLayerProperties : LayerProperties
+	{
+		#region Events
+		public event System.EventHandler SubLayerPropertyAdded;
+		public virtual void OnSubLayerPropertyAdded(System.EventArgs e)
+		{
+			System.EventHandler handler = SubLayerPropertyAdded;
+			if (handler != null)
+			{
+				handler(this, e);
+			}
+		}
+
+		public event System.EventHandler SubLayerPropertyRemoved;
+		public virtual void OnSubLayerPropertyRemoved(System.EventArgs e)
+		{
+			System.EventHandler handler = SubLayerPropertyRemoved;
+			if (handler != null)
+			{
+				handler(this, e);
+			}
+		}
+		#endregion
+		/// <summary>
+		/// Raw tileJSON response received from the requested source tileset id(s)
+		/// </summary>
+		public TileJsonData tileJsonData = new TileJsonData();
+		[SerializeField]
+		protected VectorSourceType _sourceType = VectorSourceType.MapboxStreets;
+		public VectorSourceType sourceType
+		{
+			get
+			{
+				return _sourceType;
+			}
+			set
+			{
+				if (value != VectorSourceType.Custom)
+				{
+					sourceOptions.Id = MapboxDefaultVector.GetParameters(value).Id;
+				}
+
+				if (value == VectorSourceType.None)
+				{
+					sourceOptions.isActive = false;
+				}
+				else
+				{
+					sourceOptions.isActive = true;
+				}
+
+				_sourceType = value;
+			}
+		}
+
+		public LayerSourceOptions sourceOptions = new LayerSourceOptions()
+		{
+			isActive = true,
+			layerSource = MapboxDefaultVector.GetParameters(VectorSourceType.MapboxStreets)
+		};
+		[Tooltip("Use Mapbox style-optimized tilesets, remove any layers or features in the tile that are not represented by a Mapbox style. Style-optimized vector tiles are smaller, served over-the-wire, and a great way to reduce the size of offline caches.")]
+		public bool useOptimizedStyle = false;
+		[StyleSearch]
+		public Style optimizedStyle;
+		public LayerPerformanceOptions performanceOptions;
+		[NodeEditorElementAttribute("Feature Sublayers")]
+		public List<VectorSubLayerProperties> vectorSubLayers = new List<VectorSubLayerProperties>();
+		[NodeEditorElementAttribute("POI Sublayers")]
+		public List<PrefabItemOptions> locationPrefabList = new List<PrefabItemOptions>();
+
+
+		public override bool NeedsForceUpdate()
+		{
+			return true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorLayerProperties.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorLayerProperties.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..56139e915f30feb0833774c4b7a41633c6c345e1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorLayerProperties.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c799956949e8c4c78ada7f1dbc61b03d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorSubLayerProperties.cs b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorSubLayerProperties.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a92a203ad50adee374c7831850f3cbaa6ea3fe76
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorSubLayerProperties.cs
@@ -0,0 +1,171 @@
+using Mapbox.Unity.SourceLayers;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.Utilities;
+	using UnityEngine;
+
+	[Serializable]
+	public class VectorSubLayerProperties : LayerProperties, IVectorSubLayer
+	{
+		public override bool HasChanged
+		{
+			set
+			{
+				if (value == true)
+				{
+					OnPropertyHasChanged(new VectorLayerUpdateArgs { property = this });
+				}
+			}
+		}
+
+		public virtual string Key
+		{
+			get
+			{
+				return coreOptions.layerName;
+			}
+		}
+
+		public ISubLayerTexturing Texturing
+		{
+			get
+			{
+				return materialOptions;
+			}
+		}
+		public ISubLayerModeling Modeling
+		{
+			get
+			{
+				if (modeling == null)
+				{
+					modeling = new SubLayerModeling(this);
+				}
+				return modeling;
+			}
+		}
+		public ISubLayerFiltering Filtering
+		{
+			get
+			{
+				return filterOptions;
+			}
+		}
+		public ISubLayerBehaviorModifiers BehaviorModifiers
+		{
+			get
+			{
+				if (behaviorModifiers == null)
+				{
+					behaviorModifiers = new SubLayerBehaviorModifiers(this);
+				}
+				return behaviorModifiers;
+			}
+		}
+		protected SubLayerModeling modeling;
+		protected SubLayerBehaviorModifiers behaviorModifiers;
+		public CoreVectorLayerProperties coreOptions = new CoreVectorLayerProperties();
+		public LineGeometryOptions lineGeometryOptions = new LineGeometryOptions();
+		public VectorFilterOptions filterOptions = new VectorFilterOptions();
+		public GeometryExtrusionOptions extrusionOptions = new GeometryExtrusionOptions
+		{
+			extrusionType = ExtrusionType.None,
+			propertyName = "height",
+			extrusionGeometryType = ExtrusionGeometryType.RoofAndSide,
+
+		};
+
+		public ColliderOptions colliderOptions = new ColliderOptions
+		{
+			colliderType = ColliderType.None,
+		};
+
+		public GeometryMaterialOptions materialOptions = new GeometryMaterialOptions();
+
+		public LayerPerformanceOptions performanceOptions;
+
+		//HACK : workaround to avoid users accidentaly leaving the buildingsWithUniqueIds settign on and have missing buildings.
+		public bool honorBuildingIdSetting = true;
+		public bool buildingsWithUniqueIds = false;
+
+		public PositionTargetType moveFeaturePositionTo;
+		[NodeEditorElement("Mesh Modifiers")]
+		public List<MeshModifier> MeshModifiers;
+		[NodeEditorElement("Game Object Modifiers")]
+		public List<GameObjectModifier> GoModifiers;
+		public PresetFeatureType presetFeatureType = PresetFeatureType.Custom;
+
+		[SerializeField]
+		private int _maskValue;
+
+		public string selectedTypes;
+
+		/// <summary>
+		/// Returns true if the layer name matches a given string.
+		/// </summary>
+		/// <returns><c>true</c>, if layer name matches exact was subed, <c>false</c> otherwise.</returns>
+		/// <param name="layerName">Layer name.</param>
+		public virtual bool SubLayerNameMatchesExact(string layerName)
+		{
+			return coreOptions.sublayerName == layerName;
+		}
+		/// <summary>
+		/// Returns true if the layer name contains a given string.
+		/// </summary>
+		/// <returns><c>true</c>, if layer name contains was subed, <c>false</c> otherwise.</returns>
+		/// <param name="layerName">Layer name.</param>
+		public virtual bool SubLayerNameContains(string layerName)
+		{
+			return coreOptions.sublayerName.Contains(layerName);
+		}
+		/// <summary>
+		/// Returns true if the layer uses a given style.
+		/// </summary>
+		/// <returns><c>true</c>, if layer uses style type was subed, <c>false</c> otherwise.</returns>
+		/// <param name="style">Style.</param>
+		public virtual bool SubLayerUsesStyleType(StyleTypes style)
+		{
+			return materialOptions.style == style;
+		}
+
+		#region Setters
+
+		/// <summary>
+		/// Sets the active.
+		/// </summary>
+		/// <param name="active">If set to <c>true</c> active.</param>
+		public virtual void SetActive(bool active)
+		{
+			coreOptions.isActive = active;
+			coreOptions.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Switch layer to custom style using provided mesh and game object modifier
+		/// </summary>
+		/// <param name="meshModifiers">Mesh modifiers to be used in layer</param>
+		/// <param name="gameObjectModifiers">Game object modifiers to be used in layer</param>
+		public virtual void CreateCustomStyle(List<MeshModifier> meshModifiers, List<GameObjectModifier> gameObjectModifiers)
+		{
+			coreOptions.geometryType = VectorPrimitiveType.Custom;
+			coreOptions.HasChanged = true;
+
+			MeshModifiers.Clear();
+			foreach (var meshModifier in meshModifiers)
+			{
+				MeshModifiers.Add(meshModifier);
+			}
+			foreach (var goModifier in gameObjectModifiers)
+			{
+				GoModifiers.Add(goModifier);
+			}
+			HasChanged = true;
+		}
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorSubLayerProperties.cs.meta b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorSubLayerProperties.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6e948cae1c1b04ce9fcd89b1be2e06f6f9f607fb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/LayerProperties/VectorSubLayerProperties.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1a58b487863d34fa69bac8a971ad2549
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location.meta b/T3-Unity/Assets/Mapbox/Unity/Location.meta
new file mode 100644
index 0000000000000000000000000000000000000000..50aaac56796696ab40267a936be106342bc308ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8ef01f907e34d4888af041661232ec58
+folderAsset: yes
+timeCreated: 1492101090
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AbstractEditorLocationProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Location/AbstractEditorLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4a530eebf4feb805990381dfa1783aa80ec01e28
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AbstractEditorLocationProvider.cs
@@ -0,0 +1,66 @@
+namespace Mapbox.Unity.Location
+{
+	using System.Collections;
+	using UnityEngine;
+
+	public abstract class AbstractEditorLocationProvider : AbstractLocationProvider
+	{
+		[SerializeField]
+		protected int _accuracy;
+
+		[SerializeField]
+		bool _autoFireEvent;
+
+		[SerializeField]
+		float _updateInterval;
+
+		[SerializeField]
+		bool _sendEvent;
+
+		WaitForSeconds _wait = new WaitForSeconds(0);
+
+#if UNITY_EDITOR
+		protected virtual void Awake()
+		{
+			_wait = new WaitForSeconds(_updateInterval);
+			StartCoroutine(QueryLocation());
+		}
+#endif
+
+		IEnumerator QueryLocation()
+		{
+			// HACK: Let others register before we send our first event. 
+			// Often this happens in Start.
+			yield return new WaitForSeconds(.1f);
+			while (true)
+			{
+				SetLocation();
+				if (_autoFireEvent)
+				{
+					SendLocation(_currentLocation);
+				}
+				yield return _wait;
+			}
+		}
+
+
+		// Added to support TouchCamera script. 
+		public void SendLocationEvent()
+		{
+			SetLocation();
+			SendLocation(_currentLocation);
+		}
+
+
+		protected virtual void OnValidate()
+		{
+			if (_sendEvent)
+			{
+				_sendEvent = false;
+				SendLocation(_currentLocation);
+			}
+		}
+
+		protected abstract void SetLocation();
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AbstractEditorLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AbstractEditorLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..99f4eb6bd3572c7983557ca00dc3ffe09d2cd8da
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AbstractEditorLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 024ae57d3173e4e709dda27b793eb996
+timeCreated: 1508773190
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AbstractLocationProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Location/AbstractLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b6c6783f431a22fde5b5acbe54232a249ac57dfb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AbstractLocationProvider.cs
@@ -0,0 +1,29 @@
+namespace Mapbox.Unity.Location
+{
+	using System;
+	using UnityEngine;
+
+	public abstract class AbstractLocationProvider : MonoBehaviour, ILocationProvider
+	{
+		protected Location _currentLocation;
+
+		/// <summary>
+		/// Gets the last known location.
+		/// </summary>
+		/// <value>The current location.</value>
+		public Location CurrentLocation
+		{
+			get
+			{
+				return _currentLocation;
+			}
+		}
+
+		public event Action<Location> OnLocationUpdated = delegate { };
+
+		protected virtual void SendLocation(Location location)
+		{
+			OnLocationUpdated(location);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AbstractLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AbstractLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..68ada7cbba35553356307ccb6710f25d5b4bbd1d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AbstractLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9afbc0b89984849deb4a2806ff48dc29
+timeCreated: 1508537905
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6b2a8d5507542b532e9bf0b99517e92014c189cc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a6514d9c3a647294ab532e1232696c50
+folderAsset: yes
+timeCreated: 1527231979
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAbstractBase.cs b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAbstractBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9335e08ba89c0c3a78b84362a4ce667d5d29f4b5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAbstractBase.cs
@@ -0,0 +1,77 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using Mapbox.Utils;
+	using System;
+	using UnityEngine;
+
+
+	/// <summary>
+	/// Base class for implementing different smoothing strategies
+	/// </summary>
+	public abstract class AngleSmoothingAbstractBase : MonoBehaviour, IAngleSmoothing
+	{
+
+
+		[SerializeField]
+		[Tooltip("Number of measurements used for smoothing. Keep that number as low as feasible as collection of measurements depends on update time of location provider (minimum 500ms). eg 6 smoothes over the last 3 seconds.")]
+		[Range(5, 20)]
+		public int _measurements = 5;
+
+
+		public AngleSmoothingAbstractBase()
+		{
+			_angles = new CircularBuffer<double>(_measurements);
+		}
+
+
+		/// <summary>
+		/// Internal storage for latest 'n' values. Latest value at [0], <see cref="Mapbox.Utils.CircularBuffer{T}"/>
+		/// </summary>
+		protected CircularBuffer<double> _angles;
+
+
+		/// <summary>
+		/// For conversions from degrees to radians needed for Math functions.
+		/// </summary>
+		protected readonly double DEG2RAD = Math.PI / 180.0d;
+
+
+		/// <summary>
+		/// For conversions from radians to degrees.
+		/// </summary>
+		protected readonly double RAD2DEG = 180.0d / Math.PI;
+
+
+		/// <summary>
+		/// Add angle to list of angles used for calculation.
+		/// </summary>
+		/// <param name="angle"></param>
+		public void Add(double angle)
+		{
+			// safe measures to stay within [0..<360]
+			angle = angle < 0 ? angle + 360 : angle >= 360 ? angle - 360 : angle;
+			_angles.Add(angle);
+		}
+
+
+		/// <summary>
+		/// Calculate smoothed angle from previously added angles.
+		/// </summary>
+		/// <returns>Smoothed angle</returns>
+		public abstract double Calculate();
+
+
+		[System.Diagnostics.Conditional("UNITY_EDITOR")]
+		protected void debugLogAngle(double raw, double smoothed)
+		{
+			double debugAngle = Math.Atan2(Math.Sin(smoothed * DEG2RAD), Math.Cos(smoothed * DEG2RAD)) * RAD2DEG;
+			debugAngle = debugAngle < 0 ? debugAngle + 360 : debugAngle >= 360 ? debugAngle - 360 : debugAngle;
+			Debug.Log(string.Format("{0:0.000} => {1:0.000}", raw, smoothed));
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAbstractBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAbstractBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dd37d925e6f3b6b641fe673668f6b418a40be419
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAbstractBase.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 96b2e341a57b7f44a965174f6d88c67a
+timeCreated: 1527175159
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAverage.cs b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAverage.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f8d7494682c5e11353201953b7dd4780459a05a5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAverage.cs
@@ -0,0 +1,40 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using System;
+	using System.Linq;
+
+
+	/// <summary>
+	/// Simple averaging latest 'n' values.
+	/// </summary>
+	public class AngleSmoothingAverage : AngleSmoothingAbstractBase
+	{
+
+
+		public override double Calculate()
+		{
+
+			// calc mean heading taking into account that eg 355° and 5° should result in 0° and not 180°
+			// refs:
+			// https://en.wikipedia.org/wiki/Mean_of_circular_quantities
+			// https://rosettacode.org/wiki/Averages/Mean_angle
+			// https://rosettacode.org/wiki/Averages/Mean_angle#C.23
+			double cos = _angles.Sum(a => Math.Cos(a * DEG2RAD)) / _angles.Count;
+			double sin = _angles.Sum(a => Math.Sin(a * DEG2RAD)) / _angles.Count;
+
+			// round as we don't need super high precision
+			double finalAngle = Math.Round(Math.Atan2(sin, cos) * RAD2DEG, 2);
+			debugLogAngle(finalAngle, finalAngle);
+			// stay within [0..<360]
+			finalAngle = finalAngle < 0 ? finalAngle + 360 : finalAngle >= 360 ? finalAngle - 360 : finalAngle;
+			debugLogAngle(finalAngle, finalAngle);
+
+			return finalAngle;
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAverage.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAverage.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..88b11b16c98742ac2c3566e8a90939991f577e1f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingAverage.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6843ccbf70c208645a89b4c8c37a4ecf
+timeCreated: 1527174926
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingEMA.cs b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingEMA.cs
new file mode 100644
index 0000000000000000000000000000000000000000..da32cbc23e96041f6505fbe9d0b512b74562c5b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingEMA.cs
@@ -0,0 +1,62 @@
+
+namespace Mapbox.Unity.Location
+{
+
+
+	using System;
+	using System.Linq;
+
+
+	/// <summary>
+	/// <para>Smooths angles via a exponential moving average (EMA).</para>
+	/// <para>https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average</para>
+	/// <para>https://stackoverflow.com/questions/8450020/calculate-exponential-moving-average-on-a-queue-in-c-sharp</para>
+	/// </summary>
+	public class AngleSmoothingEMA : AngleSmoothingAbstractBase
+	{
+
+
+		public AngleSmoothingEMA() : base()
+		{
+			_alpha = 2.0d / (double)(_measurements + 1);
+		}
+
+
+		private double _alpha;
+
+		public override double Calculate()
+		{
+			// reverse order, _angles[0] is latest
+			double[] angles = _angles.Reverse().ToArray();
+
+			// since we cannot work directly on the angles (eg think about 355 and 5)
+			// we convert to cartesian coordinates and apply filtering there
+			// aproximation should be good enough for the use case of compass filtering
+			// differences occur only at the 2nd or 3rd digit after the decimal point
+
+			double sin = Math.Sin(angles[0] * DEG2RAD);
+			double cos = Math.Cos(angles[0] * DEG2RAD);
+			debugLogAngle(angles[0], Math.Atan2(sin, cos) * RAD2DEG);
+
+			for (int i = 1; i < angles.Length; i++)
+			{
+				sin = (Math.Sin(angles[i] * DEG2RAD) - sin) * _alpha + sin;
+				cos = (Math.Cos(angles[i] * DEG2RAD) - cos) * _alpha + cos;
+				debugLogAngle(angles[i], Math.Atan2(sin, cos) * RAD2DEG);
+			}
+
+			// round, don't need crazy precision
+			double finalAngle = Math.Round(Math.Atan2(sin, cos) * RAD2DEG, 2);
+			debugLogAngle(finalAngle, finalAngle);
+			// stay within [0..<360]
+			finalAngle = finalAngle < 0 ? finalAngle + 360 : finalAngle >= 360 ? finalAngle - 360 : finalAngle;
+			debugLogAngle(finalAngle, finalAngle);
+
+			return finalAngle;
+		}
+
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingEMA.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingEMA.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b3a5df3f211ece61b53955911f9e1067f801ef34
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingEMA.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 26ab886ba5422c248b693e60311088c7
+timeCreated: 1527174401
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingLowPass.cs b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingLowPass.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ce075c7a1b3bee7b2f44d1abdeec86c9e37b53a3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingLowPass.cs
@@ -0,0 +1,69 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using System;
+	using System.Linq;
+	using UnityEngine;
+
+
+	/// <summary>
+	/// Smoothing via low pass filter
+	/// </summary>
+	public class AngleSmoothingLowPass : AngleSmoothingAbstractBase
+	{
+
+
+		[SerializeField]
+		[Tooltip("Factor to change smoothing. The lower the factor the slower the angle changes. '1' would be no smoothing")]
+		[Range(0.01f, 0.9f)]
+		private double _smoothingFactor = 0.5;
+
+
+		public AngleSmoothingLowPass() : base() { }
+
+
+		public AngleSmoothingLowPass(double smoothingFactor) : base()
+		{
+			_smoothingFactor = smoothingFactor;
+		}
+
+
+		public override double Calculate()
+		{
+			// reverse order, latest in _angles is at [0]
+			double[] angles = _angles.Reverse().ToArray();
+
+			// since we cannot work directly on the angles (eg think about 355 and 5)
+			// we convert to cartesian coordinates and apply filtering there
+			// aproximation should be good enough for the use case of compass filtering
+			// differences occur only at the 2nd or 3rd digit after the decimal point
+
+			double lastSin = Math.Sin(angles[0] * DEG2RAD);
+			double lastCos = Math.Cos(angles[0] * DEG2RAD);
+
+			debugLogAngle(angles[0], Math.Atan2(lastSin, lastCos) * RAD2DEG);
+
+			for (int i = 1; i < angles.Length; i++)
+			{
+				double angle = angles[i];
+				lastSin = _smoothingFactor * Math.Sin(angle * DEG2RAD) + (1 - _smoothingFactor) * lastSin;
+				lastCos = _smoothingFactor * Math.Cos(angle * DEG2RAD) + (1 - _smoothingFactor) * lastCos;
+				debugLogAngle(angles[i], Math.Atan2(lastSin, lastCos) * RAD2DEG);
+			}
+
+			// round, don't need crazy precision
+			double finalAngle = Math.Round(Math.Atan2(lastSin, lastCos) * RAD2DEG, 2);
+			debugLogAngle(finalAngle, finalAngle);
+			// stay within [0..<360]
+			finalAngle = finalAngle < 0 ? finalAngle + 360 : finalAngle >= 360 ? finalAngle - 360 : finalAngle;
+			debugLogAngle(finalAngle, finalAngle);
+
+			return finalAngle;
+		}
+
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingLowPass.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingLowPass.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..195d285240d5cdae0d449606dba26154383bad74
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingLowPass.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5bc20e719eeb82d448d4698d29d526c0
+timeCreated: 1527174376
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingNoOp.cs b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingNoOp.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d9927b1abc020220116d2b4f7331d130551ea702
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingNoOp.cs
@@ -0,0 +1,10 @@
+namespace Mapbox.Unity.Location
+{
+	/// <summary>
+	/// Doesn't do any calculations. Just passes latest value through.
+	/// </summary>
+	public class AngleSmoothingNoOp : AngleSmoothingAbstractBase
+	{
+		public override double Calculate() { return _angles[0]; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingNoOp.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingNoOp.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f9ee2325844f014ee9671b0f4875323357eb4422
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/AngleSmoothingNoOp.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 1ea49ff9cb53e9b44b5fa981d0009588
+timeCreated: 1527179489
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/IAngleSmoothing.cs b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/IAngleSmoothing.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9625154016cefd5e6022a578f7592bd7e4f49be6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/IAngleSmoothing.cs
@@ -0,0 +1,15 @@
+namespace Mapbox.Unity.Location
+{
+
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+
+	public interface IAngleSmoothing
+	{
+
+		void Add(double angle);
+		double Calculate();
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/IAngleSmoothing.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/IAngleSmoothing.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5fc551dd7f555ab271d33db0d7c622248e752f82
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/AngleSmoothing/IAngleSmoothing.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 0e44baa04db660e4a953a1c006235c94
+timeCreated: 1527174166
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ae514263173dd11e078b74754defd36ec276631d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProvider.cs
@@ -0,0 +1,346 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using System.Collections;
+	using UnityEngine;
+	using Mapbox.Utils;
+	using Mapbox.CheapRulerCs;
+	using System;
+	using System.Linq;
+
+
+
+	/// <summary>
+	/// The DeviceLocationProvider is responsible for providing real world location and heading data,
+	/// served directly from native hardware and OS. 
+	/// This relies on Unity's <see href="https://docs.unity3d.com/ScriptReference/LocationService.html">LocationService</see> for location
+	/// and <see href="https://docs.unity3d.com/ScriptReference/Compass.html">Compass</see> for heading.
+	/// </summary>
+	public class DeviceLocationProvider : AbstractLocationProvider
+	{
+
+
+		/// <summary>
+		/// Using higher value like 500 usually does not require to turn GPS chip on and thus saves battery power. 
+		/// Values like 5-10 could be used for getting best accuracy.
+		/// </summary>
+		[SerializeField]
+		[Tooltip("Using higher value like 500 usually does not require to turn GPS chip on and thus saves battery power. Values like 5-10 could be used for getting best accuracy.")]
+		public float _desiredAccuracyInMeters = 1.0f;
+
+
+		/// <summary>
+		/// The minimum distance (measured in meters) a device must move laterally before Input.location property is updated. 
+		/// Higher values like 500 imply less overhead.
+		/// </summary>
+		[SerializeField]
+		[Tooltip("The minimum distance (measured in meters) a device must move laterally before Input.location property is updated. Higher values like 500 imply less overhead.")]
+		public float _updateDistanceInMeters = 0.0f;
+
+
+		[SerializeField]
+		[Tooltip("The minimum time interval between location updates, in milliseconds. It's reasonable to not go below 500ms.")]
+		public long _updateTimeInMilliSeconds = 500;
+
+
+		[SerializeField]
+		[Tooltip("Smoothing strategy to be applied to the UserHeading.")]
+		public AngleSmoothingAbstractBase _userHeadingSmoothing;
+
+
+		[SerializeField]
+		[Tooltip("Smoothing strategy to applied to the DeviceOrientation.")]
+		public AngleSmoothingAbstractBase _deviceOrientationSmoothing;
+
+
+		[Serializable]
+		public struct DebuggingInEditor
+		{
+			[Header("Set 'EditorLocationProvider' to 'DeviceLocationProvider' and connect device with UnityRemote.")]
+			[SerializeField]
+			[Tooltip("Mock Unity's 'Input.Location' to route location log files through this class (eg fresh calculation of 'UserHeading') instead of just replaying them. To use set 'Editor Location Provider' in 'Location Factory' to 'Device Location Provider' and select a location log file below.")]
+			public bool _mockUnityInputLocation;
+
+			[SerializeField]
+			[Tooltip("Also see above. Location log file to mock Unity's 'Input.Location'.")]
+			public TextAsset _locationLogFile;
+		}
+
+		[Space(20)]
+		public DebuggingInEditor _editorDebuggingOnly;
+
+
+		private IMapboxLocationService _locationService;
+		private Coroutine _pollRoutine;
+		private double _lastLocationTimestamp;
+		private WaitForSeconds _wait1sec;
+		private WaitForSeconds _waitUpdateTime;
+		/// <summary>list of positions to keep for calculations</summary>
+		private CircularBuffer<Vector2d> _lastPositions;
+		/// <summary>number of last positons to keep</summary>
+		private int _maxLastPositions = 5;
+		/// <summary>minimum needed distance between oldest and newest position before UserHeading is calculated</summary>
+		private double _minDistanceOldestNewestPosition = 1.5;
+
+
+		// Android 6+ permissions have to be granted during runtime
+		// these are the callbacks for requesting location permission
+		// TODO: show message to users in case they accidentallly denied permission
+#if UNITY_ANDROID
+		private bool _gotPermissionRequestResponse = false;
+
+		private void OnAllow() { _gotPermissionRequestResponse = true; }
+		private void OnDeny() { _gotPermissionRequestResponse = true; }
+		private void OnDenyAndNeverAskAgain() { _gotPermissionRequestResponse = true; }
+#endif
+
+
+		protected virtual void Awake()
+		{
+#if UNITY_EDITOR
+			if (_editorDebuggingOnly._mockUnityInputLocation)
+			{
+				if (null == _editorDebuggingOnly._locationLogFile || null == _editorDebuggingOnly._locationLogFile.bytes)
+				{
+					throw new ArgumentNullException("Location Log File");
+				}
+
+				_locationService = new MapboxLocationServiceMock(_editorDebuggingOnly._locationLogFile.bytes);
+			}
+			else
+			{
+#endif
+				_locationService = new MapboxLocationServiceUnityWrapper();
+#if UNITY_EDITOR
+			}
+#endif
+
+			_currentLocation.Provider = "unity";
+			_wait1sec = new WaitForSeconds(1f);
+			_waitUpdateTime = _updateTimeInMilliSeconds < 500 ? new WaitForSeconds(0.5f) : new WaitForSeconds((float)_updateTimeInMilliSeconds / 1000.0f);
+
+			if (null == _userHeadingSmoothing) { _userHeadingSmoothing = transform.gameObject.AddComponent<AngleSmoothingNoOp>(); }
+			if (null == _deviceOrientationSmoothing) { _deviceOrientationSmoothing = transform.gameObject.AddComponent<AngleSmoothingNoOp>(); }
+
+			_lastPositions = new CircularBuffer<Vector2d>(_maxLastPositions);
+
+			if (_pollRoutine == null)
+			{
+				_pollRoutine = StartCoroutine(PollLocationRoutine());
+			}
+		}
+
+
+		/// <summary>
+		/// Enable location and compass services.
+		/// Sends continuous location and heading updates based on 
+		/// _desiredAccuracyInMeters and _updateDistanceInMeters.
+		/// </summary>
+		/// <returns>The location routine.</returns>
+		IEnumerator PollLocationRoutine()
+		{
+#if UNITY_EDITOR
+			while (!UnityEditor.EditorApplication.isRemoteConnected)
+			{
+				// exit if we are not the selected location provider
+				if (null != LocationProviderFactory.Instance && null != LocationProviderFactory.Instance.DefaultLocationProvider)
+				{
+					if (!this.Equals(LocationProviderFactory.Instance.DefaultLocationProvider))
+					{
+						yield break;
+					}
+				}
+
+				Debug.LogWarning("Remote device not connected via 'Unity Remote'. Waiting ..." + Environment.NewLine + "If Unity seems to be stuck here make sure 'Unity Remote' is running and restart Unity with your device already connected.");
+				yield return _wait1sec;
+			}
+#endif
+
+
+			//request runtime fine location permission on Android if not yet allowed
+#if UNITY_ANDROID
+			if (!_locationService.isEnabledByUser)
+			{
+				UniAndroidPermission.RequestPermission(AndroidPermission.ACCESS_FINE_LOCATION);
+				//wait for user to allow or deny
+				while (!_gotPermissionRequestResponse) { yield return _wait1sec; }
+			}
+#endif
+
+
+			if (!_locationService.isEnabledByUser)
+			{
+				Debug.LogError("DeviceLocationProvider: Location is not enabled by user!");
+				_currentLocation.IsLocationServiceEnabled = false;
+				SendLocation(_currentLocation);
+				yield break;
+			}
+
+
+			_currentLocation.IsLocationServiceInitializing = true;
+			_locationService.Start(_desiredAccuracyInMeters, _updateDistanceInMeters);
+			Input.compass.enabled = true;
+
+			int maxWait = 20;
+			while (_locationService.status == LocationServiceStatus.Initializing && maxWait > 0)
+			{
+				yield return _wait1sec;
+				maxWait--;
+			}
+
+			if (maxWait < 1)
+			{
+				Debug.LogError("DeviceLocationProvider: " + "Timed out trying to initialize location services!");
+				_currentLocation.IsLocationServiceInitializing = false;
+				_currentLocation.IsLocationServiceEnabled = false;
+				SendLocation(_currentLocation);
+				yield break;
+			}
+
+			if (_locationService.status == LocationServiceStatus.Failed)
+			{
+				Debug.LogError("DeviceLocationProvider: " + "Failed to initialize location services!");
+				_currentLocation.IsLocationServiceInitializing = false;
+				_currentLocation.IsLocationServiceEnabled = false;
+				SendLocation(_currentLocation);
+				yield break;
+			}
+
+			_currentLocation.IsLocationServiceInitializing = false;
+			_currentLocation.IsLocationServiceEnabled = true;
+
+#if UNITY_EDITOR
+			// HACK: this is to prevent Android devices, connected through Unity Remote, 
+			// from reporting a location of (0, 0), initially.
+			yield return _wait1sec;
+#endif
+
+			System.Globalization.CultureInfo invariantCulture = System.Globalization.CultureInfo.InvariantCulture;
+
+			while (true)
+			{
+
+				var lastData = _locationService.lastData;
+				var timestamp = lastData.timestamp;
+
+				///////////////////////////////
+				// oh boy, Unity what are you doing???
+				// on some devices it seems that
+				// Input.location.status != LocationServiceStatus.Running
+				// nevertheless new location is available
+				//////////////////////////////
+				//Debug.LogFormat("Input.location.status: {0}", Input.location.status);
+				_currentLocation.IsLocationServiceEnabled =
+					_locationService.status == LocationServiceStatus.Running
+					|| timestamp > _lastLocationTimestamp;
+
+				_currentLocation.IsUserHeadingUpdated = false;
+				_currentLocation.IsLocationUpdated = false;
+
+				if (!_currentLocation.IsLocationServiceEnabled)
+				{
+					yield return _waitUpdateTime;
+					continue;
+				}
+
+				// device orientation, user heading get calculated below
+				_deviceOrientationSmoothing.Add(Input.compass.trueHeading);
+				_currentLocation.DeviceOrientation = (float)_deviceOrientationSmoothing.Calculate();
+
+
+				//_currentLocation.LatitudeLongitude = new Vector2d(lastData.latitude, lastData.longitude);
+				// HACK to get back to double precision, does this even work?
+				// https://forum.unity.com/threads/precision-of-location-longitude-is-worse-when-longitude-is-beyond-100-degrees.133192/#post-1835164
+				double latitude = double.Parse(lastData.latitude.ToString("R", invariantCulture), invariantCulture);
+				double longitude = double.Parse(lastData.longitude.ToString("R", invariantCulture), invariantCulture);
+				Vector2d previousLocation = new Vector2d(_currentLocation.LatitudeLongitude.x, _currentLocation.LatitudeLongitude.y);
+				_currentLocation.LatitudeLongitude = new Vector2d(latitude, longitude);
+
+				_currentLocation.Accuracy = (float)Math.Floor(lastData.horizontalAccuracy);
+				// sometimes Unity's timestamp doesn't seem to get updated, or even jump back in time
+				// do an additional check if location has changed
+				_currentLocation.IsLocationUpdated = timestamp > _lastLocationTimestamp || !_currentLocation.LatitudeLongitude.Equals(previousLocation);
+				_currentLocation.Timestamp = timestamp;
+				_lastLocationTimestamp = timestamp;
+
+				if (_currentLocation.IsLocationUpdated)
+				{
+					if (_lastPositions.Count > 0)
+					{
+						// only add position if user has moved +1m since we added the previous position to the list
+						CheapRuler cheapRuler = new CheapRuler(_currentLocation.LatitudeLongitude.x, CheapRulerUnits.Meters);
+						Vector2d p = _currentLocation.LatitudeLongitude;
+						double distance = cheapRuler.Distance(
+							new double[] { p.y, p.x },
+							new double[] { _lastPositions[0].y, _lastPositions[0].x }
+						);
+						if (distance > 1.0)
+						{
+							_lastPositions.Add(_currentLocation.LatitudeLongitude);
+						}
+					}
+					else
+					{
+						_lastPositions.Add(_currentLocation.LatitudeLongitude);
+					}
+				}
+
+				// if we have enough positions calculate user heading ourselves.
+				// Unity does not provide bearing based on GPS locations, just
+				// device orientation based on Compass.Heading.
+				// nevertheless, use compass for intial UserHeading till we have
+				// enough values to calculate ourselves.
+				if (_lastPositions.Count < _maxLastPositions)
+				{
+					_currentLocation.UserHeading = _currentLocation.DeviceOrientation;
+					_currentLocation.IsUserHeadingUpdated = true;
+				}
+				else
+				{
+					Vector2d newestPos = _lastPositions[0];
+					Vector2d oldestPos = _lastPositions[_maxLastPositions - 1];
+					CheapRuler cheapRuler = new CheapRuler(newestPos.x, CheapRulerUnits.Meters);
+					// distance between last and first position in our buffer
+					double distance = cheapRuler.Distance(
+						new double[] { newestPos.y, newestPos.x },
+						new double[] { oldestPos.y, oldestPos.x }
+					);
+					// positions are minimum required distance apart (user is moving), calculate user heading
+					if (distance >= _minDistanceOldestNewestPosition)
+					{
+						float[] lastHeadings = new float[_maxLastPositions - 1];
+
+						for (int i = 1; i < _maxLastPositions; i++)
+						{
+							// atan2 increases angle CCW, flip sign of latDiff to get CW
+							double latDiff = -(_lastPositions[i].x - _lastPositions[i - 1].x);
+							double lngDiff = _lastPositions[i].y - _lastPositions[i - 1].y;
+							// +90.0 to make top (north) 0°
+							double heading = (Math.Atan2(latDiff, lngDiff) * 180.0 / Math.PI) + 90.0f;
+							// stay within [0..360]° range
+							if (heading < 0) { heading += 360; }
+							if (heading >= 360) { heading -= 360; }
+							lastHeadings[i - 1] = (float)heading;
+						}
+
+						_userHeadingSmoothing.Add(lastHeadings[0]);
+						float finalHeading = (float)_userHeadingSmoothing.Calculate();
+
+						//fix heading to have 0° for north, 90° for east, 180° for south and 270° for west
+						finalHeading = finalHeading >= 180.0f ? finalHeading - 180.0f : finalHeading + 180.0f;
+
+
+						_currentLocation.UserHeading = finalHeading;
+						_currentLocation.IsUserHeadingUpdated = true;
+					}
+				}
+
+				_currentLocation.TimestampDevice = UnixTimestampUtils.To(DateTime.UtcNow);
+				SendLocation(_currentLocation);
+
+				yield return _waitUpdateTime;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8b9422519b83bfe9d13242d680a94aaca2bd6344
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0a38712e93231418a84665190b8473d0
+timeCreated: 1484075762
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProviderAndroidNative.cs b/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProviderAndroidNative.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1d43293690381345fb3054a43fc45c5ebdf19e45
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProviderAndroidNative.cs
@@ -0,0 +1,417 @@
+namespace Mapbox.Unity.Location
+{
+	using UnityEngine;
+	using System.Collections;
+	using System.Globalization;
+	using System;
+	using System.IO;
+	using System.Text;
+	using Mapbox.Utils;
+
+	public class DeviceLocationProviderAndroidNative : AbstractLocationProvider, IDisposable
+	{
+
+
+		/// <summary>
+		/// The minimum distance (measured in meters) a device must move laterally before location is updated. 
+		/// https://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String,%20long,%20float,%20android.location.LocationListener)
+		/// </summary>
+		[SerializeField]
+		[Tooltip("The minimum distance (measured in meters) a device must move laterally before location is updated. Higher values like 500 imply less overhead.")]
+		float _updateDistanceInMeters = 0.0f;
+
+
+		/// <summary>
+		/// The minimum time interval between location updates, in milliseconds.
+		/// https://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String,%20long,%20float,%20android.location.LocationListener)
+		/// </summary>
+		[SerializeField]
+		[Tooltip("The minimum time interval between location updates, in milliseconds. It's reasonable to not go below 500ms.")]
+		long _updateTimeInMilliSeconds = 1000;
+
+
+		private WaitForSeconds _wait1sec;
+		private WaitForSeconds _wait5sec;
+		private WaitForSeconds _wait60sec;
+		/// <summary>polls location provider only at the requested update intervall to reduce load</summary>
+		private WaitForSeconds _waitUpdateTime;
+		private bool _disposed;
+		private static object _lock = new object();
+		private Coroutine _pollLocation;
+
+		private AndroidJavaObject _activityContext = null;
+		private AndroidJavaObject _gpsInstance;
+		private AndroidJavaObject _sensorInstance;
+
+
+		~DeviceLocationProviderAndroidNative() { Dispose(false); }
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+
+		protected virtual void Dispose(bool disposeManagedResources)
+		{
+			if (!_disposed)
+			{
+				if (disposeManagedResources)
+				{
+					shutdown();
+				}
+				_disposed = true;
+			}
+		}
+
+
+		private void shutdown()
+		{
+			try
+			{
+				lock (_lock)
+				{
+					if (null != _gpsInstance)
+					{
+						_gpsInstance.Call("stopLocationListeners");
+						_gpsInstance.Dispose();
+						_gpsInstance = null;
+					}
+					if (null != _sensorInstance)
+					{
+						_sensorInstance.Call("stopSensorListeners");
+						_sensorInstance.Dispose();
+						_sensorInstance = null;
+					}
+				}
+			}
+			catch (Exception ex)
+			{
+				Debug.LogError(ex);
+			}
+		}
+
+
+		protected virtual void OnDestroy() { shutdown(); }
+
+
+		protected virtual void OnDisable() { shutdown(); }
+
+		protected virtual void Awake()
+		{
+			// safe measures to not run when disabled or not selected as location provider
+			if (!enabled) { return; }
+			if (!transform.gameObject.activeInHierarchy) { return; }
+
+
+			_wait1sec = new WaitForSeconds(1);
+			_wait5sec = new WaitForSeconds(5);
+			_wait60sec = new WaitForSeconds(60);
+			// throttle if entered update intervall is unreasonably low
+			_waitUpdateTime = _updateTimeInMilliSeconds < 500 ? new WaitForSeconds(0.5f) : new WaitForSeconds((float)_updateTimeInMilliSeconds / 1000.0f);
+
+			_currentLocation.IsLocationServiceEnabled = false;
+			_currentLocation.IsLocationServiceInitializing = true;
+
+			if (Application.platform == RuntimePlatform.Android)
+			{
+				getActivityContext();
+				getGpsInstance(true);
+				getSensorInstance();
+
+				if (_pollLocation == null)
+				{
+					_pollLocation = StartCoroutine(locationRoutine());
+				}
+			}
+		}
+
+
+		private void getActivityContext()
+		{
+			using (AndroidJavaClass activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
+			{
+				_activityContext = activityClass.GetStatic<AndroidJavaObject>("currentActivity");
+			}
+
+			if (null == _activityContext)
+			{
+				Debug.LogError("Could not get UnityPlayer activity");
+				return;
+			}
+		}
+
+
+		private void getGpsInstance(bool showToastMessages = false)
+		{
+			if (null == _activityContext) { return; }
+
+			using (AndroidJavaClass androidGps = new AndroidJavaClass("com.mapbox.android.unity.AndroidGps"))
+			{
+				if (null == androidGps)
+				{
+					Debug.LogError("Could not get class 'AndroidGps'");
+					return;
+				}
+
+				_gpsInstance = androidGps.CallStatic<AndroidJavaObject>("instance", _activityContext);
+				if (null == _gpsInstance)
+				{
+					Debug.LogError("Could not get 'AndroidGps' instance");
+					return;
+				}
+
+				_activityContext.Call("runOnUiThread", new AndroidJavaRunnable(() => { _gpsInstance.Call("showMessage", "starting location listeners"); }));
+
+				_gpsInstance.Call("startLocationListeners", _updateDistanceInMeters, _updateTimeInMilliSeconds);
+			}
+		}
+
+
+		private void getSensorInstance()
+		{
+			if (null == _activityContext) { return; }
+
+			using (AndroidJavaClass androidSensors = new AndroidJavaClass("com.mapbox.android.unity.AndroidSensors"))
+			{
+				if (null == androidSensors)
+				{
+					Debug.LogError("Could not get class 'AndroidSensors'");
+					return;
+				}
+
+				_sensorInstance = androidSensors.CallStatic<AndroidJavaObject>("instance", _activityContext);
+				if (null == _sensorInstance)
+				{
+					Debug.LogError("Could not get 'AndroidSensors' instance");
+					return;
+				}
+
+				_sensorInstance.Call("startSensorListeners");
+			}
+		}
+
+		private IEnumerator locationRoutine()
+		{
+
+			while (true)
+			{
+				// couldn't get player activity, wait and retry
+				if (null == _activityContext)
+				{
+					SendLocation(_currentLocation);
+					yield return _wait60sec;
+					getActivityContext();
+					continue;
+				}
+				// couldn't get gps plugin instance, wait and retry
+				if (null == _gpsInstance)
+				{
+					SendLocation(_currentLocation);
+					yield return _wait60sec;
+					getGpsInstance();
+					continue;
+				}
+
+				// update device orientation
+				if (null != _sensorInstance)
+				{
+					_currentLocation.DeviceOrientation = _sensorInstance.Call<float>("getOrientation");
+				}
+
+				bool locationServiceAvailable = _gpsInstance.Call<bool>("getIsLocationServiceAvailable");
+				_currentLocation.IsLocationServiceEnabled = locationServiceAvailable;
+
+				// app might have been started with location OFF but switched on after start
+				// check from time to time
+				if (!locationServiceAvailable)
+				{
+					_currentLocation.IsLocationServiceInitializing = true;
+					_currentLocation.Accuracy = 0;
+					_currentLocation.HasGpsFix = false;
+					_currentLocation.SatellitesInView = 0;
+					_currentLocation.SatellitesUsed = 0;
+
+					SendLocation(_currentLocation);
+					_gpsInstance.Call("stopLocationListeners");
+					yield return _wait5sec;
+					_gpsInstance.Call("startLocationListeners", _updateDistanceInMeters, _updateTimeInMilliSeconds);
+					yield return _wait1sec;
+					continue;
+				}
+
+
+				// if we got till here it means location services are running
+				_currentLocation.IsLocationServiceInitializing = false;
+
+				try
+				{
+					AndroidJavaObject locNetwork = _gpsInstance.Get<AndroidJavaObject>("lastKnownLocationNetwork");
+					AndroidJavaObject locGps = _gpsInstance.Get<AndroidJavaObject>("lastKnownLocationGps");
+
+					// easy cases: neither or either gps location or network location available
+					if (null == locGps & null == locNetwork) { populateCurrentLocation(null); }
+					if (null != locGps && null == locNetwork) { populateCurrentLocation(locGps); }
+					if (null == locGps && null != locNetwork) { populateCurrentLocation(locNetwork); }
+
+					// gps- and network location available: figure out which one to use
+					if (null != locGps && null != locNetwork) { populateWithBetterLocation(locGps, locNetwork); }
+
+
+					_currentLocation.TimestampDevice = UnixTimestampUtils.To(DateTime.UtcNow);
+					SendLocation(_currentLocation);
+				}
+				catch (Exception ex)
+				{
+					Debug.LogErrorFormat("GPS plugin error: " + ex.ToString());
+				}
+				yield return _waitUpdateTime;
+			}
+		}
+
+
+		private void populateCurrentLocation(AndroidJavaObject location)
+		{
+			if (null == location)
+			{
+				_currentLocation.IsLocationUpdated = false;
+				_currentLocation.IsUserHeadingUpdated = false;
+				return;
+			}
+
+			double lat = location.Call<double>("getLatitude");
+			double lng = location.Call<double>("getLongitude");
+			Utils.Vector2d newLatLng = new Utils.Vector2d(lat, lng);
+			bool coordinatesUpdated = !newLatLng.Equals(_currentLocation.LatitudeLongitude);
+			_currentLocation.LatitudeLongitude = newLatLng;
+
+			float newAccuracy = location.Call<float>("getAccuracy");
+			bool accuracyUpdated = newAccuracy != _currentLocation.Accuracy;
+			_currentLocation.Accuracy = newAccuracy;
+
+			// divide by 1000. Android returns milliseconds, we work with seconds
+			long newTimestamp = location.Call<long>("getTime") / 1000;
+			bool timestampUpdated = newTimestamp != _currentLocation.Timestamp;
+			_currentLocation.Timestamp = newTimestamp;
+
+			string newProvider = location.Call<string>("getProvider");
+			bool providerUpdated = newProvider != _currentLocation.Provider;
+			_currentLocation.Provider = newProvider;
+
+			bool hasBearing = location.Call<bool>("hasBearing");
+			// only evalute bearing when location object actually has a bearing
+			// Android populates bearing (which is not equal to device orientation)
+			// only when the device is moving.
+			// Otherwise it is set to '0.0'
+			// https://developer.android.com/reference/android/location/Location.html#getBearing()
+			// We don't want that when we rotate a map according to the direction
+			// thes user is moving, thus don't update 'heading' with '0.0' 
+			if (!hasBearing)
+			{
+				_currentLocation.IsUserHeadingUpdated = false;
+			}
+			else
+			{
+				float newHeading = location.Call<float>("getBearing");
+				_currentLocation.IsUserHeadingUpdated = newHeading != _currentLocation.UserHeading;
+				_currentLocation.UserHeading = newHeading;
+			}
+
+			float? newSpeed = location.Call<float>("getSpeed");
+			bool speedUpdated = newSpeed != _currentLocation.SpeedMetersPerSecond;
+			_currentLocation.SpeedMetersPerSecond = newSpeed;
+
+			// flag location as updated if any of below conditions evaluates to true
+			// Debug.LogFormat("coords:{0} acc:{1} time:{2} speed:{3}", coordinatesUpdated, accuracyUpdated, timestampUpdated, speedUpdated);
+			_currentLocation.IsLocationUpdated =
+				providerUpdated
+				|| coordinatesUpdated
+				|| accuracyUpdated
+				|| timestampUpdated
+				|| speedUpdated;
+
+			// Un-comment if required. Throws a warning right now. 
+			//bool networkEnabled = _gpsInstance.Call<bool>("getIsNetworkEnabled");
+			bool gpsEnabled = _gpsInstance.Call<bool>("getIsGpsEnabled");
+			if (!gpsEnabled)
+			{
+				_currentLocation.HasGpsFix = null;
+				_currentLocation.SatellitesInView = null;
+				_currentLocation.SatellitesUsed = null;
+			}
+			else
+			{
+				_currentLocation.HasGpsFix = _gpsInstance.Get<bool>("hasGpsFix");
+				_currentLocation.SatellitesInView = _gpsInstance.Get<int>("satellitesInView");
+				_currentLocation.SatellitesUsed = _gpsInstance.Get<int>("satellitesUsedInFix");
+			}
+
+		}
+
+
+		/// <summary>
+		/// If GPS and network location are available use the newer/better one
+		/// </summary>
+		/// <param name="locGps"></param>
+		/// <param name="locNetwork"></param>
+		private void populateWithBetterLocation(AndroidJavaObject locGps, AndroidJavaObject locNetwork)
+		{
+
+			// check which location is fresher
+			long timestampGps = locGps.Call<long>("getTime");
+			long timestampNet = locNetwork.Call<long>("getTime");
+			if (timestampGps > timestampNet)
+			{
+				populateCurrentLocation(locGps);
+				return;
+			}
+
+			// check which location has better accuracy
+			float accuracyGps = locGps.Call<float>("getAccuracy");
+			float accuracyNet = locNetwork.Call<float>("getAccuracy");
+			if (accuracyGps < accuracyNet)
+			{
+				populateCurrentLocation(locGps);
+				return;
+			}
+
+			// default to network
+			populateCurrentLocation(locNetwork);
+		}
+
+#if UNITY_ANDROID
+
+		private string time2str(AndroidJavaObject loc)
+		{
+			long time = loc.Call<long>("getTime");
+			DateTime dtPlugin = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromMilliseconds(time));
+			return dtPlugin.ToString("yyyyMMdd HHmmss");
+		}
+
+
+
+		private string loc2str(AndroidJavaObject loc)
+		{
+
+			if (null == loc) { return "loc: NULL"; }
+
+			try
+			{
+
+				double lat = loc.Call<double>("getLatitude");
+				double lng = loc.Call<double>("getLongitude");
+
+				return string.Format(CultureInfo.InvariantCulture, "{0:0.00000000} / {1:0.00000000}", lat, lng);
+			}
+			catch (Exception ex)
+			{
+				return ex.ToString();
+			}
+		}
+
+#endif
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProviderAndroidNative.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProviderAndroidNative.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..78635c575548f5609cac6c7238a73834970b5161
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/DeviceLocationProviderAndroidNative.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d3d557417079b1446999d2d86ff71dfb
+timeCreated: 1524214127
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b61a447245785adfc98b76633de7878d4c70ce9d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProvider.cs
@@ -0,0 +1,87 @@
+namespace Mapbox.Unity.Location
+{
+	using System;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Utils;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+
+	/// <summary>
+	/// The EditorLocationProvider is responsible for providing mock location and heading data
+	/// for testing purposes in the Unity editor.
+	/// </summary>
+	public class EditorLocationProvider : AbstractEditorLocationProvider
+	{
+		/// <summary>
+		/// The mock "latitude, longitude" location, respresented with a string.
+		/// You can search for a place using the embedded "Search" button in the inspector.
+		/// This value can be changed at runtime in the inspector.
+		/// </summary>
+		[SerializeField]
+		[Geocode]
+		string _latitudeLongitude;
+
+		/// <summary>
+		/// The transform that will be queried for location and heading data & ADDED to the mock latitude/longitude
+		/// Can be changed at runtime to simulate moving within the map.
+		/// </summary>
+		[SerializeField]
+		Transform _targetTransform;
+
+		AbstractMap _map;
+
+		bool _mapInitialized;
+
+#if UNITY_EDITOR
+		protected virtual void Start()
+		{
+			LocationProviderFactory.Instance.mapManager.OnInitialized += Map_OnInitialized;
+
+			if (_targetTransform == null)
+			{
+				_targetTransform = transform;
+			}
+
+			base.Awake();
+		}
+#endif
+
+		void Map_OnInitialized()
+		{
+			LocationProviderFactory.Instance.mapManager.OnInitialized -= Map_OnInitialized;
+			_mapInitialized = true;
+			_map = LocationProviderFactory.Instance.mapManager;
+		}
+
+		Vector2d LatitudeLongitude
+		{
+			get
+			{
+				if (_mapInitialized)
+				{
+					var startingLatLong = Conversions.StringToLatLon(_latitudeLongitude);
+					var position = Conversions.GeoToWorldPosition(
+						startingLatLong,
+						_map.CenterMercator,
+						_map.WorldRelativeScale
+					).ToVector3xz();
+					position += _targetTransform.position;
+					return position.GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
+				}
+
+				return Conversions.StringToLatLon(_latitudeLongitude);
+			}
+		}
+
+		protected override void SetLocation()
+		{
+			_currentLocation.UserHeading = _targetTransform.eulerAngles.y;
+			_currentLocation.LatitudeLongitude = LatitudeLongitude;
+			_currentLocation.Accuracy = _accuracy;
+			_currentLocation.Timestamp = UnixTimestampUtils.To(DateTime.UtcNow);
+			_currentLocation.IsLocationUpdated = true;
+			_currentLocation.IsUserHeadingUpdated = true;
+			_currentLocation.IsLocationServiceEnabled = true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1a3c27e81ea317351b3e08bdee8be15075e08c63
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 60712efc3153a4819b0c79437175846d
+timeCreated: 1484085721
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProviderLocationLog.cs b/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProviderLocationLog.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c16c7a44c908849871f26478ea117d59d6a9071a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProviderLocationLog.cs
@@ -0,0 +1,67 @@
+namespace Mapbox.Unity.Location
+{
+	using System;
+	using System.Collections.Generic;
+	using System.Globalization;
+	using System.IO;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Utils;
+	using UnityEngine;
+
+	/// <summary>
+	/// <para>
+	/// The EditorLocationProvider is responsible for providing mock location data via log file collected with the 'LocationProvider' scene
+	/// </para>
+	/// </summary>
+	public class EditorLocationProviderLocationLog : AbstractEditorLocationProvider
+	{
+
+
+		/// <summary>
+		/// The mock "latitude, longitude" location, respresented with a string.
+		/// You can search for a place using the embedded "Search" button in the inspector.
+		/// This value can be changed at runtime in the inspector.
+		/// </summary>
+		[SerializeField]
+		private TextAsset _locationLogFile;
+
+
+		private LocationLogReader _logReader;
+		private IEnumerator<Location> _locationEnumerator;
+
+
+#if UNITY_EDITOR
+		protected override void Awake()
+		{
+			base.Awake();
+			_logReader = new LocationLogReader(_locationLogFile.bytes);
+			_locationEnumerator = _logReader.GetLocations();
+		}
+#endif
+
+
+		private void OnDestroy()
+		{
+			if (null != _locationEnumerator)
+			{
+				_locationEnumerator.Dispose();
+				_locationEnumerator = null;
+			}
+			if (null != _logReader)
+			{
+				_logReader.Dispose();
+				_logReader = null;
+			}
+		}
+
+
+		protected override void SetLocation()
+		{
+			if (null == _locationEnumerator) { return; }
+
+			// no need to check if 'MoveNext()' returns false as LocationLogReader loops through log file
+			_locationEnumerator.MoveNext();
+			_currentLocation = _locationEnumerator.Current;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProviderLocationLog.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProviderLocationLog.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d122d75bc16d6c40c36424ff7ec96059e7942f6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/EditorLocationProviderLocationLog.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c34c76d6349bc9844998f48d16f0d3bb
+timeCreated: 1524639538
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces.meta b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c56dcfb055621ac07fc7fbcd57f93d1309208cd6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8232a48e0bb26b34caa7b4733871a9c3
+folderAsset: yes
+timeCreated: 1524651375
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/Helsinki.txt b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/Helsinki.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8712d0d3287020464bf41a93e3c641a74692b0cc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/Helsinki.txt
@@ -0,0 +1,713 @@
+#location service enabled;location service intializing;location updated;userheading updated;location provider;location provider class;time device [utc];time location [utc];latitude;longitude;accuracy [m];user heading [�];device orientation [�];speed [km/h];has gps fix;satellites used;satellites in view
+True;False;False;True;unity;DeviceLocationProvider;20180524-163505.787;20180524-163427.922;60.19188000;24.96858220;34.0;305.1;305.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163506.249;20180524-163427.922;60.19188000;24.96858220;34.0;313.5;313.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163506.749;20180524-163427.922;60.19188000;24.96858220;34.0;349.1;349.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163507.254;20180524-163427.922;60.19188000;24.96858220;34.0;308.9;308.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163507.757;20180524-163427.922;60.19188000;24.96858220;34.0;336.6;336.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163508.256;20180524-163427.922;60.19188000;24.96858220;34.0;288.9;288.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163508.757;20180524-163427.922;60.19188000;24.96858220;34.0;325.7;325.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163509.258;20180524-163427.922;60.19188000;24.96858220;34.0;309.8;309.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163509.760;20180524-163427.922;60.19188000;24.96858220;34.0;328.4;328.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163510.256;20180524-163510.533;60.19185260;24.96877670;4.0;329.2;329.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163510.761;20180524-163510.533;60.19185260;24.96877670;4.0;331.0;331.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163511.259;20180524-163512.000;60.19185640;24.96873660;4.0;344.2;344.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163511.761;20180524-163512.000;60.19185640;24.96873660;4.0;317.6;317.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163512.282;20180524-163513.000;60.19181000;24.96869660;4.0;255.6;336.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163512.749;20180524-163513.000;60.19181000;24.96869660;4.0;255.6;286.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163513.263;20180524-163514.000;60.19179000;24.96865460;4.0;231.7;321.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163513.764;20180524-163514.000;60.19179000;24.96865460;4.0;231.7;280.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163514.165;20180524-163515.000;60.19179000;24.96862220;4.0;252.9;313.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163514.701;20180524-163516.000;60.19180300;24.96859740;3.0;258.1;322.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163515.204;20180524-163516.000;60.19180300;24.96859740;3.0;258.1;336.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163515.736;20180524-163517.000;60.19182210;24.96856000;3.0;277.6;325.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163516.240;20180524-163517.000;60.19182210;24.96856000;3.0;277.6;346.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163516.742;20180524-163518.000;60.19184000;24.96854000;3.0;294.2;319.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163517.240;20180524-163518.000;60.19184000;24.96854000;3.0;294.2;351.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163517.745;20180524-163519.000;60.19185260;24.96852000;3.0;302.2;311.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163518.243;20180524-163519.000;60.19185260;24.96852000;3.0;302.2;333.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163518.742;20180524-163520.000;60.19186780;24.96849820;3.0;304.0;287.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163519.244;20180524-163520.000;60.19186780;24.96849820;3.0;304.0;333.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163519.746;20180524-163521.000;60.19188310;24.96847530;3.0;305.7;281.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163520.252;20180524-163521.000;60.19188310;24.96847530;3.0;305.7;338.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163520.746;20180524-163522.000;60.19189450;24.96845820;3.0;303.6;278.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163521.251;20180524-163522.000;60.19189450;24.96845820;3.0;303.6;317.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163521.749;20180524-163523.000;60.19190220;24.96844670;3.0;304.0;306.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163522.250;20180524-163523.000;60.19190220;24.96844670;3.0;304.0;331.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163522.749;20180524-163524.000;60.19191360;24.96843000;3.0;303.9;322.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163523.252;20180524-163524.000;60.19191360;24.96843000;3.0;303.9;316.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163523.753;20180524-163525.000;60.19192500;24.96840480;3.0;301.5;336.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163524.255;20180524-163525.000;60.19192500;24.96840480;3.0;301.5;322.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163524.736;20180524-163526.000;60.19193270;24.96838000;3.0;297.4;305.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163525.239;20180524-163526.000;60.19193270;24.96838000;3.0;297.4;311.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163525.741;20180524-163527.000;60.19193650;24.96835710;3.0;291.3;322.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163526.255;20180524-163527.000;60.19193650;24.96835710;3.0;291.3;322.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163526.755;20180524-163528.000;60.19193650;24.96832850;3.0;282.8;341.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163527.260;20180524-163528.000;60.19193650;24.96832850;3.0;282.8;328.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163527.740;20180524-163529.000;60.19194410;24.96829800;3.0;280.2;306.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163528.246;20180524-163529.000;60.19194410;24.96829800;3.0;280.2;312.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163528.744;20180524-163530.000;60.19194790;24.96827320;3.0;278.0;320.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163529.246;20180524-163530.000;60.19194790;24.96827320;3.0;278.0;298.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163529.744;20180524-163531.000;60.19195000;24.96825220;3.0;277.1;313.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163530.249;20180524-163531.000;60.19195000;24.96825220;3.0;277.1;296.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163530.744;20180524-163532.000;60.19196000;24.96822740;3.0;282.6;317.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163531.248;20180524-163532.000;60.19196000;24.96822740;3.0;282.6;303.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163531.751;20180524-163533.000;60.19196320;24.96820450;3.0;281.1;319.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163532.252;20180524-163533.000;60.19196320;24.96820450;3.0;281.1;287.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163532.771;20180524-163534.000;60.19196700;24.96818160;3.0;281.2;317.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163533.268;20180524-163534.000;60.19196700;24.96818160;3.0;281.2;298.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163533.771;20180524-163535.000;60.19197000;24.96815490;3.0;281.4;314.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163534.272;20180524-163535.000;60.19197000;24.96815490;3.0;281.4;300.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163534.753;20180524-163536.000;60.19197460;24.96812630;3.0;278.2;325.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163535.255;20180524-163536.000;60.19197460;24.96812630;3.0;278.2;301.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163535.753;20180524-163537.000;60.19198230;24.96809580;3.0;279.8;335.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163536.258;20180524-163537.000;60.19198230;24.96809580;3.0;279.8;307.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163536.756;20180524-163538.000;60.19199000;24.96807000;3.0;281.6;331.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163537.259;20180524-163538.000;60.19199000;24.96807000;3.0;281.6;307.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163537.766;20180524-163539.000;60.19199750;24.96804430;3.0;284.0;331.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163538.257;20180524-163539.000;60.19199750;24.96804430;3.0;284.0;298.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163538.754;20180524-163540.000;60.19200000;24.96801570;3.0;283.0;320.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163539.261;20180524-163540.000;60.19200000;24.96801570;3.0;283.0;301.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163539.761;20180524-163541.000;60.19201000;24.96798520;3.0;284.0;322.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163540.264;20180524-163541.000;60.19201000;24.96798520;3.0;284.0;295.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163540.779;20180524-163542.000;60.19201660;24.96795460;3.0;282.9;344.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163541.281;20180524-163542.000;60.19201660;24.96795460;3.0;282.9;298.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163541.781;20180524-163543.000;60.19202420;24.96792600;3.0;282.6;317.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163542.285;20180524-163543.000;60.19202420;24.96792600;3.0;282.6;314.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163542.760;20180524-163544.000;60.19203000;24.96789550;3.0;284.0;301.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163543.268;20180524-163544.000;60.19203000;24.96789550;3.0;284.0;295.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163543.784;20180524-163545.000;60.19204000;24.96786310;3.0;283.7;314.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163544.284;20180524-163545.000;60.19204000;24.96786310;3.0;283.7;320.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163544.787;20180524-163546.000;60.19204710;24.96783000;3.0;283.7;316.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163545.289;20180524-163546.000;60.19204710;24.96783000;3.0;283.7;289.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163545.785;20180524-163547.000;60.19205470;24.96780780;3.0;284.7;320.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163546.288;20180524-163547.000;60.19205470;24.96780780;3.0;284.7;213.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163546.770;20180524-163548.000;60.19206240;24.96779250;3.0;288.7;257.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163547.285;20180524-163548.000;60.19206240;24.96779250;3.0;288.7;246.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163547.772;20180524-163549.000;60.19207000;24.96777340;3.0;289.9;46.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163548.270;20180524-163549.000;60.19207000;24.96777340;3.0;289.9;244.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163548.772;20180524-163550.000;60.19207760;24.96774860;3.0;291.1;30.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163549.276;20180524-163550.000;60.19207760;24.96774860;3.0;291.1;315.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163549.776;20180524-163551.000;60.19208530;24.96772580;3.0;291.0;343.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163550.278;20180524-163551.000;60.19208530;24.96772580;3.0;291.0;299.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163550.781;20180524-163552.000;60.19209000;24.96770100;3.0;287.0;334.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163551.296;20180524-163552.000;60.19209000;24.96770100;3.0;287.0;286.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163551.799;20180524-163553.000;60.19209670;24.96767430;3.0;285.1;345.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163552.281;20180524-163553.000;60.19209670;24.96767430;3.0;285.1;262.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163552.783;20180524-163554.000;60.19210000;24.96765330;3.0;283.1;135.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163553.298;20180524-163554.000;60.19210000;24.96765330;3.0;283.1;52.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163553.798;20180524-163555.000;60.19211200;24.96763230;3.0;285.8;268.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163554.301;20180524-163555.000;60.19211200;24.96763230;3.0;285.8;242.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163554.800;20180524-163556.000;60.19212000;24.96761510;3.0;289.4;261.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163555.298;20180524-163556.000;60.19212000;24.96761510;3.0;289.4;248.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163555.801;20180524-163557.000;60.19212340;24.96760180;3.0;289.4;274.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163556.304;20180524-163557.000;60.19212340;24.96760180;3.0;289.4;330.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163556.806;20180524-163558.000;60.19213490;24.96758000;3.0;291.7;205.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163557.305;20180524-163558.000;60.19213490;24.96758000;3.0;291.7;350.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163557.807;20180524-163559.000;60.19214250;24.96756170;3.0;295.1;233.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163558.310;20180524-163559.000;60.19214250;24.96756170;3.0;295.1;60.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163558.807;20180524-163600.000;60.19215000;24.96754650;3.0;294.2;265.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163559.310;20180524-163600.000;60.19215000;24.96754650;3.0;294.2;114.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163559.809;20180524-163601.000;60.19215770;24.96752170;3.0;292.3;129.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163600.308;20180524-163601.000;60.19215770;24.96752170;3.0;292.3;132.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163600.809;20180524-163602.000;60.19216540;24.96749690;3.0;290.8;123.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163601.313;20180524-163602.000;60.19216540;24.96749690;3.0;290.8;325.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163601.794;20180524-163603.000;60.19217300;24.96747590;3.0;290.2;291.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163602.296;20180524-163603.000;60.19217300;24.96747590;3.0;290.2;312.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163602.798;20180524-163604.000;60.19217680;24.96744350;3.0;285.3;333.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163603.297;20180524-163604.000;60.19217680;24.96744350;3.0;285.3;313.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163603.798;20180524-163605.000;60.19217680;24.96740720;3.0;281.0;314.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163604.299;20180524-163605.000;60.19217680;24.96740720;3.0;281.0;275.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163604.798;20180524-163606.000;60.19218440;24.96737670;3.0;280.1;228.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163605.300;20180524-163606.000;60.19218440;24.96737670;3.0;280.1;169.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163605.800;20180524-163607.000;60.19219000;24.96735380;3.0;278.6;224.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163606.303;20180524-163607.000;60.19219000;24.96735380;3.0;278.6;268.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163606.805;20180524-163608.000;60.19219590;24.96733000;3.0;280.4;339.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163607.302;20180524-163608.000;60.19219590;24.96733000;3.0;280.4;277.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163607.803;20180524-163609.000;60.19220350;24.96730000;3.0;284.0;326.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163608.304;20180524-163609.000;60.19220350;24.96730000;3.0;284.0;280.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163608.807;20180524-163610.000;60.19221000;24.96727560;4.0;284.2;312.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163609.306;20180524-163610.000;60.19221000;24.96727560;4.0;284.2;276.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163609.824;20180524-163611.000;60.19221500;24.96724890;4.0;283.4;336.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163610.326;20180524-163611.000;60.19221500;24.96724890;4.0;283.4;290.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163610.820;20180524-163612.000;60.19222260;24.96721460;3.0;283.1;2.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163611.326;20180524-163612.000;60.19222260;24.96721460;3.0;283.1;281.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163611.823;20180524-163613.000;60.19223000;24.96718410;3.0;282.9;18.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163612.327;20180524-163613.000;60.19223000;24.96718410;3.0;282.9;264.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163612.809;20180524-163614.000;60.19223000;24.96714210;3.0;279.2;47.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163613.315;20180524-163614.000;60.19223000;24.96714210;3.0;279.2;213.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163613.814;20180524-163615.000;60.19223000;24.96710780;4.0;276.5;105.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163614.313;20180524-163615.000;60.19223000;24.96710780;4.0;276.5;245.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163614.813;20180524-163616.000;60.19222260;24.96708680;3.0;268.6;37.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163615.317;20180524-163616.000;60.19222260;24.96708680;3.0;268.6;265.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163615.818;20180524-163617.000;60.19220730;24.96706770;3.0;255.6;191.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163616.315;20180524-163617.000;60.19220730;24.96706770;3.0;255.6;23.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163616.816;20180524-163618.000;60.19219210;24.96706200;3.0;238.4;293.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163617.319;20180524-163618.000;60.19219210;24.96706200;3.0;238.4;16.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163617.836;20180524-163619.000;60.19217680;24.96705440;3.0;222.1;339.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163618.338;20180524-163619.000;60.19217680;24.96705440;3.0;222.1;22.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163618.837;20180524-163620.000;60.19215770;24.96704860;3.0;208.7;340.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163619.337;20180524-163620.000;60.19215770;24.96704860;3.0;208.7;87.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163619.823;20180524-163621.000;60.19214250;24.96704100;3.0;202.6;248.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163620.320;20180524-163621.000;60.19214250;24.96704100;3.0;202.6;16.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163620.841;20180524-163622.000;60.19212720;24.96702580;3.0;208.6;288.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163621.342;20180524-163622.000;60.19212720;24.96702580;3.0;208.6;332.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163621.837;20180524-163623.000;60.19211580;24.96701240;3.0;214.5;286.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163622.343;20180524-163623.000;60.19211580;24.96701240;3.0;214.5;184.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163622.834;20180524-163624.000;60.19210000;24.96700480;3.0;216.7;198.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163623.327;20180524-163624.000;60.19210000;24.96700480;3.0;216.7;197.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163623.848;20180524-163625.000;60.19209000;24.96699710;3.0;219.4;210.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163624.345;20180524-163625.000;60.19209000;24.96699710;3.0;219.4;210.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163624.827;20180524-163626.000;60.19207380;24.96699330;3.0;211.5;210.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163625.331;20180524-163626.000;60.19207380;24.96699330;3.0;211.5;201.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163625.831;20180524-163627.000;60.19206240;24.96698760;3.0;205.8;217.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163626.332;20180524-163627.000;60.19206240;24.96698760;3.0;205.8;110.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163626.831;20180524-163628.000;60.19205470;24.96698190;3.0;205.8;197.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163627.331;20180524-163628.000;60.19205470;24.96698190;3.0;205.8;145.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163627.835;20180524-163629.000;60.19204330;24.96697430;3.0;208.1;204.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163628.336;20180524-163629.000;60.19204330;24.96697430;3.0;208.1;127.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163628.840;20180524-163630.000;60.19202800;24.96696660;3.0;205.3;215.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163629.366;20180524-163630.000;60.19202800;24.96696660;3.0;205.3;167.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163629.836;20180524-163631.000;60.19201660;24.96696280;3.0;206.6;220.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163630.338;20180524-163631.000;60.19201660;24.96696280;3.0;206.6;141.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163630.837;20180524-163632.000;60.19200520;24.96696000;3.0;203.4;196.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163631.338;20180524-163632.000;60.19200520;24.96696000;3.0;203.4;222.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163631.856;20180524-163633.000;60.19199000;24.96695710;3.0;197.4;178.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163632.357;20180524-163633.000;60.19199000;24.96695710;3.0;197.4;97.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163632.857;20180524-163634.000;60.19197000;24.96695000;3.0;195.6;212.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163633.360;20180524-163634.000;60.19197000;24.96695000;3.0;195.6;157.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163633.860;20180524-163635.000;60.19195000;24.96694560;3.0;194.1;201.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163634.361;20180524-163635.000;60.19195000;24.96694560;3.0;194.1;26.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163634.859;20180524-163636.000;60.19194000;24.96694180;3.0;195.9;204.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163635.358;20180524-163636.000;60.19194000;24.96694180;3.0;195.9;93.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163635.846;20180524-163637.000;60.19192500;24.96694180;3.0;193.2;210.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163636.342;20180524-163637.000;60.19192500;24.96694180;3.0;193.2;158.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163636.849;20180524-163638.000;60.19191000;24.96694180;3.0;188.3;227.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163637.349;20180524-163638.000;60.19191000;24.96694180;3.0;188.3;284.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163637.847;20180524-163639.000;60.19189450;24.96694180;3.0;185.2;290.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163638.350;20180524-163639.000;60.19189450;24.96694180;3.0;185.2;331.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163638.854;20180524-163640.000;60.19187550;24.96694000;3.0;181.4;192.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163639.371;20180524-163640.000;60.19187550;24.96694000;3.0;181.4;159.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163639.870;20180524-163641.000;60.19185640;24.96693800;3.0;182.8;154.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163640.369;20180524-163641.000;60.19185640;24.96693800;3.0;182.8;121.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163640.872;20180524-163642.000;60.19183730;24.96694000;3.0;181.4;211.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163641.374;20180524-163642.000;60.19183730;24.96694000;3.0;181.4;161.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163641.857;20180524-163643.000;60.19182210;24.96694000;3.0;181.4;272.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163642.374;20180524-163643.000;60.19182210;24.96694000;3.0;181.4;302.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163642.869;20180524-163644.000;60.19180680;24.96693420;3.0;185.2;232.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163643.376;20180524-163644.000;60.19180680;24.96693420;3.0;185.2;301.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163643.841;20180524-163645.000;60.19179000;24.96692660;3.0;189.8;21.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163644.345;20180524-163645.000;60.19179000;24.96692660;3.0;189.8;324.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163644.847;20180524-163646.000;60.19178000;24.96691510;3.0;203.5;188.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163645.361;20180524-163646.000;60.19178000;24.96691510;3.0;203.5;60.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163645.862;20180524-163647.000;60.19176480;24.96690370;3.0;212.7;195.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163646.364;20180524-163647.000;60.19176480;24.96690370;3.0;212.7;183.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163646.881;20180524-163648.000;60.19175340;24.96689410;3.0;217.6;195.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163647.383;20180524-163648.000;60.19175340;24.96689410;3.0;217.6;111.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163647.883;20180524-163649.000;60.19174190;24.96688000;3.0;224.2;209.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163648.383;20180524-163649.000;60.19174190;24.96688000;3.0;224.2;110.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163648.864;20180524-163650.000;60.19173430;24.96686740;3.0;226.7;210.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163649.368;20180524-163650.000;60.19173430;24.96686740;3.0;226.7;101.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163649.873;20180524-163651.000;60.19172670;24.96685000;4.0;234.1;206.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163650.375;20180524-163651.000;60.19172670;24.96685000;4.0;234.1;147.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163650.871;20180524-163652.000;60.19171000;24.96683310;3.0;235.4;180.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163651.371;20180524-163652.000;60.19171000;24.96683310;3.0;235.4;171.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163651.871;20180524-163653.000;60.19169620;24.96681790;3.0;234.6;173.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163652.373;20180524-163653.000;60.19169620;24.96681790;3.0;234.6;128.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163652.872;20180524-163654.000;60.19168470;24.96680830;4.0;229.8;171.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163653.372;20180524-163654.000;60.19168470;24.96680830;4.0;229.8;153.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163653.878;20180524-163655.000;60.19168000;24.96678000;4.0;233.2;177.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163654.377;20180524-163655.000;60.19168000;24.96678000;4.0;233.2;163.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163654.896;20180524-163656.000;60.19167330;24.96674730;4.0;241.7;173.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163655.377;20180524-163656.000;60.19167330;24.96674730;4.0;241.7;162.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163655.877;20180524-163657.000;60.19166000;24.96672250;4.0;245.3;172.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163656.378;20180524-163657.000;60.19166000;24.96672250;4.0;245.3;145.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163656.878;20180524-163658.000;60.19164660;24.96670720;4.0;247.4;166.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163657.380;20180524-163658.000;60.19164660;24.96670720;4.0;247.4;180.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163657.882;20180524-163659.000;60.19163000;24.96670150;3.0;232.2;185.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163658.402;20180524-163659.000;60.19163000;24.96670150;3.0;232.2;192.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163658.897;20180524-163700.000;60.19162000;24.96669390;3.0;221.7;246.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163659.399;20180524-163700.000;60.19162000;24.96669390;3.0;221.7;220.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163659.901;20180524-163701.000;60.19160460;24.96668240;3.0;215.5;243.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163700.400;20180524-163701.000;60.19160460;24.96668240;3.0;215.5;256.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163700.899;20180524-163702.000;60.19159320;24.96665380;3.0;220.1;262.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163701.403;20180524-163702.000;60.19159320;24.96665380;3.0;220.1;267.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163701.906;20180524-163703.000;60.19159000;24.96664000;4.0;220.1;240.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163702.387;20180524-163703.000;60.19159000;24.96664000;4.0;220.1;273.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163702.892;20180524-163704.000;60.19158550;24.96663280;4.0;233.0;259.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163703.394;20180524-163704.000;60.19158550;24.96663280;4.0;233.0;285.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163703.907;20180524-163705.000;60.19158550;24.96661190;4.0;246.4;311.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163704.410;20180524-163705.000;60.19158550;24.96661190;4.0;246.4;281.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163704.891;20180524-163706.000;60.19159000;24.96658710;3.0;262.1;286.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163705.393;20180524-163706.000;60.19159000;24.96658710;3.0;262.1;297.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163705.893;20180524-163707.000;60.19159000;24.96655270;3.0;267.6;276.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163706.395;20180524-163707.000;60.19159000;24.96655270;3.0;267.6;293.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163706.894;20180524-163708.000;60.19159000;24.96652220;3.0;272.6;279.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163707.397;20180524-163708.000;60.19159000;24.96652220;3.0;272.6;302.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163707.897;20180524-163709.000;60.19158550;24.96649170;3.0;270.5;271.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163708.397;20180524-163709.000;60.19158550;24.96649170;3.0;270.5;257.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163708.900;20180524-163710.000;60.19158550;24.96646120;3.0;267.9;236.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163709.399;20180524-163710.000;60.19158550;24.96646120;3.0;267.9;185.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163709.900;20180524-163711.000;60.19159000;24.96643830;3.0;270.7;204.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163710.400;20180524-163711.000;60.19159000;24.96643830;3.0;270.7;203.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163710.902;20180524-163712.000;60.19158000;24.96640780;3.0;266.1;182.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163711.420;20180524-163712.000;60.19158000;24.96640780;3.0;266.1;199.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163711.903;20180524-163713.000;60.19156650;24.96638680;3.0;260.1;170.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163712.406;20180524-163713.000;60.19156650;24.96638680;3.0;260.1;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163712.901;20180524-163714.000;60.19154740;24.96638300;3.0;241.1;191.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163713.407;20180524-163714.000;60.19154740;24.96638300;3.0;241.1;169.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163713.923;20180524-163715.000;60.19153000;24.96638300;3.0;215.0;146.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163714.425;20180524-163715.000;60.19153000;24.96638300;3.0;215.0;258.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163714.911;20180524-163716.000;60.19151000;24.96638110;3.0;197.8;168.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163715.430;20180524-163716.000;60.19151000;24.96638110;3.0;197.8;134.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163715.911;20180524-163717.000;60.19149000;24.96637730;3.0;186.9;228.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163716.414;20180524-163717.000;60.19149000;24.96637730;3.0;186.9;182.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163716.930;20180524-163718.000;60.19147000;24.96636770;3.0;190.4;141.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163717.434;20180524-163718.000;60.19147000;24.96636770;3.0;190.4;217.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163717.934;20180524-163719.000;60.19145580;24.96637000;3.0;188.2;253.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163718.432;20180524-163719.000;60.19145580;24.96637000;3.0;188.2;235.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163718.934;20180524-163720.000;60.19144000;24.96637730;3.0;180.6;191.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163719.421;20180524-163720.000;60.19144000;24.96637730;3.0;180.6;156.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163719.929;20180524-163721.000;60.19142530;24.96638490;4.0;170.7;197.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163720.434;20180524-163721.000;60.19142530;24.96638490;4.0;170.7;237.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163720.937;20180524-163722.000;60.19141000;24.96639250;4.0;158.0;50.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163721.437;20180524-163722.000;60.19141000;24.96639250;4.0;158.0;314.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163721.920;20180524-163723.000;60.19140000;24.96641000;4.0;145.5;24.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163722.421;20180524-163723.000;60.19140000;24.96641000;4.0;145.5;0.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163722.917;20180524-163724.000;60.19139000;24.96644400;5.0;133.2;344.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163723.440;20180524-163724.000;60.19139000;24.96644400;5.0;133.2;89.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163723.939;20180524-163725.000;60.19138340;24.96648220;5.0;119.5;131.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163724.440;20180524-163725.000;60.19138340;24.96648220;5.0;119.5;164.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163724.940;20180524-163726.000;60.19137570;24.96651650;5.0;107.1;7.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163725.445;20180524-163726.000;60.19137570;24.96651650;5.0;107.1;178.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163725.943;20180524-163727.000;60.19135670;24.96653180;5.0;112.2;154.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163726.444;20180524-163727.000;60.19135670;24.96653180;5.0;112.2;193.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163726.943;20180524-163728.000;60.19133760;24.96652790;5.0;132.0;61.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163727.446;20180524-163728.000;60.19133760;24.96652790;5.0;132.0;197.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163727.947;20180524-163729.000;60.19131470;24.96651460;4.0;162.4;157.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163728.451;20180524-163729.000;60.19131470;24.96651460;4.0;162.4;105.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163728.942;20180524-163730.000;60.19129560;24.96650310;4.0;189.6;162.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163729.448;20180524-163730.000;60.19129560;24.96650310;4.0;189.6;292.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163729.940;20180524-163731.000;60.19128000;24.96649000;3.0;208.2;173.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163730.436;20180524-163731.000;60.19128000;24.96649000;3.0;208.2;179.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163730.952;20180524-163732.000;60.19126510;24.96647640;3.0;215.9;222.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163731.454;20180524-163732.000;60.19126510;24.96647640;3.0;215.9;213.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163731.953;20180524-163733.000;60.19125000;24.96646120;3.0;219.7;194.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163732.452;20180524-163733.000;60.19125000;24.96646120;3.0;219.7;196.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163732.954;20180524-163734.000;60.19124000;24.96644590;3.0;226.1;193.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163733.461;20180524-163734.000;60.19124000;24.96644590;3.0;226.1;211.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163733.955;20180524-163735.000;60.19122310;24.96643000;3.0;226.9;179.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163734.443;20180524-163735.000;60.19122310;24.96643000;3.0;226.9;191.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163734.940;20180524-163736.000;60.19120410;24.96641540;3.0;225.7;188.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163735.441;20180524-163736.000;60.19120410;24.96641540;3.0;225.7;195.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163735.942;20180524-163737.000;60.19118500;24.96639820;3.0;224.9;188.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163736.445;20180524-163737.000;60.19118500;24.96639820;3.0;224.9;194.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163736.945;20180524-163738.000;60.19117360;24.96638300;3.0;224.0;229.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163737.448;20180524-163738.000;60.19117360;24.96638300;3.0;224.0;193.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163737.945;20180524-163739.000;60.19115450;24.96637000;3.0;221.7;1.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163738.445;20180524-163739.000;60.19115450;24.96637000;3.0;221.7;184.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163738.947;20180524-163740.000;60.19113540;24.96635820;3.0;220.3;200.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163739.448;20180524-163740.000;60.19113540;24.96635820;3.0;220.3;147.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163739.974;20180524-163741.000;60.19112400;24.96634670;3.0;221.1;227.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163740.449;20180524-163741.000;60.19112400;24.96634670;3.0;221.1;190.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163740.946;20180524-163742.000;60.19111000;24.96633530;4.0;217.6;198.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163741.447;20180524-163742.000;60.19111000;24.96633530;4.0;217.6;188.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163741.952;20180524-163743.000;60.19109730;24.96632580;4.0;218.2;309.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163742.453;20180524-163743.000;60.19109730;24.96632580;4.0;218.2;154.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163742.953;20180524-163744.000;60.19108200;24.96631620;5.0;218.3;147.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163743.453;20180524-163744.000;60.19108200;24.96631620;5.0;218.3;352.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163743.951;20180524-163745.000;60.19106000;24.96631620;5.0;207.2;93.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163744.455;20180524-163745.000;60.19106000;24.96631620;5.0;207.2;163.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163744.953;20180524-163746.000;60.19104000;24.96632000;6.0;194.6;200.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163745.452;20180524-163746.000;60.19104000;24.96632000;6.0;194.6;203.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163745.958;20180524-163747.000;60.19102000;24.96630860;6.0;192.8;148.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163746.461;20180524-163747.000;60.19102000;24.96630860;6.0;192.8;290.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163746.960;20180524-163748.000;60.19101000;24.96629330;6.0;198.6;297.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163747.460;20180524-163748.000;60.19101000;24.96629330;6.0;198.6;278.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163747.960;20180524-163749.000;60.19099810;24.96627240;6.0;214.9;7.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163748.462;20180524-163749.000;60.19099810;24.96627240;6.0;214.9;257.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163748.962;20180524-163750.000;60.19098280;24.96625140;7.0;230.3;153.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163749.464;20180524-163750.000;60.19098280;24.96625140;7.0;230.3;196.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163749.947;20180524-163751.000;60.19098280;24.96624180;8.0;230.3;245.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163750.461;20180524-163751.000;60.19098280;24.96624180;8.0;230.3;155.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163750.963;20180524-163752.000;60.19097520;24.96624760;8.0;230.3;44.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163751.468;20180524-163752.000;60.19097520;24.96624760;8.0;230.3;196.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163751.971;20180524-163753.000;60.19095230;24.96625330;8.0;223.0;332.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163752.470;20180524-163753.000;60.19095230;24.96625330;8.0;223.0;193.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163752.987;20180524-163754.000;60.19093320;24.96626850;9.0;199.1;47.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163753.489;20180524-163754.000;60.19093320;24.96626850;9.0;199.1;167.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163753.987;20180524-163755.000;60.19091800;24.96628190;9.0;170.2;327.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163754.490;20180524-163755.000;60.19091800;24.96628190;9.0;170.2;202.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163754.990;20180524-163756.000;60.19090000;24.96628570;9.0;156.1;209.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163755.492;20180524-163756.000;60.19090000;24.96628570;9.0;156.1;173.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163755.973;20180524-163757.000;60.19088000;24.96627000;8.0;165.2;167.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163756.484;20180524-163757.000;60.19088000;24.96627000;8.0;165.2;171.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163756.994;20180524-163758.000;60.19086460;24.96625330;8.0;188.6;158.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163757.494;20180524-163758.000;60.19086460;24.96625330;8.0;188.6;169.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163757.994;20180524-163759.000;60.19084550;24.96623800;7.0;208.8;169.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163758.496;20180524-163759.000;60.19084550;24.96623800;7.0;208.8;174.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163758.995;20180524-163800.000;60.19083000;24.96624000;7.0;209.7;248.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163759.496;20180524-163800.000;60.19083000;24.96624000;7.0;209.7;166.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163759.996;20180524-163801.000;60.19081000;24.96624000;7.0;199.7;180.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163800.496;20180524-163801.000;60.19081000;24.96624000;7.0;199.7;167.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163801.001;20180524-163802.000;60.19079590;24.96623800;7.0;189.6;179.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163801.483;20180524-163802.000;60.19079590;24.96623800;7.0;189.6;175.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163802.004;20180524-163803.000;60.19078000;24.96623230;6.0;185.1;173.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163802.503;20180524-163803.000;60.19078000;24.96623230;6.0;185.1;181.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163803.002;20180524-163804.000;60.19076540;24.96622470;6.0;193.8;178.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163803.505;20180524-163804.000;60.19076540;24.96622470;6.0;193.8;191.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163804.003;20180524-163805.000;60.19075390;24.96621320;6.0;205.0;188.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163804.505;20180524-163805.000;60.19075390;24.96621320;6.0;205.0;175.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163805.003;20180524-163806.000;60.19074250;24.96620000;6.0;215.4;184.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163805.507;20180524-163806.000;60.19074250;24.96620000;6.0;215.4;178.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163806.006;20180524-163807.000;60.19072720;24.96619420;5.0;215.6;201.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163806.508;20180524-163807.000;60.19072720;24.96619420;5.0;215.6;172.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163807.007;20180524-163808.000;60.19071000;24.96618840;5.0;213.4;203.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163807.508;20180524-163808.000;60.19071000;24.96618840;5.0;213.4;181.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163808.010;20180524-163809.000;60.19069670;24.96618000;4.0;210.2;197.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163808.511;20180524-163809.000;60.19069670;24.96618000;4.0;210.2;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163809.013;20180524-163810.000;60.19068530;24.96617510;5.0;203.7;206.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163809.541;20180524-163810.000;60.19068530;24.96617510;5.0;203.7;193.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163809.995;20180524-163811.000;60.19066620;24.96616550;4.0;205.2;205.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163810.496;20180524-163811.000;60.19066620;24.96616550;4.0;205.2;194.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163810.999;20180524-163812.000;60.19064710;24.96616170;4.0;203.4;219.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163811.501;20180524-163812.000;60.19064710;24.96616170;4.0;203.4;207.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163812.020;20180524-163813.000;60.19063000;24.96615600;4.0;199.9;229.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163812.504;20180524-163813.000;60.19063000;24.96615600;4.0;199.9;196.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163813.018;20180524-163814.000;60.19061280;24.96615000;4.0;198.9;210.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163813.517;20180524-163814.000;60.19061280;24.96615000;4.0;198.9;220.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163814.017;20180524-163815.000;60.19059370;24.96614460;5.0;196.2;215.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163814.521;20180524-163815.000;60.19059370;24.96614460;5.0;196.2;216.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163815.018;20180524-163816.000;60.19058000;24.96613690;5.0;200.7;216.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163815.522;20180524-163816.000;60.19058000;24.96613690;5.0;200.7;194.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163816.022;20180524-163817.000;60.19056000;24.96612740;5.0;202.4;208.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163816.522;20180524-163817.000;60.19056000;24.96612740;5.0;202.4;196.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163817.026;20180524-163818.000;60.19054000;24.96612170;5.0;201.6;207.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163817.525;20180524-163818.000;60.19054000;24.96612170;5.0;201.6;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163818.028;20180524-163819.000;60.19052510;24.96611790;5.0;201.2;212.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163818.510;20180524-163819.000;60.19052510;24.96611790;5.0;201.2;182.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163819.007;20180524-163820.000;60.19050220;24.96611400;4.0;196.3;184.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163819.512;20180524-163820.000;60.19050220;24.96611400;4.0;196.3;181.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163820.013;20180524-163821.000;60.19048000;24.96610830;4.0;193.6;195.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163820.516;20180524-163821.000;60.19048000;24.96610830;4.0;193.6;196.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163821.015;20180524-163822.000;60.19045260;24.96610640;4.0;190.6;209.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163821.515;20180524-163822.000;60.19045260;24.96610640;4.0;190.6;177.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163822.034;20180524-163823.000;60.19043000;24.96610450;4.0;188.2;197.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163822.531;20180524-163823.000;60.19043000;24.96610450;4.0;188.2;150.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163823.035;20180524-163824.000;60.19041440;24.96610260;4.0;187.5;160.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163823.534;20180524-163824.000;60.19041440;24.96610260;4.0;187.5;126.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163824.034;20180524-163825.000;60.19040000;24.96610000;4.0;186.5;124.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163824.535;20180524-163825.000;60.19040000;24.96610000;4.0;186.5;127.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163825.038;20180524-163826.000;60.19038770;24.96610000;4.0;185.5;114.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163825.538;20180524-163826.000;60.19038770;24.96610000;4.0;185.5;109.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163826.041;20180524-163827.000;60.19038000;24.96611400;4.0;170.5;120.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163826.541;20180524-163827.000;60.19038000;24.96611400;4.0;170.5;86.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163827.041;20180524-163828.000;60.19037630;24.96613880;3.0;147.1;77.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163827.540;20180524-163828.000;60.19037630;24.96613880;3.0;147.1;66.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163828.044;20180524-163829.000;60.19037630;24.96616170;3.0;119.6;70.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163828.544;20180524-163829.000;60.19037630;24.96616170;3.0;119.6;41.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163829.046;20180524-163830.000;60.19038390;24.96618840;3.0;95.3;30.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163829.560;20180524-163830.000;60.19038390;24.96618840;3.0;95.3;65.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163830.044;20180524-163831.000;60.19039540;24.96620560;3.0;79.8;69.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163830.548;20180524-163831.000;60.19039540;24.96620560;3.0;79.8;60.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163831.048;20180524-163832.000;60.19039540;24.96622660;3.0;77.7;68.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163831.548;20180524-163832.000;60.19039540;24.96622660;3.0;77.7;53.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163832.051;20180524-163833.000;60.19039540;24.96625140;3.0;77.7;60.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163832.549;20180524-163833.000;60.19039540;24.96625140;3.0;77.7;62.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163833.052;20180524-163834.000;60.19039540;24.96627810;3.0;81.7;65.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163833.553;20180524-163834.000;60.19039540;24.96627810;3.0;81.7;87.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163834.057;20180524-163835.000;60.19039000;24.96630860;3.0;92.5;54.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163834.554;20180524-163835.000;60.19039000;24.96630860;3.0;92.5;57.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163835.054;20180524-163836.000;60.19039000;24.96634100;3.0;92.5;55.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163835.559;20180524-163836.000;60.19039000;24.96634100;3.0;92.5;25.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163836.054;20180524-163837.000;60.19039000;24.96636580;3.0;92.5;60.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163836.560;20180524-163837.000;60.19039000;24.96636580;3.0;92.5;58.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163837.056;20180524-163838.000;60.19039000;24.96639440;3.0;92.5;53.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163837.558;20180524-163838.000;60.19039000;24.96639440;3.0;92.5;17.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163838.061;20180524-163839.000;60.19038770;24.96642110;3.0;91.2;33.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163838.544;20180524-163839.000;60.19038770;24.96642110;3.0;91.2;66.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163839.059;20180524-163840.000;60.19038770;24.96644780;3.0;91.2;63.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163839.587;20180524-163840.000;60.19038770;24.96644780;3.0;91.2;88.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163840.066;20180524-163841.000;60.19038390;24.96647640;3.0;93.1;88.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163840.566;20180524-163841.000;60.19038390;24.96647640;3.0;93.1;18.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163841.068;20180524-163842.000;60.19038390;24.96650510;3.0;93.1;84.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163841.567;20180524-163842.000;60.19038390;24.96650510;3.0;93.1;346.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163842.069;20180524-163843.000;60.19038390;24.96653180;3.0;91.9;72.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163842.570;20180524-163843.000;60.19038390;24.96653180;3.0;91.9;26.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163843.070;20180524-163844.000;60.19038390;24.96655850;3.0;91.9;77.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163843.554;20180524-163844.000;60.19038390;24.96655850;3.0;91.9;22.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163844.054;20180524-163845.000;60.19038390;24.96658900;3.0;90.0;78.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163844.554;20180524-163845.000;60.19038390;24.96658900;3.0;90.0;57.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163845.052;20180524-163846.000;60.19038000;24.96662000;3.0;91.8;80.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163845.556;20180524-163846.000;60.19038000;24.96662000;3.0;91.8;20.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163846.057;20180524-163847.000;60.19038000;24.96664810;3.0;91.8;94.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163846.556;20180524-163847.000;60.19038000;24.96664810;3.0;91.8;53.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163847.059;20180524-163848.000;60.19038000;24.96668240;3.0;91.8;73.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163847.560;20180524-163848.000;60.19038000;24.96668240;3.0;91.8;26.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163848.059;20180524-163849.000;60.19038000;24.96671680;3.0;91.8;81.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163848.559;20180524-163849.000;60.19038000;24.96671680;3.0;91.8;33.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163849.061;20180524-163850.000;60.19038000;24.96674160;3.0;90.0;67.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163849.565;20180524-163850.000;60.19038000;24.96674160;3.0;90.0;348.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163850.078;20180524-163851.000;60.19037630;24.96677000;3.0;91.9;68.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163850.578;20180524-163851.000;60.19037630;24.96677000;3.0;91.9;40.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163851.081;20180524-163852.000;60.19037630;24.96679880;3.0;91.9;81.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163851.583;20180524-163852.000;60.19037630;24.96679880;3.0;91.9;33.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163852.101;20180524-163853.000;60.19037630;24.96682740;3.0;91.9;75.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163852.584;20180524-163853.000;60.19037630;24.96682740;3.0;91.9;27.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163853.100;20180524-163854.000;60.19037630;24.96685790;3.0;91.9;71.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163853.602;20180524-163854.000;60.19037630;24.96685790;3.0;91.9;13.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163854.088;20180524-163855.000;60.19037250;24.96689000;3.0;91.7;89.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163854.587;20180524-163855.000;60.19037250;24.96689000;3.0;91.7;43.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163855.092;20180524-163856.000;60.19037250;24.96691130;3.0;91.7;77.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163855.592;20180524-163856.000;60.19037250;24.96691130;3.0;91.7;44.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163856.096;20180524-163857.000;60.19037000;24.96692850;3.0;91.7;74.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163856.607;20180524-163857.000;60.19037000;24.96692850;3.0;91.7;35.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163857.108;20180524-163858.000;60.19037250;24.96695710;3.0;91.7;62.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163857.612;20180524-163858.000;60.19037250;24.96695710;3.0;91.7;33.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163858.113;20180524-163859.000;60.19037630;24.96698000;3.0;89.3;54.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163858.612;20180524-163859.000;60.19037630;24.96698000;3.0;89.3;358.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163859.095;20180524-163900.000;60.19038770;24.96700100;3.0;80.6;38.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163859.596;20180524-163900.000;60.19038770;24.96700100;3.0;80.6;2.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163900.095;20180524-163901.000;60.19040000;24.96701810;3.0;71.6;38.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163900.597;20180524-163901.000;60.19040000;24.96701810;3.0;71.6;347.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163901.117;20180524-163902.000;60.19040680;24.96703000;3.0;64.1;25.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163901.598;20180524-163902.000;60.19040680;24.96703000;3.0;64.1;348.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163902.100;20180524-163903.000;60.19042210;24.96704670;3.0;55.9;15.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163902.601;20180524-163903.000;60.19042210;24.96704670;3.0;55.9;346.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163903.122;20180524-163904.000;60.19043350;24.96705630;3.0;50.5;17.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163903.619;20180524-163904.000;60.19043350;24.96705630;3.0;50.5;356.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163904.122;20180524-163905.000;60.19044490;24.96706770;3.0;48.2;9.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163904.608;20180524-163905.000;60.19044490;24.96706770;3.0;48.2;347.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163905.124;20180524-163906.000;60.19045640;24.96708490;3.0;47.2;13.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163905.607;20180524-163906.000;60.19045640;24.96708490;3.0;47.2;349.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163906.122;20180524-163907.000;60.19047000;24.96710210;3.0;48.3;2.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163906.628;20180524-163907.000;60.19047000;24.96710210;3.0;48.3;358.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163907.108;20180524-163908.000;60.19048310;24.96711540;3.0;49.6;352.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163907.613;20180524-163908.000;60.19048310;24.96711540;3.0;49.6;355.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163908.127;20180524-163909.000;60.19049450;24.96712880;3.0;50.7;2.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163908.631;20180524-163909.000;60.19049450;24.96712880;3.0;50.7;354.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163909.136;20180524-163910.000;60.19051000;24.96714400;3.0;47.8;325.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163909.633;20180524-163910.000;60.19051000;24.96714400;3.0;47.8;49.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163910.131;20180524-163911.000;60.19052510;24.96714780;3.0;38.6;90.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163910.631;20180524-163911.000;60.19052510;24.96714780;3.0;38.6;104.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163911.115;20180524-163912.000;60.19053270;24.96714000;4.0;38.6;329.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163911.621;20180524-163912.000;60.19053270;24.96714000;4.0;38.6;358.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163912.117;20180524-163913.000;60.19054410;24.96712880;5.0;18.2;357.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163912.618;20180524-163913.000;60.19054410;24.96712880;5.0;18.2;355.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163913.135;20180524-163914.000;60.19056000;24.96710780;6.0;349.4;234.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163913.637;20180524-163914.000;60.19056000;24.96710780;6.0;349.4;143.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163914.121;20180524-163915.000;60.19057000;24.96709440;6.0;324.4;244.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163914.620;20180524-163915.000;60.19057000;24.96709440;6.0;324.4;156.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163915.105;20180524-163916.000;60.19058610;24.96709630;6.0;323.0;299.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163915.608;20180524-163916.000;60.19058610;24.96709630;6.0;323.0;10.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163916.124;20180524-163917.000;60.19060520;24.96709000;5.0;330.3;5.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163916.625;20180524-163917.000;60.19060520;24.96709000;5.0;330.3;27.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163917.125;20180524-163918.000;60.19062420;24.96708870;5.0;343.2;348.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163917.651;20180524-163918.000;60.19062420;24.96708870;5.0;343.2;22.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163918.128;20180524-163919.000;60.19064000;24.96708870;5.0;356.2;13.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163918.629;20180524-163919.000;60.19064000;24.96708870;5.0;356.2;34.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163919.147;20180524-163920.000;60.19066000;24.96708300;5.0;350.5;346.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163919.655;20180524-163920.000;60.19066000;24.96708300;5.0;350.5;29.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163920.133;20180524-163921.000;60.19067380;24.96707530;6.0;347.8;189.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163920.633;20180524-163921.000;60.19067380;24.96707530;6.0;347.8;244.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163921.147;20180524-163922.000;60.19069000;24.96705820;6.0;337.1;229.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163921.655;20180524-163923.000;60.19070430;24.96705630;4.0;335.3;245.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163922.137;20180524-163923.000;60.19070430;24.96705630;4.0;335.3;53.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163922.660;20180524-163924.000;60.19071580;24.96706000;4.0;343.5;20.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163923.155;20180524-163924.000;60.19071580;24.96706000;4.0;343.5;14.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163923.655;20180524-163925.000;60.19072720;24.96707000;4.0;1.8;2.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163924.154;20180524-163925.000;60.19072720;24.96707000;4.0;1.8;16.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163924.655;20180524-163925.000;60.19072720;24.96707000;4.0;1.8;2.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163925.156;20180524-163926.000;60.19073000;24.96710210;5.0;33.3;22.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163925.660;20180524-163926.000;60.19073000;24.96710210;5.0;33.3;357.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163926.155;20180524-163927.000;60.19074000;24.96712880;5.0;53.5;8.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163926.657;20180524-163928.000;60.19075000;24.96714590;6.0;63.9;340.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163927.160;20180524-163928.000;60.19075000;24.96714590;6.0;63.9;20.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163927.659;20180524-163929.000;60.19075780;24.96715550;6.0;66.2;2.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163928.161;20180524-163929.000;60.19075780;24.96715550;6.0;66.2;19.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163928.663;20180524-163930.000;60.19076540;24.96716000;6.0;66.2;338.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163929.145;20180524-163930.000;60.19076540;24.96716000;6.0;66.2;25.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163929.656;20180524-163931.000;60.19077300;24.96715160;7.0;43.5;324.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163930.166;20180524-163931.000;60.19077300;24.96715160;7.0;43.5;19.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163930.670;20180524-163932.000;60.19078000;24.96715000;7.0;43.5;328.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163931.167;20180524-163932.000;60.19078000;24.96715000;7.0;43.5;17.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163931.681;20180524-163933.000;60.19079590;24.96716690;6.0;33.5;1.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163932.166;20180524-163933.000;60.19079590;24.96716690;6.0;33.5;31.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163932.674;20180524-163934.000;60.19081000;24.96718220;6.0;30.3;348.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163933.172;20180524-163934.000;60.19081000;24.96718220;6.0;30.3;42.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163933.664;20180524-163935.000;60.19083000;24.96719170;6.0;23.5;350.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163934.168;20180524-163935.000;60.19083000;24.96719170;6.0;23.5;44.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163934.674;20180524-163936.000;60.19085000;24.96719740;7.0;30.6;336.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163935.156;20180524-163936.000;60.19085000;24.96719740;7.0;30.6;45.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163935.654;20180524-163937.000;60.19087220;24.96720310;8.0;25.7;338.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163936.157;20180524-163937.000;60.19087220;24.96720310;8.0;25.7;3.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163936.675;20180524-163938.000;60.19089510;24.96720700;8.0;16.3;352.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163937.174;20180524-163938.000;60.19089510;24.96720700;8.0;16.3;23.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163937.683;20180524-163939.000;60.19091000;24.96724000;7.0;25.7;345.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163938.177;20180524-163939.000;60.19091000;24.96724000;7.0;25.7;8.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163938.693;20180524-163940.000;60.19092560;24.96727560;8.0;39.0;359.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163939.179;20180524-163940.000;60.19092560;24.96727560;8.0;39.0;17.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163939.667;20180524-163941.000;60.19094000;24.96732140;10.0;54.6;15.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163940.164;20180524-163941.000;60.19094000;24.96732140;10.0;54.6;356.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163940.677;20180524-163942.000;60.19095000;24.96736000;9.0;70.0;8.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163941.183;20180524-163942.000;60.19095000;24.96736000;9.0;70.0;9.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163941.683;20180524-163943.000;60.19097000;24.96738000;9.0;64.9;12.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163942.184;20180524-163943.000;60.19097000;24.96738000;9.0;64.9;23.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163942.683;20180524-163944.000;60.19099810;24.96739000;9.0;53.4;22.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163943.186;20180524-163944.000;60.19099810;24.96739000;9.0;53.4;10.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163943.684;20180524-163945.000;60.19101330;24.96741290;8.0;49.2;2.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163944.187;20180524-163945.000;60.19101330;24.96741290;8.0;49.2;11.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163944.699;20180524-163946.000;60.19103000;24.96743200;8.0;42.6;350.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163945.172;20180524-163946.000;60.19103000;24.96743200;8.0;42.6;12.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163945.693;20180524-163947.000;60.19104390;24.96744540;7.0;42.3;4.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163946.192;20180524-163947.000;60.19104390;24.96744540;7.0;42.3;359.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163946.714;20180524-163948.000;60.19105000;24.96742820;7.0;30.6;336.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163947.228;20180524-163948.000;60.19105000;24.96742820;7.0;30.6;52.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163947.723;20180524-163949.000;60.19103620;24.96741680;7.0;352.0;0.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163948.223;20180524-163949.000;60.19103620;24.96741680;7.0;352.0;20.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163948.724;20180524-163950.000;60.19104390;24.96743000;6.0;358.4;4.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163949.225;20180524-163950.000;60.19104390;24.96743000;6.0;358.4;306.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;False;unity;DeviceLocationProvider;20180524-163949.728;20180524-163951.000;60.19105530;24.96744540;6.0;358.4;35.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180524-163950.232;20180524-163951.000;60.19105530;24.96744540;6.0;358.4;1.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;False;unity;DeviceLocationProvider;20180524-163950.713;20180524-163952.000;60.19106000;24.96745300;6.0;358.4;21.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180524-163951.216;20180524-163952.000;60.19106000;24.96745300;6.0;358.4;350.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163951.714;20180524-163953.000;60.19106670;24.96745680;5.0;59.2;28.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163952.217;20180524-163953.000;60.19106670;24.96745680;5.0;59.2;26.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163952.718;20180524-163954.000;60.19108000;24.96743770;5.0;33.2;10.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163953.218;20180524-163954.000;60.19108000;24.96743770;5.0;33.2;7.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163953.720;20180524-163955.000;60.19109000;24.96741490;5.0;354.3;43.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163954.220;20180524-163955.000;60.19109000;24.96741490;5.0;354.3;14.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163954.720;20180524-163956.000;60.19111250;24.96740530;5.0;331.3;23.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163955.223;20180524-163956.000;60.19111250;24.96740530;5.0;331.3;22.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163955.724;20180524-163957.000;60.19113540;24.96740720;4.0;324.7;32.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163956.223;20180524-163957.000;60.19113540;24.96740720;4.0;324.7;39.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163956.721;20180524-163958.000;60.19115000;24.96740340;4.0;335.8;32.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163957.227;20180524-163958.000;60.19115000;24.96740340;4.0;335.8;7.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163957.724;20180524-163959.000;60.19117000;24.96740530;4.0;353.1;25.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163958.229;20180524-163959.000;60.19117000;24.96740530;4.0;353.1;347.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163958.726;20180524-164000.000;60.19118500;24.96741100;4.0;4.1;25.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-163959.229;20180524-164000.000;60.19118500;24.96741100;4.0;4.1;10.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-163959.730;20180524-164001.000;60.19120000;24.96741870;9.0;9.8;20.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164000.235;20180524-164001.000;60.19120000;24.96741870;9.0;9.8;353.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164000.749;20180524-164002.000;60.19121000;24.96742000;9.0;15.2;21.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164001.250;20180524-164002.000;60.19121000;24.96742000;9.0;15.2;318.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164001.748;20180524-164003.000;60.19123460;24.96741490;9.0;11.0;20.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164002.249;20180524-164003.000;60.19123460;24.96741490;9.0;11.0;326.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164002.750;20180524-164004.000;60.19125750;24.96741100;9.0;3.2;25.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164003.254;20180524-164004.000;60.19125750;24.96741100;9.0;3.2;355.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164003.755;20180524-164005.000;60.19127660;24.96741000;9.0;355.7;33.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164004.254;20180524-164005.000;60.19127660;24.96741000;9.0;355.7;335.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164004.756;20180524-164006.000;60.19129560;24.96741490;9.0;357.5;22.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164005.259;20180524-164006.000;60.19129560;24.96741490;9.0;357.5;343.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164005.758;20180524-164007.000;60.19131000;24.96741490;9.0;0.4;26.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164006.261;20180524-164007.000;60.19131000;24.96741490;9.0;0.4;357.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164006.759;20180524-164008.000;60.19132610;24.96741490;9.0;2.8;19.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164007.264;20180524-164008.000;60.19132610;24.96741490;9.0;2.8;359.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164007.761;20180524-164009.000;60.19134000;24.96741680;9.0;5.6;33.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164008.262;20180524-164009.000;60.19134000;24.96741680;9.0;5.6;4.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164008.763;20180524-164010.000;60.19136000;24.96741680;9.0;1.9;14.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164009.245;20180524-164010.000;60.19136000;24.96741680;9.0;1.9;13.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164009.747;20180524-164011.000;60.19137570;24.96742630;3.0;9.6;19.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164010.248;20180524-164011.000;60.19137570;24.96742630;3.0;9.6;9.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164010.750;20180524-164012.000;60.19138720;24.96744000;3.0;22.1;6.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164011.268;20180524-164012.000;60.19138720;24.96744000;3.0;22.1;23.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164011.768;20180524-164013.000;60.19140630;24.96745490;3.0;30.0;11.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164012.271;20180524-164013.000;60.19140630;24.96745490;3.0;30.0;13.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164012.774;20180524-164014.000;60.19142000;24.96746640;3.0;39.8;19.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164013.272;20180524-164014.000;60.19142000;24.96746640;3.0;39.8;20.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164013.772;20180524-164015.000;60.19143000;24.96748000;3.0;45.4;6.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164014.272;20180524-164015.000;60.19143000;24.96748000;3.0;45.4;5.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164014.774;20180524-164016.000;60.19145000;24.96749310;3.0;41.2;324.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164015.274;20180524-164016.000;60.19145000;24.96749310;3.0;41.2;358.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164015.775;20180524-164017.000;60.19146730;24.96751000;3.0;42.8;356.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164016.260;20180524-164017.000;60.19146730;24.96751000;3.0;42.8;30.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164016.777;20180524-164018.000;60.19148000;24.96752170;3.0;43.5;343.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164017.277;20180524-164018.000;60.19148000;24.96752170;3.0;43.5;17.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164017.777;20180524-164019.000;60.19149000;24.96753310;3.0;42.2;320.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164018.278;20180524-164019.000;60.19149000;24.96753310;3.0;42.2;5.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164018.763;20180524-164020.000;60.19149780;24.96754650;3.0;48.9;338.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164019.264;20180524-164020.000;60.19149780;24.96754650;3.0;48.9;37.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164019.765;20180524-164021.000;60.19151000;24.96755790;3.0;48.5;12.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164020.271;20180524-164021.000;60.19151000;24.96755790;3.0;48.5;36.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164020.781;20180524-164022.000;60.19151310;24.96756360;3.0;48.5;349.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164021.282;20180524-164022.000;60.19151310;24.96756360;3.0;48.5;30.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164021.783;20180524-164023.000;60.19152450;24.96757000;3.0;47.8;17.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164022.287;20180524-164023.000;60.19152450;24.96757000;3.0;47.8;39.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164022.788;20180524-164024.000;60.19153590;24.96757510;3.0;41.7;11.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164023.291;20180524-164024.000;60.19153590;24.96757510;3.0;41.7;15.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164023.793;20180524-164025.000;60.19154740;24.96758270;3.0;35.1;1.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164024.288;20180524-164025.000;60.19154740;24.96758270;3.0;35.1;1.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164024.791;20180524-164026.000;60.19156270;24.96758270;3.0;24.5;355.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164025.289;20180524-164026.000;60.19156270;24.96758270;3.0;24.5;347.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164025.792;20180524-164027.000;60.19157410;24.96758650;3.0;19.0;24.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164026.291;20180524-164027.000;60.19157410;24.96758650;3.0;19.0;6.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164026.795;20180524-164028.000;60.19158550;24.96759220;3.0;19.7;13.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164027.278;20180524-164028.000;60.19158550;24.96759220;3.0;19.7;30.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164027.779;20180524-164029.000;60.19160000;24.96759800;3.0;16.7;345.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164028.278;20180524-164029.000;60.19160000;24.96759800;3.0;16.7;26.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164028.780;20180524-164030.000;60.19161610;24.96759800;3.0;16.7;11.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164029.281;20180524-164030.000;60.19161610;24.96759800;3.0;16.7;354.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164029.780;20180524-164031.000;60.19163510;24.96759800;3.0;12.1;355.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164030.278;20180524-164031.000;60.19163510;24.96759800;3.0;12.1;4.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164030.788;20180524-164032.000;60.19164660;24.96759610;3.0;3.0;7.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164031.285;20180524-164032.000;60.19164660;24.96759610;3.0;3.0;327.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164031.785;20180524-164033.000;60.19165800;24.96760000;3.0;2.3;22.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164032.285;20180524-164033.000;60.19165800;24.96760000;3.0;2.3;340.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164032.786;20180524-164034.000;60.19167330;24.96760180;3.0;4.0;28.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164033.287;20180524-164034.000;60.19167330;24.96760180;3.0;4.0;325.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164033.791;20180524-164035.000;60.19168470;24.96761130;3.0;14.0;19.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164034.291;20180524-164035.000;60.19168470;24.96761130;3.0;14.0;329.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164034.791;20180524-164036.000;60.19170380;24.96763610;3.0;29.4;13.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164035.290;20180524-164036.000;60.19170380;24.96763610;3.0;29.4;344.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164035.794;20180524-164037.000;60.19173000;24.96765140;3.0;32.4;27.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164036.291;20180524-164037.000;60.19173000;24.96765140;3.0;32.4;330.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164036.795;20180524-164038.000;60.19175340;24.96767810;4.0;42.8;26.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164037.311;20180524-164038.000;60.19175340;24.96767810;4.0;42.8;331.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164037.809;20180524-164039.000;60.19177630;24.96769520;4.0;42.1;20.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164038.313;20180524-164039.000;60.19177630;24.96769520;4.0;42.1;336.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164038.801;20180524-164040.000;60.19180300;24.96771000;5.0;36.2;30.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164039.314;20180524-164040.000;60.19180300;24.96771000;5.0;36.2;353.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164039.814;20180524-164041.000;60.19182210;24.96772190;5.0;36.6;24.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164040.317;20180524-164041.000;60.19182210;24.96772190;5.0;36.6;8.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164040.798;20180524-164042.000;60.19184000;24.96773720;5.0;34.5;9.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164041.319;20180524-164042.000;60.19184000;24.96773720;5.0;34.5;10.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164041.802;20180524-164043.000;60.19186000;24.96775250;6.0;34.7;6.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164042.319;20180524-164043.000;60.19186000;24.96775250;6.0;34.7;350.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164042.819;20180524-164044.000;60.19187550;24.96777000;5.0;39.6;352.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164043.323;20180524-164044.000;60.19187550;24.96777000;5.0;39.6;7.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164043.806;20180524-164045.000;60.19189000;24.96778680;5.0;43.9;359.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164044.308;20180524-164045.000;60.19189000;24.96778680;5.0;43.9;2.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164044.808;20180524-164046.000;60.19191000;24.96779820;5.0;41.2;24.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164045.324;20180524-164046.000;60.19191000;24.96779820;5.0;41.2;6.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164045.822;20180524-164047.000;60.19192000;24.96781350;5.0;46.1;7.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164046.327;20180524-164047.000;60.19192000;24.96781350;5.0;46.1;356.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164046.810;20180524-164048.000;60.19193650;24.96782880;5.0;44.7;12.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164047.313;20180524-164048.000;60.19193650;24.96782880;5.0;44.7;10.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164047.811;20180524-164049.000;60.19195000;24.96784000;5.0;42.2;21.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164048.317;20180524-164049.000;60.19195000;24.96784000;5.0;42.2;21.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164048.812;20180524-164050.000;60.19196320;24.96785160;4.0;45.1;1.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164049.316;20180524-164050.000;60.19196320;24.96785160;4.0;45.1;9.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164049.814;20180524-164051.000;60.19198000;24.96786500;4.0;40.6;347.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164050.317;20180524-164051.000;60.19198000;24.96786500;4.0;40.6;9.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164050.820;20180524-164052.000;60.19199370;24.96787260;4.0;37.2;351.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164051.317;20180524-164052.000;60.19199370;24.96787260;4.0;37.2;26.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164051.818;20180524-164053.000;60.19201000;24.96788220;3.0;34.8;344.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164052.320;20180524-164053.000;60.19201000;24.96788220;3.0;34.8;4.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164052.839;20180524-164054.000;60.19202000;24.96789170;3.0;35.4;351.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164053.338;20180524-164054.000;60.19202000;24.96789170;3.0;35.4;3.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164053.836;20180524-164055.000;60.19203000;24.96790000;3.0;35.7;350.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164054.339;20180524-164055.000;60.19203000;24.96790000;3.0;35.7;10.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164054.840;20180524-164056.000;60.19204330;24.96790890;4.0;36.9;348.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164055.341;20180524-164056.000;60.19204330;24.96790890;4.0;36.9;13.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164055.841;20180524-164057.000;60.19205000;24.96791270;4.0;36.9;9.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164056.344;20180524-164057.000;60.19205000;24.96791270;4.0;36.9;28.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164056.840;20180524-164058.000;60.19206240;24.96792000;3.0;36.8;14.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164057.339;20180524-164058.000;60.19206240;24.96792000;3.0;36.8;35.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164057.841;20180524-164059.000;60.19206240;24.96793560;3.0;36.8;54.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164058.342;20180524-164059.000;60.19206240;24.96793560;3.0;36.8;53.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164058.843;20180524-164100.000;60.19206000;24.96795460;3.0;48.4;78.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164059.343;20180524-164100.000;60.19206000;24.96795460;3.0;48.4;84.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164059.844;20180524-164101.000;60.19205000;24.96797560;3.0;68.0;59.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164100.346;20180524-164101.000;60.19205000;24.96797560;3.0;68.0;60.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164100.845;20180524-164102.000;60.19204330;24.96800000;3.0;88.3;65.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180524-164101.346;20180524-164102.000;60.19204330;24.96800000;3.0;88.3;74.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180524-164101.848;20180524-164103.000;60.19203570;24.96801760;3.0;107.1;84.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/Helsinki.txt.meta b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/Helsinki.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6ddc0229cbe3f74f6bb4cb8fa06b704513f780d0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/Helsinki.txt.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5e6bb7224cef35c4788a4817b1c9778d
+timeCreated: 1527247128
+licenseType: Pro
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative-2.txt b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative-2.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0389831d935407bc929cff58c7d813b1e60f1ec5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative-2.txt
@@ -0,0 +1,159 @@
+#location service enabled;location service intializing;location updated;userheading updated;location provider;location provider class;time device [utc];time location [utc];latitude;longitude;accuracy [m];user heading [�];device orientation [�];speed [km/h];has gps fix;satellites used;satellites in view
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160022.128;20180516-160022.000;48.35731967;15.61056602;3.2;195.2;145.5;3.4;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160022.601;20180516-160022.000;48.35731967;15.61056602;3.2;195.2;146.0;3.4;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160023.104;20180516-160023.000;48.35730900;15.61056956;3.2;195.2;134.4;3.9;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160023.615;20180516-160023.000;48.35730900;15.61056956;3.2;195.2;145.5;3.9;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160024.117;20180516-160024.000;48.35729953;15.61057591;3.2;195.2;156.5;4.0;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160024.618;20180516-160024.000;48.35729953;15.61057591;3.2;195.2;140.4;4.0;True;13;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160025.121;20180516-160025.000;48.35729119;15.61058150;3.2;152.1;149.7;3.2;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160025.623;20180516-160025.000;48.35729119;15.61058150;3.2;152.1;145.2;3.2;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160026.127;20180516-160026.000;48.35728328;15.61058764;3.2;151.9;88.8;4.4;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160026.634;20180516-160026.000;48.35728328;15.61058764;3.2;151.9;145.9;4.4;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160027.136;20180516-160027.000;48.35727312;15.61059510;3.2;148.8;146.7;5.3;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160027.638;20180516-160027.000;48.35727312;15.61059510;3.2;148.8;146.4;5.3;True;12;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160028.138;20180516-160028.000;48.35726257;15.61060151;3.2;148.8;142.5;3.8;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160028.641;20180516-160028.000;48.35726257;15.61060151;3.2;148.8;154.7;3.8;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160029.146;20180516-160029.000;48.35725369;15.61060649;3.2;145.3;153.3;3.3;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160029.653;20180516-160029.000;48.35725369;15.61060649;3.2;145.3;145.2;3.3;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160030.154;20180516-160030.000;48.35724373;15.61061146;3.2;145.9;165.7;3.9;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160030.656;20180516-160030.000;48.35724373;15.61061146;3.2;145.9;161.0;3.9;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160031.157;20180516-160031.000;48.35723240;15.61061715;3.2;155.9;164.8;4.2;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160031.660;20180516-160031.000;48.35723240;15.61061715;3.2;155.9;149.3;4.2;True;13;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160032.162;20180516-160032.000;48.35722023;15.61062373;3.2;155.9;144.3;4.4;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160032.666;20180516-160032.000;48.35722023;15.61062373;3.2;155.9;138.2;4.4;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160033.174;20180516-160033.000;48.35720927;15.61063280;3.2;131.1;131.7;4.6;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160033.676;20180516-160033.000;48.35720927;15.61063280;3.2;131.1;107.9;4.6;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160034.178;20180516-160034.000;48.35720162;15.61064497;3.2;130.4;121.5;4.1;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160034.678;20180516-160034.000;48.35720162;15.61064497;3.2;130.4;89.1;4.1;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160035.182;20180516-160035.000;48.35719726;15.61065921;3.2;130.7;69.6;3.4;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160035.686;20180516-160035.000;48.35719726;15.61065921;3.2;130.7;95.2;3.4;True;14;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160036.192;20180516-160036.000;48.35719697;15.61067309;3.2;130.7;57.4;3.3;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160036.693;20180516-160036.000;48.35719697;15.61067309;3.2;130.7;35.1;3.3;True;12;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160037.192;20180516-160037.000;48.35719910;15.61069071;3.2;130.7;66.4;5.1;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160037.698;20180516-160037.000;48.35719910;15.61069071;3.2;130.7;67.8;5.1;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160038.200;20180516-160038.000;48.35720178;15.61071041;3.2;88.4;64.3;4.1;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160038.701;20180516-160038.000;48.35720178;15.61071041;3.2;88.4;85.6;4.1;True;12;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160039.206;20180516-160039.000;48.35720397;15.61072808;3.2;87.6;95.5;4.2;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160039.711;20180516-160039.000;48.35720397;15.61072808;3.2;87.6;63.8;4.2;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160040.215;20180516-160040.000;48.35720968;15.61074571;3.2;59.3;55.5;4.6;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160040.717;20180516-160040.000;48.35720968;15.61074571;3.2;59.3;55.4;4.6;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160041.218;20180516-160041.000;48.35721699;15.61076374;3.2;59.4;25.9;4.9;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160041.721;20180516-160041.000;48.35721699;15.61076374;3.2;59.4;36.3;4.9;True;13;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160042.222;20180516-160042.000;48.35722466;15.61077952;3.2;59.3;48.5;3.9;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160042.728;20180516-160042.000;48.35722466;15.61077952;3.2;59.3;67.4;3.9;True;12;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160043.233;20180516-160043.000;48.35723087;15.61079570;3.2;59.3;73.2;4.5;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160043.735;20180516-160043.000;48.35723087;15.61079570;3.2;59.3;53.1;4.5;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160044.237;20180516-160044.000;48.35723530;15.61081424;3.2;74.9;35.1;4.2;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160044.740;20180516-160044.000;48.35723530;15.61081424;3.2;74.9;26.8;4.2;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160045.247;20180516-160045.000;48.35724023;15.61083424;3.2;73.6;49.8;4.8;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160045.746;20180516-160045.000;48.35724023;15.61083424;3.2;73.6;91.0;4.8;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160046.251;20180516-160046.000;48.35724687;15.61085436;3.2;74.0;83.7;4.6;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160046.754;20180516-160046.000;48.35724687;15.61085436;3.2;74.0;47.2;4.6;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160047.256;20180516-160047.000;48.35725462;15.61087391;3.2;61.2;45.5;5.1;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160047.758;20180516-160047.000;48.35725462;15.61087391;3.2;61.2;41.2;5.1;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160048.260;20180516-160048.000;48.35726346;15.61089336;3.2;60.8;34.7;4.9;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160048.762;20180516-160048.000;48.35726346;15.61089336;3.2;60.8;61.2;4.9;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160049.267;20180516-160049.000;48.35727289;15.61090989;3.2;60.8;51.0;4.9;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160049.773;20180516-160049.000;48.35727289;15.61090989;3.2;60.8;46.6;4.9;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160050.275;20180516-160050.000;48.35728156;15.61092367;3.2;52.6;47.6;3.7;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160050.783;20180516-160050.000;48.35728156;15.61092367;3.2;52.6;30.2;3.7;True;13;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160051.277;20180516-160051.000;48.35728585;15.61093233;3.2;52.9;47.0;1.8;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160051.781;20180516-160051.000;48.35728585;15.61093233;3.2;52.9;32.3;1.8;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160052.285;20180516-160052.000;48.35729044;15.61094104;3.2;52.8;24.3;2.9;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160052.787;20180516-160052.000;48.35729044;15.61094104;3.2;52.8;50.5;2.9;True;13;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160053.292;20180516-160053.000;48.35729911;15.61094936;3.2;28.9;30.5;4.4;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160053.796;20180516-160053.000;48.35729911;15.61094936;3.2;28.9;351.5;4.4;True;14;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160054.300;20180516-160054.000;48.35730627;15.61095028;3.2;28.9;10.5;0.0;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160054.799;20180516-160054.000;48.35730627;15.61095028;3.2;28.9;359.7;0.0;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160055.304;20180516-160055.000;48.35731171;15.61094945;3.2;27.5;339.1;2.8;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160055.807;20180516-160055.000;48.35731171;15.61094945;3.2;27.5;356.9;2.8;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160056.312;20180516-160056.000;48.35732097;15.61095083;3.2;26.7;354.8;3.9;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160056.815;20180516-160056.000;48.35732097;15.61095083;3.2;26.7;356.7;3.9;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160057.317;20180516-160057.000;48.35733145;15.61095196;3.2;11.9;333.9;4.2;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160057.818;20180516-160057.000;48.35733145;15.61095196;3.2;11.9;310.1;4.2;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160058.325;20180516-160058.000;48.35734171;15.61095108;3.2;12.0;302.8;3.5;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160058.823;20180516-160058.000;48.35734171;15.61095108;3.2;12.0;298.4;3.5;True;13;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160059.326;20180516-160059.000;48.35734994;15.61094319;3.2;12.0;294.3;4.7;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160059.828;20180516-160059.000;48.35734994;15.61094319;3.2;12.0;282.9;4.7;True;13;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160100.336;20180516-160100.000;48.35735683;15.61093094;3.2;12.0;261.8;3.5;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160100.837;20180516-160100.000;48.35735683;15.61093094;3.2;12.0;264.1;3.5;True;13;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160101.340;20180516-160101.000;48.35736042;15.61091608;3.2;12.0;233.4;4.2;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160101.842;20180516-160101.000;48.35736042;15.61091608;3.2;12.0;228.6;4.2;True;13;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160102.345;20180516-160102.000;48.35736178;15.61090073;3.2;12.0;235.7;3.6;True;11;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160102.852;20180516-160102.000;48.35736178;15.61090073;3.2;12.0;240.3;3.6;True;11;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160103.353;20180516-160103.000;48.35736124;15.61088839;4.3;11.9;236.8;2.5;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160103.856;20180516-160103.000;48.35736124;15.61088839;4.3;11.9;244.1;2.5;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160104.357;20180516-160104.000;48.35735806;15.61088010;3.2;12.1;241.4;3.2;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160104.859;20180516-160104.000;48.35735806;15.61088010;3.2;12.1;224.2;3.2;True;13;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160105.363;20180516-160105.000;48.35735479;15.61087438;3.2;12.1;212.9;1.5;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160105.866;20180516-160105.000;48.35735479;15.61087438;3.2;12.1;236.9;1.5;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160106.371;20180516-160106.000;48.35735009;15.61086831;4.3;12.2;238.8;2.4;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160106.875;20180516-160106.000;48.35735009;15.61086831;4.3;12.2;239.6;2.4;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160107.378;20180516-160107.000;48.35734364;15.61085805;4.3;12.3;254.6;3.3;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160107.879;20180516-160107.000;48.35734364;15.61085805;4.3;12.3;244.4;3.3;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160108.382;20180516-160108.000;48.35733714;15.61084603;4.3;239.3;242.4;3.6;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160108.884;20180516-160108.000;48.35733714;15.61084603;4.3;239.3;228.2;3.6;True;12;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160109.392;20180516-160109.000;48.35733051;15.61083262;4.3;239.3;240.9;4.5;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160109.894;20180516-160109.000;48.35733051;15.61083262;4.3;239.3;261.5;4.5;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160110.396;20180516-160110.000;48.35732405;15.61081808;3.2;241.8;228.4;4.5;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160110.897;20180516-160110.000;48.35732405;15.61081808;3.2;241.8;247.4;4.5;True;13;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160111.397;20180516-160111.000;48.35731759;15.61080307;3.2;241.8;252.3;4.1;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160111.903;20180516-160111.000;48.35731759;15.61080307;3.2;241.8;229.3;4.1;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160112.406;20180516-160112.000;48.35731117;15.61078757;3.2;225.3;231.6;4.7;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160112.912;20180516-160112.000;48.35731117;15.61078757;3.2;225.3;229.6;4.7;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160113.415;20180516-160113.000;48.35730433;15.61077300;4.3;225.8;219.0;4.0;True;13;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160113.916;20180516-160113.000;48.35730433;15.61077300;4.3;225.8;229.6;4.0;True;13;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160114.418;20180516-160114.000;48.35729859;15.61075818;4.3;226.4;243.0;3.9;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160114.921;20180516-160114.000;48.35729859;15.61075818;4.3;226.4;246.3;3.9;True;13;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160115.424;20180516-160115.000;48.35729371;15.61074372;4.3;226.0;241.2;3.6;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160115.927;20180516-160115.000;48.35729371;15.61074372;4.3;226.0;241.1;3.6;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160116.433;20180516-160116.000;48.35729009;15.61073303;4.3;226.1;236.7;2.4;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160116.932;20180516-160116.000;48.35729009;15.61073303;4.3;226.1;232.0;2.4;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160117.434;20180516-160117.000;48.35728401;15.61071865;3.2;238.0;247.4;4.3;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160117.939;20180516-160117.000;48.35728401;15.61071865;3.2;238.0;273.2;4.3;True;13;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160118.441;20180516-160118.000;48.35727767;15.61070204;3.2;238.3;285.7;3.8;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160118.944;20180516-160118.000;48.35727767;15.61070204;3.2;238.3;297.7;3.8;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160119.451;20180516-160119.000;48.35727551;15.61068616;3.2;286.2;279.3;3.5;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160119.955;20180516-160119.000;48.35727551;15.61068616;3.2;286.2;297.5;3.5;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160120.456;20180516-160120.000;48.35727733;15.61067170;3.2;286.8;336.4;3.6;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160120.959;20180516-160120.000;48.35727733;15.61067170;3.2;286.8;306.9;3.6;True;13;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160121.460;20180516-160121.000;48.35728535;15.61065767;3.2;287.3;321.7;4.7;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160121.966;20180516-160121.000;48.35728535;15.61065767;3.2;287.3;317.8;4.7;True;13;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160122.469;20180516-160122.000;48.35729518;15.61064429;3.2;318.5;319.5;4.4;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160122.976;20180516-160122.000;48.35729518;15.61064429;3.2;318.5;331.2;4.4;True;12;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160123.474;20180516-160123.000;48.35730169;15.61063340;3.2;317.8;313.9;3.0;True;12;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160123.974;20180516-160123.000;48.35730169;15.61063340;3.2;317.8;325.2;3.0;True;12;20
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160124.483;20180516-160124.000;48.35730966;15.61062234;3.2;333.1;301.0;4.3;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160124.978;20180516-160124.000;48.35730966;15.61062234;3.2;333.1;322.3;4.3;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160125.483;20180516-160125.000;48.35731803;15.61060957;3.2;332.9;334.3;4.0;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160125.986;20180516-160126.000;48.35732915;15.61060008;3.2;333.1;316.3;4.8;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160126.489;20180516-160126.000;48.35732915;15.61060008;3.2;333.1;332.4;4.8;True;14;21
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-160126.990;20180516-160127.000;48.35733850;15.61059320;3.2;333.2;319.6;1.6;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160127.496;20180516-160127.000;48.35733850;15.61059320;3.2;333.2;314.3;1.6;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160127.995;20180516-160128.000;48.35734564;15.61058772;3.2;333.2;316.3;2.5;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160128.501;20180516-160128.000;48.35734564;15.61058772;3.2;333.2;316.3;2.5;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160129.002;20180516-160129.000;48.35735454;15.61058529;3.2;333.2;320.2;0.0;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160129.507;20180516-160129.000;48.35735454;15.61058529;3.2;333.2;316.4;0.0;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160130.008;20180516-160130.000;48.35735500;15.61058407;3.2;333.2;324.3;0.0;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160130.516;20180516-160130.000;48.35735500;15.61058407;3.2;333.2;320.8;0.0;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160131.013;20180516-160131.000;48.35735617;15.61058407;3.2;333.2;318.8;0.0;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160131.519;20180516-160131.000;48.35735617;15.61058407;3.2;333.2;322.8;0.0;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160132.020;20180516-160132.000;48.35735572;15.61058070;3.2;333.2;316.1;0.0;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160132.526;20180516-160132.000;48.35735572;15.61058070;3.2;333.2;323.6;0.0;True;12;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160133.030;20180516-160133.000;48.35735554;15.61057794;4.3;333.2;325.3;0.0;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160133.534;20180516-160133.000;48.35735554;15.61057794;4.3;333.2;319.9;0.0;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160134.032;20180516-160134.000;48.35735418;15.61057608;4.3;333.2;320.5;0.0;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160134.538;20180516-160134.000;48.35735418;15.61057608;4.3;333.2;324.1;0.0;True;12;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160135.040;20180516-160135.000;48.35734860;15.61057281;4.3;333.2;318.6;0.0;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160135.544;20180516-160135.000;48.35734860;15.61057281;4.3;333.2;325.2;0.0;True;14;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160136.044;20180516-160136.000;48.35734200;15.61056864;4.3;333.2;320.8;0.0;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160136.551;20180516-160136.000;48.35734200;15.61056864;4.3;333.2;318.6;0.0;True;14;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160137.054;20180516-160137.000;48.35733797;15.61056640;4.3;333.2;317.9;0.0;True;11;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160137.563;20180516-160137.000;48.35733797;15.61056640;4.3;333.2;322.0;0.0;True;11;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160138.057;20180516-160138.000;48.35733722;15.61056578;4.3;333.2;319.1;0.0;True;14;21
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160138.562;20180516-160138.000;48.35733722;15.61056578;4.3;333.2;320.7;0.0;True;14;21
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160139.058;20180516-160139.000;48.35733845;15.61056596;4.3;333.2;321.5;0.0;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160139.570;20180516-160139.000;48.35733845;15.61056596;4.3;333.2;321.1;0.0;True;12;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160140.071;20180516-160140.000;48.35733937;15.61056628;4.3;333.2;320.0;0.0;True;13;20
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-160140.575;20180516-160140.000;48.35733937;15.61056628;4.3;333.2;318.0;0.0;True;13;20
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-160141.074;20180516-160141.000;48.35733973;15.61056617;4.3;333.2;315.7;0.0;True;14;21
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative-2.txt.meta b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative-2.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..571da48ec29b7c1cbd1de6e8e7cd91a99410e6d2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative-2.txt.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5f422c6a4a20b4d23880dddebfb4d1ed
+timeCreated: 1529432464
+licenseType: Pro
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative.txt b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative.txt
new file mode 100644
index 0000000000000000000000000000000000000000..72c15bc7f96371ca6b74f78908aaa8fc318855f2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative.txt
@@ -0,0 +1,180 @@
+#location service enabled;location service initializing;location updated;heading updated;location provider;location provider class;UTC device;UTC location;lat;lng;accuracy[m];user heading[°];device orientation[°];speed;has gps fix;satellites used;satellites in view
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145010.210;20180516-145010.000;48.35745406;15.61055130;4.3;176.3;160.7;0.0;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145010.687;20180516-145010.000;48.35745406;15.61055130;4.3;176.3;164.6;0.0;True;12;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145011.190;20180516-145011.000;48.35745240;15.61054847;4.3;176.3;162.6;0.0;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145011.695;20180516-145011.000;48.35745240;15.61054847;4.3;176.3;162.8;0.0;True;12;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145012.201;20180516-145012.000;48.35745226;15.61054321;4.3;176.3;157.9;0.0;True;11;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145012.703;20180516-145012.000;48.35745226;15.61054321;4.3;176.3;144.5;0.0;True;11;18
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145013.206;20180516-145013.000;48.35744953;15.61054411;4.3;176.3;159.5;0.0;True;11;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145013.708;20180516-145013.000;48.35744953;15.61054411;4.3;176.3;146.4;0.0;True;11;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145014.215;20180516-145014.000;48.35743621;15.61054889;3.2;176.6;150.1;4.0;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145014.717;20180516-145014.000;48.35743621;15.61054889;3.2;176.6;152.6;4.0;True;12;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145015.222;20180516-145015.000;48.35742299;15.61055153;3.2;176.1;137.8;3.6;True;11;17
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145015.723;20180516-145015.000;48.35742299;15.61055153;3.2;176.1;144.9;3.6;True;11;17
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145016.225;20180516-145016.000;48.35740993;15.61055714;3.2;160.6;152.0;3.5;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145016.727;20180516-145016.000;48.35740993;15.61055714;3.2;160.6;146.6;3.5;True;12;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145017.230;20180516-145017.000;48.35739649;15.61056570;3.2;146.5;149.3;4.2;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145017.734;20180516-145017.000;48.35739649;15.61056570;3.2;146.5;151.6;4.2;True;12;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145018.237;20180516-145018.000;48.35738613;15.61057465;3.2;140.2;154.3;3.3;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145018.741;20180516-145018.000;48.35738613;15.61057465;3.2;140.2;137.6;3.3;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145019.251;20180516-145019.000;48.35737374;15.61058553;4.3;134.2;142.8;5.1;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145019.748;20180516-145019.000;48.35737374;15.61058553;4.3;134.2;154.4;5.1;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145020.248;20180516-145020.000;48.35735991;15.61059594;3.2;133.2;139.7;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145020.750;20180516-145020.000;48.35735991;15.61059594;3.2;133.2;153.7;4.6;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145021.254;20180516-145021.000;48.35734613;15.61060126;3.2;133.6;148.4;4.1;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145021.761;20180516-145021.000;48.35734613;15.61060126;3.2;133.6;153.8;4.1;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145022.265;20180516-145022.000;48.35732990;15.61060454;3.2;130.4;134.9;4.8;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145022.766;20180516-145022.000;48.35732990;15.61060454;3.2;130.4;159.3;4.8;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145023.266;20180516-145023.000;48.35731841;15.61061342;3.2;138.5;168.1;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145023.771;20180516-145023.000;48.35731841;15.61061342;3.2;138.5;166.6;4.6;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145024.274;20180516-145024.000;48.35730619;15.61062081;3.2;138.8;193.6;4.7;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145024.778;20180516-145024.000;48.35730619;15.61062081;3.2;138.8;213.1;4.7;True;12;18
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145025.282;20180516-145025.000;48.35729452;15.61062848;3.2;138.8;196.4;4.4;True;11;17
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145025.783;20180516-145025.000;48.35729452;15.61062848;3.2;138.8;205.7;4.4;True;11;17
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145026.287;20180516-145026.000;48.35728354;15.61063659;3.2;138.5;229.0;4.8;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145026.788;20180516-145026.000;48.35728354;15.61063659;3.2;138.5;196.7;4.8;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145027.289;20180516-145027.000;48.35727170;15.61064493;3.2;144.8;158.8;4.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145027.795;20180516-145027.000;48.35727170;15.61064493;3.2;144.8;179.8;4.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145028.299;20180516-145028.000;48.35726004;15.61065054;3.2;145.6;158.7;4.2;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145028.803;20180516-145028.000;48.35726004;15.61065054;3.2;145.6;166.0;4.2;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145029.305;20180516-145029.000;48.35724980;15.61065545;3.2;145.2;112.8;3.3;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145029.807;20180516-145029.000;48.35724980;15.61065545;3.2;145.2;166.8;3.3;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145030.308;20180516-145030.000;48.35723823;15.61066093;3.2;174.0;186.1;4.6;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145030.812;20180516-145030.000;48.35723823;15.61066093;3.2;174.0;200.3;4.6;True;12;18
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145031.315;20180516-145031.000;48.35722432;15.61066546;3.2;174.0;198.2;4.9;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145031.821;20180516-145031.000;48.35722432;15.61066546;3.2;174.0;201.3;4.9;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145032.324;20180516-145032.000;48.35721033;15.61066460;3.2;173.9;210.5;4.7;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145032.824;20180516-145032.000;48.35721033;15.61066460;3.2;173.9;221.9;4.7;True;12;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145033.329;20180516-145033.000;48.35719815;15.61065819;3.2;211.4;230.2;4.4;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145033.831;20180516-145033.000;48.35719815;15.61065819;3.2;211.4;213.0;4.4;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145034.332;20180516-145034.000;48.35718495;15.61064727;3.2;211.7;205.6;5.4;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145034.842;20180516-145034.000;48.35718495;15.61064727;3.2;211.7;205.9;5.4;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145035.342;20180516-145035.000;48.35717528;15.61063597;3.2;211.4;206.5;3.1;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145035.846;20180516-145035.000;48.35717528;15.61063597;3.2;211.4;211.0;3.1;True;12;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145036.347;20180516-145036.000;48.35716587;15.61062449;3.2;220.5;217.3;4.8;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145036.848;20180516-145036.000;48.35716587;15.61062449;3.2;220.5;222.8;4.8;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145037.353;20180516-145037.000;48.35715553;15.61061269;3.2;220.4;209.2;4.2;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145037.853;20180516-145037.000;48.35715553;15.61061269;3.2;220.4;210.0;4.2;True;13;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145038.362;20180516-145038.000;48.35714603;15.61060086;3.2;220.4;204.3;4.5;True;11;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145038.871;20180516-145038.000;48.35714603;15.61060086;3.2;220.4;188.9;4.5;True;11;18
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145039.365;20180516-145039.000;48.35713753;15.61059051;3.2;220.4;204.3;3.4;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145039.867;20180516-145039.000;48.35713753;15.61059051;3.2;220.4;170.2;3.4;True;12;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145040.369;20180516-145040.000;48.35712849;15.61058375;3.2;174.8;169.2;4.8;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145040.874;20180516-145040.000;48.35712849;15.61058375;3.2;174.8;165.3;4.8;True;12;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145041.377;20180516-145041.000;48.35711841;15.61058153;3.2;174.4;148.5;4.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145041.884;20180516-145041.000;48.35711841;15.61058153;3.2;174.4;149.0;4.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145042.386;20180516-145042.000;48.35711011;15.61058654;3.2;173.8;140.7;4.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145042.887;20180516-145042.000;48.35711011;15.61058654;3.2;173.8;142.3;4.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145043.392;20180516-145043.000;48.35710136;15.61059581;3.2;145.0;142.6;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145043.893;20180516-145043.000;48.35710136;15.61059581;3.2;145.0;133.5;4.6;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145044.396;20180516-145044.000;48.35709564;15.61060532;3.2;144.7;155.5;2.7;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145044.900;20180516-145044.000;48.35709564;15.61060532;3.2;144.7;151.7;2.7;True;12;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145045.405;20180516-145045.000;48.35708868;15.61061658;3.2;145.8;132.9;5.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145045.907;20180516-145045.000;48.35708868;15.61061658;3.2;145.8;131.8;5.0;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145046.407;20180516-145046.000;48.35707844;15.61063040;3.2;145.6;165.1;5.1;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145046.911;20180516-145046.000;48.35707844;15.61063040;3.2;145.6;158.2;5.1;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145047.413;20180516-145047.000;48.35706854;15.61064181;3.2;145.7;166.4;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145047.918;20180516-145047.000;48.35706854;15.61064181;3.2;145.7;130.5;4.6;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145048.424;20180516-145048.000;48.35705725;15.61065241;3.2;157.7;148.2;5.3;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145048.925;20180516-145048.000;48.35705725;15.61065241;3.2;157.7;149.5;5.3;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145049.427;20180516-145049.000;48.35704504;15.61066320;3.2;157.2;130.0;5.6;True;11;17
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145049.928;20180516-145049.000;48.35704504;15.61066320;3.2;157.2;131.6;5.6;True;11;17
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145050.434;20180516-145050.000;48.35703351;15.61067254;3.2;142.1;153.9;4.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145050.936;20180516-145050.000;48.35703351;15.61067254;3.2;142.1;149.6;4.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145051.443;20180516-145051.000;48.35702362;15.61068164;3.2;142.0;135.3;4.3;True;11;17
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145051.947;20180516-145051.000;48.35702362;15.61068164;3.2;142.0;122.4;4.3;True;11;17
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145052.447;20180516-145052.000;48.35701327;15.61069170;3.2;142.1;115.6;4.9;True;12;17
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145052.951;20180516-145052.000;48.35701327;15.61069170;3.2;142.1;112.9;4.9;True;12;17
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145053.450;20180516-145053.000;48.35700484;15.61070299;3.2;122.2;102.4;4.2;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145053.956;20180516-145053.000;48.35700484;15.61070299;3.2;122.2;106.5;4.2;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145054.462;20180516-145054.000;48.35700013;15.61071536;3.2;120.8;66.9;3.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145054.964;20180516-145054.000;48.35700013;15.61071536;3.2;120.8;32.7;3.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145055.466;20180516-145055.000;48.35700266;15.61072933;3.2;121.2;51.7;4.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145055.975;20180516-145055.000;48.35700266;15.61072933;3.2;121.2;3.8;4.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145056.476;20180516-145056.000;48.35701006;15.61074389;3.2;121.3;25.5;4.3;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145056.972;20180516-145056.000;48.35701006;15.61074389;3.2;121.3;12.3;4.3;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145057.477;20180516-145057.000;48.35702288;15.61075324;3.2;2.6;358.6;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145057.977;20180516-145057.000;48.35702288;15.61075324;3.2;2.6;338.0;4.6;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145058.480;20180516-145058.000;48.35703598;15.61075461;3.2;2.2;355.0;3.4;True;12;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145058.980;20180516-145059.000;48.35705045;15.61075187;3.2;2.9;348.7;5.2;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145059.487;20180516-145059.000;48.35705045;15.61075187;3.2;2.9;332.0;5.2;True;12;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145059.990;20180516-145059.000;48.35705045;15.61075187;3.2;2.9;9.8;5.2;True;12;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145100.495;20180516-145100.000;48.35706512;15.61074929;3.2;2.9;340.7;4.1;True;12;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145100.996;20180516-145101.000;48.35707753;15.61074628;3.2;346.4;347.0;4.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145101.505;20180516-145101.000;48.35707753;15.61074628;3.2;346.4;350.9;4.0;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145102.001;20180516-145102.000;48.35708991;15.61074237;3.2;346.7;345.2;4.6;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145102.508;20180516-145102.000;48.35708991;15.61074237;3.2;346.7;313.2;4.6;True;12;18
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145103.006;20180516-145103.000;48.35710008;15.61073872;3.2;346.7;341.3;2.9;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145103.515;20180516-145103.000;48.35710008;15.61073872;3.2;346.7;342.1;2.9;True;13;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145104.011;20180516-145104.000;48.35711011;15.61073740;3.2;346.7;347.8;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145104.522;20180516-145104.000;48.35711011;15.61073740;3.2;346.7;334.3;4.6;True;13;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145105.021;20180516-145105.000;48.35711997;15.61073681;3.2;346.7;346.0;3.2;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145105.527;20180516-145105.000;48.35711997;15.61073681;3.2;346.7;337.9;3.2;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145106.023;20180516-145106.000;48.35712867;15.61073780;3.2;12.7;21.8;3.9;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145106.534;20180516-145106.000;48.35712867;15.61073780;3.2;12.7;3.6;3.9;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145107.033;20180516-145107.000;48.35713823;15.61074005;3.2;13.0;13.6;3.4;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145107.545;20180516-145107.000;48.35713823;15.61074005;3.2;13.0;27.8;3.4;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145108.042;20180516-145108.000;48.35714831;15.61074465;3.2;28.6;20.2;4.1;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145108.547;20180516-145108.000;48.35714831;15.61074465;3.2;28.6;36.3;4.1;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145109.046;20180516-145109.000;48.35715716;15.61075002;3.2;28.7;10.6;3.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145109.552;20180516-145109.000;48.35715716;15.61075002;3.2;28.7;53.4;3.0;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145110.058;20180516-145110.000;48.35716825;15.61075873;3.2;44.7;60.3;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145110.562;20180516-145110.000;48.35716825;15.61075873;3.2;44.7;45.0;4.6;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145111.065;20180516-145111.000;48.35717825;15.61077032;3.2;45.2;55.0;3.7;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145111.567;20180516-145111.000;48.35717825;15.61077032;3.2;45.2;45.8;3.7;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145112.068;20180516-145112.000;48.35718668;15.61078382;3.2;45.1;33.3;5.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145112.573;20180516-145112.000;48.35718668;15.61078382;3.2;45.1;48.3;5.0;True;13;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145113.071;20180516-145113.000;48.35719477;15.61079877;3.2;45.1;75.5;4.4;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145113.582;20180516-145113.000;48.35719477;15.61079877;3.2;45.1;60.0;4.4;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145114.084;20180516-145114.000;48.35720478;15.61081439;3.2;50.1;55.4;5.8;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145114.587;20180516-145114.000;48.35720478;15.61081439;3.2;50.1;32.5;5.8;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145115.087;20180516-145115.000;48.35721589;15.61082682;3.2;40.9;351.9;4.8;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145115.592;20180516-145115.000;48.35721589;15.61082682;3.2;40.9;348.5;4.8;True;12;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145116.094;20180516-145116.000;48.35722605;15.61083127;3.2;346.1;318.5;3.7;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145116.602;20180516-145116.000;48.35722605;15.61083127;3.2;346.1;332.2;3.7;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145117.106;20180516-145117.000;48.35723510;15.61082790;3.2;345.8;314.5;4.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145117.607;20180516-145117.000;48.35723510;15.61082790;3.2;345.8;310.4;4.0;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145118.108;20180516-145118.000;48.35724486;15.61081733;3.2;345.7;306.6;4.8;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145118.611;20180516-145118.000;48.35724486;15.61081733;3.2;345.7;319.9;4.8;True;12;18
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145119.113;20180516-145119.000;48.35725481;15.61080113;3.2;345.7;305.8;5.3;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145119.621;20180516-145119.000;48.35725481;15.61080113;3.2;345.7;286.1;5.3;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145120.122;20180516-145120.000;48.35726429;15.61078287;3.2;345.6;320.4;4.7;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145120.625;20180516-145120.000;48.35726429;15.61078287;3.2;345.6;289.0;4.7;True;12;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145121.128;20180516-145121.000;48.35727012;15.61076318;3.2;305.2;286.1;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145121.630;20180516-145121.000;48.35727012;15.61076318;3.2;305.2;285.6;4.6;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145122.135;20180516-145122.000;48.35727557;15.61074194;3.2;295.0;265.3;4.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145122.643;20180516-145122.000;48.35727557;15.61074194;3.2;295.0;264.3;4.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145123.143;20180516-145123.000;48.35727841;15.61072284;3.2;281.8;269.8;4.3;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145123.645;20180516-145123.000;48.35727841;15.61072284;3.2;281.8;284.7;4.3;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145124.147;20180516-145124.000;48.35727938;15.61070662;3.2;274.5;261.8;4.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145124.653;20180516-145124.000;48.35727938;15.61070662;3.2;274.5;278.1;4.0;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145125.156;20180516-145125.000;48.35727746;15.61069002;3.2;266.1;283.8;4.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145125.658;20180516-145125.000;48.35727746;15.61069002;3.2;266.1;283.4;4.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145126.158;20180516-145126.000;48.35727612;15.61067771;3.2;345.7;270.8;3.0;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145126.666;20180516-145126.000;48.35727612;15.61067771;3.2;345.7;289.0;3.0;True;12;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145127.167;20180516-145127.000;48.35727878;15.61066678;3.2;290.1;299.6;4.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145127.669;20180516-145127.000;48.35727878;15.61066678;3.2;290.1;309.6;4.0;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145128.174;20180516-145128.000;48.35728525;15.61065382;3.2;319.6;325.7;5.4;True;11;17
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145128.677;20180516-145128.000;48.35728525;15.61065382;3.2;319.6;321.7;5.4;True;11;17
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145129.183;20180516-145129.000;48.35729540;15.61064368;3.2;319.7;320.9;4.6;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145129.684;20180516-145129.000;48.35729540;15.61064368;3.2;319.7;311.9;4.6;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145130.187;20180516-145130.000;48.35730516;15.61063442;3.2;322.5;304.0;4.5;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145130.689;20180516-145130.000;48.35730516;15.61063442;3.2;322.5;321.5;4.5;True;12;18
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145131.195;20180516-145131.000;48.35731503;15.61062426;3.2;322.3;307.3;4.9;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145131.700;20180516-145131.000;48.35731503;15.61062426;3.2;322.3;321.4;4.9;True;13;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145132.202;20180516-145132.000;48.35732543;15.61061161;3.2;322.3;322.7;5.1;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145132.704;20180516-145132.000;48.35732543;15.61061161;3.2;322.3;320.9;5.1;True;13;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145133.206;20180516-145133.000;48.35733438;15.61060171;3.2;322.3;326.1;3.5;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145133.710;20180516-145133.000;48.35733438;15.61060171;3.2;322.3;319.3;3.5;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145134.213;20180516-145134.000;48.35734283;15.61059339;3.2;328.8;318.7;4.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145134.716;20180516-145134.000;48.35734283;15.61059339;3.2;328.8;297.7;4.0;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145135.223;20180516-145135.000;48.35734985;15.61058745;3.2;328.5;327.8;2.7;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145135.725;20180516-145135.000;48.35734985;15.61058745;3.2;328.5;323.5;2.7;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145136.226;20180516-145136.000;48.35735609;15.61058340;3.2;328.9;323.7;3.0;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145136.727;20180516-145136.000;48.35735609;15.61058340;3.2;328.9;336.7;3.0;True;13;19
+True;False;True;True;gps;DeviceLocationProviderAndroidNative;20180516-145137.231;20180516-145137.000;48.35736150;15.61057949;3.2;338.2;322.6;2.1;True;13;19
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145137.735;20180516-145137.000;48.35736150;15.61057949;3.2;338.2;331.9;2.1;True;13;19
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145138.241;20180516-145138.000;48.35736464;15.61058187;3.2;338.2;328.9;0.0;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145138.743;20180516-145138.000;48.35736464;15.61058187;3.2;338.2;329.5;0.0;True;12;18
+True;False;True;False;gps;DeviceLocationProviderAndroidNative;20180516-145139.244;20180516-145139.000;48.35736797;15.61058409;3.2;338.2;329.8;0.0;True;12;18
+True;False;False;False;gps;DeviceLocationProviderAndroidNative;20180516-145139.744;20180516-145139.000;48.35736797;15.61058409;3.2;338.2;329.5;0.0;True;12;18
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative.txt.meta b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f0659f7b397fbcc81cc7620e7a80a3986cca5b2b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderAndroidNative.txt.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 817c5a40f553e4555a5a5ace19d292bb
+timeCreated: 1529432464
+licenseType: Pro
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderUnity.txt b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderUnity.txt
new file mode 100644
index 0000000000000000000000000000000000000000..50cde1fe2a95bf680b0c0486d4c5755448d264df
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderUnity.txt
@@ -0,0 +1,3772 @@
+#location service enabled;location service initializing;location updated;heading updated;location provider;location provider class;UTC device;UTC location;lat;lng;accuracy[m];user heading[°];device orientation[°];speed;has gps fix;satellites used;satellites in view
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.627;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;172.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.638;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;169.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.669;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;169.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.702;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;176.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.736;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;174.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.770;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;167.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.803;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;174.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.836;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;175.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.870;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;171.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.903;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;173.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.937;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;174.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132426.971;20180516-132426.000;48.35740280;15.61054710;4.0;20.0;171.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;False;unity;DeviceLocationProvider;20180516-132427.004;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;175.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.038;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;173.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.071;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.104;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;174.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.138;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;175.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.172;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;172.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.207;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;173.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.239;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;176.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.272;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;174.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.306;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;174.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.339;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.373;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;172.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.406;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;174.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.440;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;172.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.474;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.506;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;170.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.540;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;174.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.574;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;171.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.607;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;175.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.641;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;169.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.674;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;172.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.708;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;172.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.741;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;175.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.777;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;171.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.808;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;177.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.841;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;175.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.876;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;172.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.909;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.942;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;171.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132427.976;20180516-132427.000;48.35740280;15.61054710;4.0;20.0;175.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;False;unity;DeviceLocationProvider;20180516-132428.009;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;171.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.043;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;174.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.077;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;169.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.112;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.144;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;174.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.179;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;174.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.211;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;171.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.244;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;170.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.279;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;171.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.313;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;171.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.345;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;172.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.379;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;172.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.416;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;172.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.446;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;169.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.479;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;171.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.514;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;173.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.546;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;172.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.581;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;170.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.614;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;168.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.647;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;166.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.680;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;169.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.714;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;169.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.748;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;172.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.781;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;169.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.815;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.849;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;165.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.881;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;165.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.915;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;167.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132428.949;20180516-132428.000;48.35740280;15.61054710;4.0;20.0;164.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;False;unity;DeviceLocationProvider;20180516-132428.981;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;165.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.015;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;166.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.048;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;167.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.082;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;163.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.118;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;162.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.151;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;163.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.183;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;165.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.217;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;162.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.251;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;165.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.284;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;165.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.318;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;164.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.350;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;166.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.384;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;162.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.417;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;163.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.455;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;166.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.484;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;171.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.518;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;171.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.552;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;172.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.585;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;176.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.620;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;175.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.653;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;169.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.687;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;172.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.720;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;172.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.753;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;171.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.786;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;171.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.820;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;175.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.854;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;168.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.887;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;173.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.920;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;168.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132429.956;20180516-132429.000;48.35740280;15.61054610;4.0;20.0;160.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;False;unity;DeviceLocationProvider;20180516-132429.986;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;167.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.023;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;163.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.054;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;170.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.088;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.121;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;169.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.155;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;160.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.189;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;173.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.222;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;167.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.258;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;164.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.290;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;167.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.322;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;165.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.356;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;162.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.390;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;163.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.423;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;161.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.457;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;165.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.492;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;159.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.523;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;158.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.557;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;152.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.591;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;158.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.623;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;156.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.657;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;143.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.692;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;158.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.725;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;164.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.758;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;151.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.791;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;167.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.825;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;171.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.859;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;171.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.893;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;161.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.925;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;170.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132430.960;20180516-132430.000;48.35740280;15.61054610;4.0;20.0;171.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;False;unity;DeviceLocationProvider;20180516-132430.992;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.025;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;160.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.058;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;164.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.095;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;163.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.127;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;171.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.160;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;164.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.193;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;164.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.227;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;165.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.261;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;165.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.296;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;166.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.327;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;163.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.361;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;169.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.395;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;163.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.428;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;168.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.461;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;171.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.496;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;164.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.529;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;162.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.563;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;162.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.596;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;164.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.629;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;158.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.662;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;161.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.700;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;160.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.730;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;152.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.763;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;153.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.797;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;153.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.830;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;147.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.864;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;153.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.898;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;159.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.931;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;155.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132431.964;20180516-132431.000;48.35739520;15.61055180;4.0;20.0;154.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132431.996;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;162.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.030;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;169.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.064;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;168.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.099;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;161.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.133;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;164.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.165;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;173.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.199;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;172.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.233;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;168.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.265;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;159.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.300;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;157.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.334;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;166.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.366;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;166.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.399;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;165.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.436;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;162.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.467;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;159.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.500;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;166.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.534;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;167.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.568;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;153.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.601;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;154.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.635;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;170.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.669;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;163.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.701;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;161.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.736;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;162.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.769;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;159.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.803;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;161.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.836;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;164.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.870;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;164.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.902;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;160.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132432.937;20180516-132432.000;48.35738370;15.61056330;4.0;338.5;147.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132432.969;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;141.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.002;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;156.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.035;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;155.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.069;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;153.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.104;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;160.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.138;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;134.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.175;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;153.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.204;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;171.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.239;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;167.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.273;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;158.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.305;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;161.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.339;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;174.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.378;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;170.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.405;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;162.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.439;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;158.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.475;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;153.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.506;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;165.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.540;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;170.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.573;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;166.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.607;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;164.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.639;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;167.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.674;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;167.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.706;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;168.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.739;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;160.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.773;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;164.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.807;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;167.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.841;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;166.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.875;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;156.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.907;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;165.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132433.943;20180516-132433.000;48.35737230;15.61057280;4.0;323.3;163.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132433.973;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;163.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.007;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;159.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.040;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;156.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.074;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;151.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.108;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;149.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.141;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;149.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.175;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;153.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.212;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;154.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.243;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;157.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.277;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;160.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.312;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;154.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.344;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;170.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.378;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;171.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.411;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;165.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.445;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;160.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.478;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;165.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.512;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;171.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.543;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;168.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.579;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;157.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.613;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;155.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.646;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;163.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.679;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;165.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.712;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;165.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.745;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;167.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.779;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;165.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.813;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;164.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.847;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;168.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.880;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;153.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.913;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;151.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132434.948;20180516-132434.000;48.35736470;15.61057570;4.0;328.2;169.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132434.980;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;167.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.014;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;163.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.049;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;164.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.080;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;165.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.117;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;164.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.149;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;153.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.181;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;157.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.216;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;154.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.249;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;153.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.282;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;157.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.316;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;147.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.350;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;158.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.382;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;158.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.416;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;163.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.450;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;148.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.483;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;165.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.517;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.550;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;165.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.584;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;156.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.620;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;155.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.651;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;170.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.684;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;168.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.718;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;167.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.752;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;166.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.785;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;163.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.817;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;162.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.853;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;167.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.885;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;164.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.920;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;164.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132435.954;20180516-132435.000;48.35735320;15.61057570;4.0;343.0;166.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132435.985;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;168.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.019;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;152.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.054;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;159.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.086;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.120;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;163.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.154;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;156.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.186;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;160.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.220;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;164.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.255;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;165.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.288;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;161.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.321;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;161.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.357;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;160.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.388;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;151.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.422;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;151.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.455;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;154.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.489;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;162.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.523;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;161.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.556;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;154.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.590;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;153.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.623;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;161.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.657;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;169.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.689;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;166.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.723;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;158.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.756;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;158.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.791;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;171.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.824;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;167.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.858;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;166.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.891;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;154.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.924;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;163.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132436.958;20180516-132436.000;48.35734000;15.61057850;4.0;347.0;163.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132436.991;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;155.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.023;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;161.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.058;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;167.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.091;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;164.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.125;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;170.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.160;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;157.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.193;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;162.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.226;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.260;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;164.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.299;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;160.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.326;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;164.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.360;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;163.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.394;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;154.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.427;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;154.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.460;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;159.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.494;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;145.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.527;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;140.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.561;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;141.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.595;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;150.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.628;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;156.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.662;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;157.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.695;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;157.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.728;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;153.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.763;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;168.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.796;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;168.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.830;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;161.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.865;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;157.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.897;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;154.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.929;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;170.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132437.963;20180516-132437.000;48.35733000;15.61058330;3.0;342.9;162.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132437.996;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;158.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.029;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;160.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.062;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;165.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.097;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;165.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.131;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;153.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.164;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;156.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.197;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;162.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.231;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;165.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.264;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;164.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.299;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;153.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.332;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;156.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.365;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;172.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.398;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;164.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.433;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;155.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.466;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;160.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.499;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;163.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.535;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;163.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.566;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;154.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.600;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;152.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.634;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;156.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.666;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;149.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.700;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;142.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.733;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;145.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.766;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;154.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.801;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;157.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.835;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;154.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.868;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;157.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.901;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;173.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132438.936;20180516-132438.000;48.35731510;15.61059090;3.0;338.6;173.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132438.971;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;161.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.001;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;147.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.036;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;148.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.069;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;175.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.102;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;171.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.136;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;149.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.168;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;155.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.203;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;157.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.236;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;166.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.272;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;164.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.302;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;161.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.336;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;165.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.370;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;164.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.403;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;164.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.437;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;159.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.470;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;154.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.505;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;170.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.540;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;167.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.571;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;162.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.604;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;160.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.638;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;160.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.672;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;156.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.705;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;158.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.740;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;154.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.772;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;157.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.806;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;153.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.839;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;147.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.873;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;149.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.906;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;152.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132439.941;20180516-132439.000;48.35730360;15.61059950;3.0;330.3;159.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132439.972;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;156.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.006;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;152.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.039;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;164.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.073;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;166.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.106;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;159.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.140;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;156.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.175;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;165.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.210;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;169.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.241;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;168.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.277;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;149.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.309;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;151.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.342;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;153.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.375;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;162.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.409;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;163.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.443;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;168.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.478;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;166.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.511;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;162.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.541;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;157.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.576;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;162.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.610;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;137.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.646;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;170.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.677;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;171.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.710;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;164.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.744;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;159.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.777;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;162.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.811;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;161.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.844;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;163.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.880;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;164.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.912;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;162.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132440.945;20180516-132440.000;48.35729000;15.61060620;3.0;330.8;146.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132440.978;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;146.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.014;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;141.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.045;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;155.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.078;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;154.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.115;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;146.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.146;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;158.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.180;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;157.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.218;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;162.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.246;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;171.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.279;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;168.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.314;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;160.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.347;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;166.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.381;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;171.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.414;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;168.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.447;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;154.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.481;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;143.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.515;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;158.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.547;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;163.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.581;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;165.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.617;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;176.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.648;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;170.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.682;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;165.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.716;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;168.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.749;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;167.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.782;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;157.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.818;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;136.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.849;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;173.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.882;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;169.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.917;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;165.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132441.950;20180516-132441.000;48.35727310;15.61061290;3.0;334.0;162.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132441.983;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;163.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.016;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;168.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.049;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;165.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.083;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;155.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.118;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;155.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.152;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;159.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.185;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;150.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.218;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;142.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.254;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;143.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.285;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;150.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.321;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;151.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.352;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;154.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.385;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;168.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.419;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;167.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.454;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;171.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.486;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;170.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.520;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;169.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.556;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;169.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.587;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;166.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.621;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;170.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.654;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;170.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.688;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;168.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.721;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;159.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.755;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;162.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.789;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;168.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.822;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;168.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.857;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;171.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.892;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;176.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.922;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;171.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132442.958;20180516-132442.000;48.35725780;15.61062150;3.0;332.6;170.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132442.987;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;170.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.022;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;165.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.055;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;167.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.088;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;170.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.122;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;168.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.156;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;165.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.190;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;176.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.223;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;178.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.258;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;172.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.291;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;158.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.324;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;170.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.358;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;170.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.391;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;167.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.425;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;168.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.458;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;163.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.492;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;159.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.525;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;154.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.559;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;162.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.593;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;167.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.626;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;172.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.660;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;171.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.693;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;176.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.727;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.762;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;174.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.794;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;171.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.826;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;182.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.860;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;184.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.897;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;184.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.927;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132443.960;20180516-132443.000;48.35724260;15.61062810;3.0;334.9;186.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132443.993;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;180.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.026;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;185.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.061;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;183.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.097;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;189.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.131;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;191.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.162;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;187.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.196;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;187.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.230;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;179.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.263;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.296;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;181.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.329;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;181.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.363;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;180.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.396;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;176.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.430;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;185.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.464;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;183.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.497;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;180.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.531;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;174.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.566;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;182.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.597;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;185.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.631;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;179.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.664;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;173.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.699;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;174.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.732;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;181.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.764;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;183.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.799;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;180.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.832;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;180.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.868;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;184.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.899;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;182.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.935;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;185.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132444.966;20180516-132444.000;48.35722730;15.61063480;3.0;335.7;182.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132444.998;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;187.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.035;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;188.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.066;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;186.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.100;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;188.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.134;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;181.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.167;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;187.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.200;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;195.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.235;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;192.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.268;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;192.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.300;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;189.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.335;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;187.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.368;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;186.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.402;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.435;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;178.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.468;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;184.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.502;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;184.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.536;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;178.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.569;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;188.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.603;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;185.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.637;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;187.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.670;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;185.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.702;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;182.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.737;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;181.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.770;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;175.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.803;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;183.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.838;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;176.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.871;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.904;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;183.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.938;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;179.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132445.972;20180516-132445.000;48.35721590;15.61063860;3.0;338.2;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132446.003;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.038;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;184.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.072;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;182.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.105;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.139;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;184.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.174;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;184.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.206;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;188.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.241;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;192.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.273;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;188.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.306;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;184.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.339;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;184.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.376;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;185.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.407;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;187.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.440;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;185.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.474;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;184.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.507;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;182.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.541;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;172.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.573;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;182.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.607;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;181.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.640;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.677;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;179.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.708;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;182.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.742;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;184.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.777;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;186.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.813;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;180.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.842;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;178.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.876;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;168.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.909;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;170.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132446.943;20180516-132446.000;48.35720440;15.61064050;3.0;344.3;173.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132446.975;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.014;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;184.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.043;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;179.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.077;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;177.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.113;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;181.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.144;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;182.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.177;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;182.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.211;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;188.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.245;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;189.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.278;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;188.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.312;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;186.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.345;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;184.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.378;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;183.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.412;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;189.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.445;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;192.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.479;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;196.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.513;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;190.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.546;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;183.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.580;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;181.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.616;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;186.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.646;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;183.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.681;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;183.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.714;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;183.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.747;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;180.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.781;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.816;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;178.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.848;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;180.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.881;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;184.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.915;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;182.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132447.948;20180516-132447.000;48.35719300;15.61064240;3.0;347.6;174.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132447.980;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;180.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.014;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.047;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;177.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.082;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;179.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.115;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;179.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.149;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;178.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.183;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;179.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.219;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;181.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.250;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;181.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.283;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.317;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;178.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.351;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;177.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.384;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;186.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.418;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;184.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.451;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;185.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.487;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;186.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.518;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;185.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.551;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;183.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.585;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;184.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.619;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;193.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.653;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;192.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.685;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;185.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.719;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;181.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.755;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;180.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.785;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;172.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.819;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;171.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.856;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;183.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.887;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;176.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.920;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132448.955;20180516-132448.000;48.35717770;15.61064050;3.0;357.2;179.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132448.985;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;178.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.019;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;180.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.054;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;182.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.087;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;189.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.120;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;182.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.156;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;165.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.187;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;165.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.221;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;172.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.255;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.289;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;180.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.323;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;178.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.355;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;174.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.389;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;182.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.422;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;182.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.458;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;183.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.489;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;187.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.523;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.558;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;180.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.589;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;179.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.622;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;182.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.657;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.690;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;179.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.723;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;174.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.759;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;181.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.791;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;188.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.825;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;188.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.859;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;182.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.891;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;188.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.925;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;191.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132449.958;20180516-132449.000;48.35716630;15.61063860;3.0;3.7;192.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132449.992;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;181.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.025;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;176.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.059;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.093;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;176.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.127;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;168.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.162;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;173.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.193;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;181.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.227;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.259;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;179.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.294;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;178.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.327;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;179.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.360;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;172.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.394;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;167.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.427;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;177.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.460;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;175.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.494;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;180.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.528;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;176.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.561;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;175.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.596;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;182.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.628;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;185.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.663;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;181.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.696;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;181.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.732;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;189.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.762;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;179.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.797;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;180.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.830;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;188.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.862;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;188.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.897;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;184.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.929;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;183.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132450.964;20180516-132450.000;48.35715480;15.61063580;3.0;9.1;190.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132450.996;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;191.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.029;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;187.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.063;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;186.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.098;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.132;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;182.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.165;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;179.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.199;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.232;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.265;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;181.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.299;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;180.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.332;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;181.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.365;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;183.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.400;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.433;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;181.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.466;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;179.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.500;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;175.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.533;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;169.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.566;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;180.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.601;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.635;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.667;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;178.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.700;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;180.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.734;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;175.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.768;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;178.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.801;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;179.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.835;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.867;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;182.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.901;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132451.935;20180516-132451.000;48.35714340;15.61063480;3.0;8.4;186.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132451.968;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.000;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.037;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;187.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.068;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;188.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.103;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;187.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.136;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;184.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.169;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;185.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.203;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;191.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.237;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;189.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.269;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;189.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.304;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;183.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.337;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.370;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;184.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.407;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.438;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.471;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;181.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.504;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;179.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.538;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.572;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.605;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.638;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;187.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.674;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;187.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.705;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;166.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.739;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.775;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;178.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.806;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.840;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;182.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.873;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;185.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.906;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;180.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132452.939;20180516-132452.000;48.35713200;15.61063480;3.0;4.6;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132452.977;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;182.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.006;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;183.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.039;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.073;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;212.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.107;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;180.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.141;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;183.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.175;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;186.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.208;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;200.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.241;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;202.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.276;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;189.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.308;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;189.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.342;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;189.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.376;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;186.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.409;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;187.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.442;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;192.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.477;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;187.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.508;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;181.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.541;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;174.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.579;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;182.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.610;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;182.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.644;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;178.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.678;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;180.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.712;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;180.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.743;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;187.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.777;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;183.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.811;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;184.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.844;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;174.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.879;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;174.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.913;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;180.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132453.944;20180516-132453.000;48.35712000;15.61063480;3.0;2.2;178.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132453.978;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;182.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.013;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;182.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.045;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;181.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.083;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;179.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.113;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;182.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.146;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;182.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.180;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;181.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.214;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;186.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.247;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;204.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.282;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;183.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.314;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;185.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.347;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;185.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.383;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;185.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.416;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;206.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.449;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;186.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.481;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;184.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.516;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;188.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.548;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;187.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.581;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;187.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.617;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;187.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.653;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;182.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.681;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;180.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.716;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;186.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.749;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.783;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;179.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.818;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;178.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.852;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;182.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.882;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;185.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.917;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;181.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132454.949;20180516-132454.000;48.35711000;15.61063480;3.0;0.5;181.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132454.982;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;186.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.016;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;188.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.050;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;175.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.084;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;184.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.118;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;180.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.152;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;182.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.185;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;180.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.222;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;181.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.251;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;181.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.284;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;185.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.319;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;186.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.353;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;187.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.386;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;184.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.419;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;185.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.453;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;185.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.486;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;185.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.520;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;185.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.554;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;184.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.586;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;171.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.620;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;176.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.655;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;181.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.686;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;181.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.721;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;181.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.756;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;176.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.790;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;175.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.821;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;170.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.855;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;173.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.889;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;172.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.922;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;169.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132455.956;20180516-132455.000;48.35709380;15.61063480;3.0;0.0;162.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132455.988;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;168.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.021;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;168.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.057;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;165.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.089;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;151.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.123;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;160.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.157;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;157.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.190;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;152.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.223;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;141.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.258;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;140.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.290;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;148.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.327;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;151.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.357;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;144.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.390;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;142.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.423;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;143.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.458;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;145.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.491;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;138.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.525;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;135.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.558;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;134.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.594;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;130.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.626;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;130.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.659;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;129.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.694;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;115.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.725;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;107.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.760;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;111.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.794;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;122.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.827;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;114.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.860;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;119.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.899;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;111.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.927;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;109.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132456.960;20180516-132456.000;48.35708240;15.61063390;3.0;2.1;102.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132456.994;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;93.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.027;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;118.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.060;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;111.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.095;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;104.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.128;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;117.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.161;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;114.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.196;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;116.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.228;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;100.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.262;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;72.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.296;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;92.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.328;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;108.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.362;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;85.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.398;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;87.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.429;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;88.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.462;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;77.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.497;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;77.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.531;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;83.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.562;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;68.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.598;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;86.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.631;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;90.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.664;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;63.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.698;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;79.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.731;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;84.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.764;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;78.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.798;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;82.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.831;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;87.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.866;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;68.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.898;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;59.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.934;20180516-132457.000;48.35707000;15.61063480;3.0;359.4;47.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132457.965;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;45.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132457.999;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;50.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.032;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;57.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.065;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;43.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.100;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;53.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.134;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;60.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.166;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;68.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.200;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;57.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.234;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;66.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.267;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;94.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.301;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;65.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.334;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;50.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.368;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;26.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.401;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;0.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.436;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;6.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.468;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;47.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.501;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;44.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.535;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;32.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.569;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;29.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.601;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;34.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.636;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;23.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.669;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;30.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.702;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;53.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.736;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;138.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.770;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;5.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.802;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;15.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.837;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;14.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.870;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;55.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.903;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;31.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132458.937;20180516-132458.000;48.35706710;15.61064150;3.0;329.3;18.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132458.970;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;357.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.003;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;348.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.038;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;9.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.070;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;357.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.105;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;23.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.141;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;34.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.172;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;50.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.205;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;30.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.239;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;29.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.272;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;20.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.305;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;146.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.339;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;116.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.375;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;81.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.406;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;0.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.440;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;342.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.474;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;69.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.506;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;84.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.540;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;8.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.574;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;9.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.608;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;35.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.640;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;32.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.675;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;12.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.711;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;20.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.741;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;29.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.775;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;33.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.808;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;27.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.841;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;40.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.876;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;102.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.909;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;340.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132459.942;20180516-132459.000;48.35707470;15.61065390;3.0;286.1;14.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132459.975;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;19.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.008;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;339.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.042;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;9.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.076;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;26.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.110;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;38.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.144;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;29.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.178;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;21.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.209;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;29.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.243;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;31.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.277;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;40.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.318;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;38.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.344;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;48.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.379;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;53.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.411;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;47.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.444;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;52.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.478;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;64.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.514;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;60.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.545;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;30.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.578;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;22.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.613;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;54.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.645;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;31.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.679;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;26.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.714;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;41.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.746;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;44.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.779;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;34.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.814;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;20.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.846;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;5.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.880;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;3.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.914;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;23.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132500.947;20180516-132500.000;48.35708620;15.61066630;3.0;254.4;58.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132500.981;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;44.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.013;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;28.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.046;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;49.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.081;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;64.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.115;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;24.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.148;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;348.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.182;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;36.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.218;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;54.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.249;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;18.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.282;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;20.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.316;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;35.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.349;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;13.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.385;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;346.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.416;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;10.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.449;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;20.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.483;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;19.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.517;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;27.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.554;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;49.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.583;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;52.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.618;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;50.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.652;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;52.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.685;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;36.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.717;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;23.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.751;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;26.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.785;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;37.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.819;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;29.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.852;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;10.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.885;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;43.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.919;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;47.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132501.957;20180516-132501.000;48.35710000;15.61067770;3.0;232.3;31.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132501.988;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;25.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.018;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;30.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.052;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;30.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.086;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;24.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.120;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;0.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.156;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;359.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.187;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;1.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.220;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;340.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.257;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;339.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.288;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;354.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.321;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;355.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.354;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;47.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.388;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;48.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.421;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;28.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.457;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;1.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.489;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;12.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.521;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;9.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.556;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;10.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.589;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;23.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.622;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;17.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.656;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;28.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.688;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;32.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.723;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;50.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.756;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;83.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.790;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;53.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.823;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;36.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.857;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;51.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.890;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;18.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.924;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;15.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132502.958;20180516-132502.000;48.35711290;15.61068920;3.0;223.7;1.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132502.990;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;4.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.023;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;10.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.061;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;15.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.093;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;10.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.124;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;8.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.159;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;16.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.195;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;11.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.226;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;12.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.258;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;22.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.293;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;14.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.326;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;15.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.360;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;16.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.397;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;344.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.426;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;353.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.460;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;348.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.494;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;346.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.527;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;356.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.560;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;355.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.595;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;15.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.630;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;359.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.660;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;354.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.697;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;1.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.730;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;21.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.762;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;4.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.795;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;5.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.828;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;30.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.863;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;45.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.896;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;62.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.929;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;345.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132503.966;20180516-132503.000;48.35712430;15.61070060;3.0;223.4;31.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132503.994;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;20.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.029;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;345.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.062;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;1.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.096;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;22.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.130;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;30.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.164;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;16.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.197;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;0.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.230;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;357.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.264;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;356.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.298;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;12.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.334;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;13.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.364;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;33.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.398;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;33.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.434;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;32.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.465;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;14.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.499;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;15.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.535;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;34.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.565;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;29.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.599;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;10.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.634;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;12.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.668;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;355.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.699;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;353.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.734;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;0.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.766;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;357.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.800;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;2.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.836;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;1.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.867;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;1.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.901;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;16.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.934;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;18.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132504.967;20180516-132504.000;48.35713580;15.61071110;3.0;222.7;15.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132505.000;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;29.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.034;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;40.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.067;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;41.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.101;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;126.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.139;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;51.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.169;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;11.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.202;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;12.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.236;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;14.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.269;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;345.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.306;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;335.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.336;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;326.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.369;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;344.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.403;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;19.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.437;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;12.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.471;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;357.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.504;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;15.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.537;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;21.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.570;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;29.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.604;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;36.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.638;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;23.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.674;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;5.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.705;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;60.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.738;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;41.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.772;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;45.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.805;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;15.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.838;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;346.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.876;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;354.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.906;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;11.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.939;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;23.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132505.973;20180516-132505.000;48.35714720;15.61071870;3.0;218.8;22.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132506.005;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;349.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.039;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;357.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.074;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;25.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.106;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;8.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.140;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;5.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.175;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;34.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.207;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;44.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.240;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;45.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.275;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;35.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.308;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;73.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.341;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;52.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.375;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;2.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.410;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;351.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.442;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;2.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.476;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;14.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.508;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;8.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.542;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;18.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.577;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;56.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.609;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;43.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.642;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;1.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.676;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;348.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.710;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;351.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.744;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;5.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.779;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;5.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.810;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;8.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.844;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;45.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.878;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;2.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.911;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;349.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132506.944;20180516-132506.000;48.35716000;15.61072540;3.0;213.5;16.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132506.976;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;38.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.010;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;12.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.044;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;343.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.079;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;335.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.113;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;348.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.146;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;32.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.178;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;33.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.213;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;36.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.246;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;33.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.279;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;31.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.313;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;40.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.346;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;76.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.380;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;71.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.414;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;55.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.448;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;65.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.480;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;66.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.515;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;32.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.551;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;43.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.580;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;44.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.615;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;55.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.648;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;14.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.680;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;10.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.718;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;32.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.748;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;26.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.781;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;20.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.818;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;26.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.849;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;33.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.882;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;23.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.917;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;12.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132507.949;20180516-132507.000;48.35716630;15.61073400;3.0;222.0;8.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132507.982;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;1.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.016;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;26.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.049;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;118.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.082;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;23.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.118;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;15.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.151;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;355.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.184;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;342.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.217;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;4.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.251;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;20.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.284;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;43.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.318;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;19.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.352;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;17.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.384;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;45.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.418;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;60.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.453;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;78.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.487;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;56.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.518;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;39.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.552;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;4.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.587;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;70.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.619;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;55.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.654;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;13.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.686;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;24.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.719;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;47.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.753;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;68.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.787;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;9.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.821;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;6.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.855;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;50.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.887;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;45.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.921;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;20.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132508.956;20180516-132508.000;48.35717770;15.61074450;3.0;222.3;24.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132508.987;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;58.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.021;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;63.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.055;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;59.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.088;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;26.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.121;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;114.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.156;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;34.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.190;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;18.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.226;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;21.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.255;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;34.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.289;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;29.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.323;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;21.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.356;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;20.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.390;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;22.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.423;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;24.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.458;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;26.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.490;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;27.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.525;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;37.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.557;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;55.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.591;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;78.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.625;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;52.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.658;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;41.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.692;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;64.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.725;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;86.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.759;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;78.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.796;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;59.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.825;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;47.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.859;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;46.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.894;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;32.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.926;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;34.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132509.959;20180516-132509.000;48.35718540;15.61075690;3.0;230.0;9.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132509.992;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;13.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.025;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;18.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.059;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;18.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.097;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;26.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.128;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;62.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.161;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;65.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.195;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;51.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.228;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;49.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.261;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;55.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.295;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;52.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.329;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;28.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.361;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;17.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.396;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;6.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.429;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;17.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.462;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;38.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.496;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;50.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.529;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;69.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.562;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;58.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.596;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;18.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.629;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;36.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.663;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;29.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.697;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;47.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.730;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;72.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.764;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;58.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.797;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;44.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.830;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;127.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.864;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;96.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.897;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;54.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.931;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;51.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132510.964;20180516-132510.000;48.35719300;15.61077310;3.0;238.2;48.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132510.997;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;41.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.031;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;44.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.064;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;36.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.098;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;43.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.135;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;51.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.165;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;37.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.199;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;41.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.233;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;46.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.266;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;30.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.300;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;26.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.335;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;22.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.369;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;65.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.400;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;102.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.434;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;62.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.470;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;351.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.501;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;346.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.535;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;28.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.567;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;85.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.602;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;68.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.636;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;31.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.668;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;44.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.701;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;57.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.736;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;59.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.769;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;29.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.802;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;34.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.838;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;46.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.870;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;54.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.903;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;50.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132511.939;20180516-132511.000;48.35720440;15.61079120;3.0;238.3;82.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132511.969;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;88.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.002;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;73.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.036;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;72.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.070;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;89.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.104;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;59.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.137;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;34.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.173;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;22.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.204;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;48.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.238;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;52.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.272;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;40.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.305;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;38.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.338;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;33.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.373;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;14.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.406;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;30.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.438;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;43.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.472;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;68.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.506;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;49.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.539;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;43.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.575;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;125.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.606;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;29.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.640;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;19.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.674;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;54.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.707;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;41.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.741;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;40.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.775;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;25.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.807;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;9.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.841;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;10.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.875;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;21.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.908;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;21.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.942;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;40.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132512.975;20180516-132512.000;48.35721000;15.61080650;3.0;244.5;44.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132513.007;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;51.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.041;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;62.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.076;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;60.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.109;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;73.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.145;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;148.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.176;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;93.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.209;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;22.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.243;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;26.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.277;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;53.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.309;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;25.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.344;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;23.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.378;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;25.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.411;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;44.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.445;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;35.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.478;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;31.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.511;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;35.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.545;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;37.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.578;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;41.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.612;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;42.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.645;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;27.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.680;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;36.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.716;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;13.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.745;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;50.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.778;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;121.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.813;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;83.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.845;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;342.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.879;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;0.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.915;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;37.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132513.946;20180516-132513.000;48.35721590;15.61082080;3.0;246.3;66.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132513.979;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;57.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.016;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;46.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.047;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;53.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.080;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;45.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.114;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;39.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.148;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;49.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.181;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;62.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.217;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;50.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.249;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;67.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.281;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;122.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.315;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;107.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.349;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;45.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.383;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;45.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.418;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;67.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.449;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;26.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.484;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;7.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.516;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;24.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.549;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;58.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.583;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;45.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.617;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;39.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.650;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;31.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.684;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;19.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.717;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;25.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.750;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;35.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.784;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;29.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.818;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;49.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.852;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;47.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.884;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;25.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.918;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;87.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132514.955;20180516-132514.000;48.35722350;15.61083600;3.0;245.1;100.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132514.984;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;32.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.017;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;6.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.052;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;11.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.084;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;60.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.119;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;32.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.153;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;32.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.185;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;49.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.219;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;53.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.254;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;31.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.287;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;359.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.320;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;2.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.354;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;36.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.389;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;47.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.420;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;52.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.454;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;67.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.490;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;58.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.522;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;106.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.555;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;83.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.588;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;55.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.622;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;68.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.657;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;59.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.688;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;45.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.722;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;11.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.757;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;8.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.790;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;6.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.822;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;21.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.856;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;35.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.893;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;42.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.924;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;44.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132515.956;20180516-132515.000;48.35723500;15.61085130;3.0;240.1;47.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132515.991;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;48.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.023;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;62.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.058;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;45.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.091;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;127.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.124;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;63.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.157;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;15.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.191;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;24.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.224;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;52.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.259;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;61.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.292;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;43.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.327;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;22.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.358;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;11.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.395;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;358.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.426;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;9.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.460;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;3.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.493;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;6.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.526;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;9.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.559;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;28.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.593;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;39.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.627;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;80.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.661;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;67.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.693;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;56.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.728;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;130.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.761;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;63.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.797;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;38.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.828;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;56.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.861;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;63.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.897;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;56.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.928;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;14.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132516.962;20180516-132516.000;48.35724260;15.61086370;3.0;238.7;9.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132516.996;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;19.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.028;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;34.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.064;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;35.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.095;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;31.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.133;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;30.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.163;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;37.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.196;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;59.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.229;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;53.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.263;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;42.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.297;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;3.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.333;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;214.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.364;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;26.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.398;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;25.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.430;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;18.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.465;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;16.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.499;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;16.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.532;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;40.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.564;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;33.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.599;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;26.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.638;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;27.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.665;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;29.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.698;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;14.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.732;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;17.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.765;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;71.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.800;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;86.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.834;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;67.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.866;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;62.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.900;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;6.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.935;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;80.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132517.967;20180516-132517.000;48.35725000;15.61087610;3.0;238.4;42.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132517.999;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;46.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.033;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;47.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.067;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;55.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.101;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;13.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.135;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;4.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.171;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;13.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.200;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;25.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.235;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;27.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.268;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;25.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.302;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;25.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.336;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;26.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.369;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;40.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.403;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;33.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.438;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;29.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.470;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;15.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.503;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;335.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.537;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;140.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.571;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;33.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.603;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;27.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.637;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;18.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.671;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;59.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.703;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;37.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.738;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;18.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.771;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;0.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.804;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;352.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.839;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;358.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.872;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;8.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.905;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;27.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132518.939;20180516-132518.000;48.35725780;15.61088560;3.0;234.5;42.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132518.973;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;53.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.004;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;55.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.039;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;86.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.072;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;67.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.106;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;43.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.139;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;21.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.174;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;64.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.207;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;54.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.240;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;54.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.274;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;58.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.311;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;33.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.340;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;11.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.374;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;3.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.408;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;14.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.441;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;24.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.475;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;20.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.510;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;14.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.540;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;43.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.576;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;51.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.609;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;40.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.642;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;26.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.678;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;36.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.709;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;117.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.742;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;345.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.778;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;5.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.810;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;43.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.843;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;26.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.881;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;20.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.910;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;6.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132519.943;20180516-132519.000;48.35726000;15.61089130;4.0;241.2;350.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132519.976;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;358.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.010;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;11.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.043;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;16.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.077;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;20.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.112;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;27.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.145;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;42.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.178;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;52.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.212;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;71.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.246;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;50.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.278;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;23.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.312;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;115.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.346;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;70.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.379;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;39.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.413;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;51.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.446;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;48.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.480;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;48.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.515;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;50.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.547;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;46.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.580;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;41.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.614;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;31.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.647;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;22.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.681;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;43.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.716;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;38.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.748;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;30.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.781;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;27.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.816;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;16.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.849;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;29.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.882;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;24.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.916;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;8.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132520.950;20180516-132520.000;48.35727000;15.61090000;4.0;232.2;30.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132520.981;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;12.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.015;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;344.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.048;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;348.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.082;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;348.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.116;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;55.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.151;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;31.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.184;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;2.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.217;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;355.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.250;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;4.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.284;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;359.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.318;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;348.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.352;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;344.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.385;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;357.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.419;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;351.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.451;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;352.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.485;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;339.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.519;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;354.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.556;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;6.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.586;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;10.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.619;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;355.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.652;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;26.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.686;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;10.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.719;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;331.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.756;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;341.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.786;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;18.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.819;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;18.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.854;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;343.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.887;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;329.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.920;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;329.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132521.954;20180516-132521.000;48.35727690;15.61090760;4.0;229.7;342.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132521.986;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;335.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.020;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;341.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.055;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;1.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.089;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;338.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.125;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;317.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.155;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;309.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.189;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;313.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.222;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;301.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.256;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;282.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.289;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;301.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.322;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;290.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.356;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;287.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.390;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;301.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.423;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;327.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.459;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;311.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.490;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;291.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.523;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;291.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.557;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;302.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.592;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;311.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.624;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;306.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.658;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;324.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.691;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;344.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.724;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;332.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.758;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;276.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.793;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;311.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.825;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;73.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.858;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;54.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.893;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;280.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.926;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;235.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132522.959;20180516-132522.000;48.35729000;15.61091230;5.0;216.0;250.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132522.992;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;18.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.025;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;355.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.060;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;249.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.094;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;297.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.128;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;300.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.160;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;308.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.194;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;297.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.227;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;294.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.261;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;301.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.294;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;312.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.327;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;342.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.361;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;327.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.396;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;315.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.428;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;338.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.461;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;337.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.496;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;343.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.529;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;347.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.562;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;4.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.597;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;9.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.629;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;340.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.662;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;328.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.697;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;331.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.730;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;354.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.763;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;357.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.801;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;322.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.831;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;319.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.862;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;301.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.898;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;269.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.931;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;270.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132523.964;20180516-132523.000;48.35730360;15.61091520;4.0;203.1;289.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132523.996;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;308.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.033;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;319.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.064;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;313.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.098;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;339.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.134;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;351.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.165;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;308.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.198;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;318.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.234;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;351.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.265;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;344.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.299;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;332.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.333;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;310.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.366;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;307.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.400;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;310.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.434;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;303.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.467;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;295.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.500;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;302.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.534;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;309.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.567;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;308.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.601;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;305.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.637;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;304.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.667;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;301.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.701;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;311.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.735;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;325.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.769;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;321.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.802;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;294.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.835;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;297.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.869;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;354.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.902;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;347.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.936;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;316.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132524.969;20180516-132524.000;48.35731000;15.61091140;4.0;341.3;306.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132525.002;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;311.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.036;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;315.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.069;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;327.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.103;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;328.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.137;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;318.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.171;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;329.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.203;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;342.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.237;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;345.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.271;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;317.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.304;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;312.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.338;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;313.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.372;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;311.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.404;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;291.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.438;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;279.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.472;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;302.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.505;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;292.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.539;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;273.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.575;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;261.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.606;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;301.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.640;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;310.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.673;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;307.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.706;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;306.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.740;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;299.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.773;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;318.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.806;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;322.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.840;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;306.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.876;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;302.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.908;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;302.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.941;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;305.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132525.974;20180516-132525.000;48.35732650;15.61090660;4.0;71.3;326.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132526.008;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;277.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.043;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;259.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.074;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;305.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.108;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;304.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.144;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;302.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.176;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;293.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.208;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;277.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.242;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;281.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.276;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;284.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.310;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;314.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.343;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;313.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.376;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;296.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.410;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;286.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.443;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;277.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.477;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;274.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.511;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;295.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.543;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;255.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.577;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;246.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.616;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;275.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.643;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;286.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.677;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;272.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.712;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;255.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.744;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;259.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.779;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;286.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.816;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;281.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.846;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;272.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.879;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;282.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.912;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;279.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132526.945;20180516-132526.000;48.35733800;15.61089900;4.0;119.8;285.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132526.978;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;283.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.014;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;275.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.046;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;259.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.079;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;267.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.114;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;310.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.147;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;259.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.179;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;249.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.214;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;257.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.247;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;302.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.280;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;281.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.314;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;277.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.347;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;271.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.381;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;261.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.415;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;270.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.448;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;291.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.481;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;294.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.516;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;285.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.549;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;265.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.581;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;254.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.618;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;254.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.649;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;267.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.683;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;267.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.716;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;241.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.751;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;242.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.782;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;261.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.817;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;250.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.850;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;251.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.883;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;253.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.917;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;254.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132527.950;20180516-132527.000;48.35734560;15.61088750;4.0;139.2;260.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132527.983;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;267.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.016;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;264.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.050;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;271.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.083;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;268.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.118;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;266.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.152;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;256.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.185;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;247.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.219;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;249.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.253;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;288.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.289;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;244.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.319;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;234.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.354;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;248.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.386;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;254.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.420;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;256.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.453;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;256.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.487;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;256.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.520;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;247.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.554;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;263.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.587;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;262.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.621;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;257.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.656;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;265.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.687;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;250.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.721;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;240.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.755;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;240.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.788;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;264.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.821;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;252.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.855;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;226.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.888;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;235.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.921;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;251.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132528.959;20180516-132528.000;48.35735320;15.61086940;4.0;126.6;246.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132528.988;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;239.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.022;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;233.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.056;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;242.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.089;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;251.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.122;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;254.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.156;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;257.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.190;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;247.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.223;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;248.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.258;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;255.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.291;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;239.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.324;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;233.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.358;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;238.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.393;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;258.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.424;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;231.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.457;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;226.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.492;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;228.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.525;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;248.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.559;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;234.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.595;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;221.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.625;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;240.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.659;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;257.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.692;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;232.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.726;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;233.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.760;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;248.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.793;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;251.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.826;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;231.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.860;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;224.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.894;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;237.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.927;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;247.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132529.961;20180516-132529.000;48.35735000;15.61084840;4.0;103.7;238.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132529.993;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;219.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.027;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;229.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.060;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;239.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.095;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;225.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.128;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;224.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.162;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;236.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.195;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;248.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.229;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;251.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.262;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;229.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.296;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;238.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.329;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;250.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.362;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;245.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.397;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;243.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.430;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;222.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.463;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;224.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.497;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;258.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.537;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;222.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.563;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;221.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.597;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;232.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.631;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;236.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.664;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;226.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.697;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;217.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.734;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;232.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.764;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;246.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.798;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;241.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.834;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;233.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.866;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;236.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.898;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;237.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.932;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;241.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132530.966;20180516-132530.000;48.35734560;15.61083130;3.0;88.3;231.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132530.999;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;225.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.032;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;228.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.065;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;225.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.103;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;228.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.133;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;228.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.166;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;230.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.200;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;224.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.234;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;223.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.267;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;231.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.301;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;243.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.337;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;244.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.367;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;263.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.401;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;254.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.437;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;239.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.469;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;236.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.502;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;231.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.537;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;222.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.569;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;246.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.602;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;251.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.636;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;225.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.669;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;231.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.701;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;235.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.736;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;233.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.770;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;236.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.803;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;230.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.837;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;225.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.870;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;238.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.904;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;246.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.937;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;253.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132531.971;20180516-132531.000;48.35733800;15.61081600;3.0;74.9;254.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132532.003;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;239.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.037;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;233.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.071;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;229.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.104;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;233.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.140;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;238.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.174;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;223.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.207;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;218.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.238;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;233.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.272;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;241.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.305;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;230.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.340;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;226.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.375;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;239.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.406;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;247.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.439;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;237.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.476;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;245.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.506;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;239.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.539;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;233.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.574;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;241.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.606;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;234.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.640;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;229.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.674;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;247.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.708;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;217.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.741;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;220.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.779;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;219.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.807;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;248.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.841;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;254.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.875;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;242.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.909;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;228.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132532.942;20180516-132532.000;48.35732650;15.61079880;3.0;64.0;227.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132532.975;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;228.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.008;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;239.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.041;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;253.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.075;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;254.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.109;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;229.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.143;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;232.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.177;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;230.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.209;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;233.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.243;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;227.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.277;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;218.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.310;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;222.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.343;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;254.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.377;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;251.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.411;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;222.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.444;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;221.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.478;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;235.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.514;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;238.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.544;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;235.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.579;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;245.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.612;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;247.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.646;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;241.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.679;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;240.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.714;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;228.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.746;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;246.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.779;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;246.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.813;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;223.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.846;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;214.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.879;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;223.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.913;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;253.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132533.947;20180516-132533.000;48.35731510;15.61078170;3.0;59.5;239.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132533.980;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;225.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.014;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;221.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.046;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;234.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.080;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;246.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.115;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;245.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.148;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;247.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.181;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;235.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.216;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;232.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.248;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;227.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.282;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;226.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.316;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;222.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.349;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;221.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.382;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;225.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.416;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;237.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.453;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;240.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.483;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;232.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.517;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;227.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.552;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;228.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.583;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;231.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.617;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;235.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.651;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;246.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.684;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;242.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.717;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;239.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.751;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;235.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.784;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;228.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.818;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;229.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.851;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;235.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.885;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;232.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.918;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;219.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132534.953;20180516-132534.000;48.35730740;15.61076450;3.0;61.4;214.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132534.985;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;241.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.020;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;259.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.053;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;236.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.086;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;231.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.119;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;236.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.154;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;234.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.186;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;230.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.220;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;250.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.255;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;247.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.286;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;232.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.320;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;219.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.355;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;228.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.387;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;232.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.421;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;226.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.455;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;217.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.488;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;223.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.521;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;235.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.555;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;243.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.588;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;222.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.621;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;220.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.658;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;230.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.689;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;239.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.722;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;240.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.756;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;242.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.789;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;237.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.823;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;234.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.856;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;230.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.889;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;232.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.923;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;234.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132535.960;20180516-132535.000;48.35730000;15.61074730;3.0;63.7;240.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132535.989;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;219.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.023;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;219.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.057;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;224.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.091;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;242.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.125;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;226.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.158;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;227.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.191;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;233.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.225;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;234.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.259;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;227.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.295;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;238.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.326;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;243.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.359;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;242.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.395;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;223.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.425;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;233.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.459;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;238.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.495;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;230.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.527;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;220.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.560;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;218.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.594;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;226.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.627;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;241.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.660;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;236.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.698;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;219.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.727;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;225.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.761;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;229.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.795;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;241.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.828;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;233.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.862;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;234.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.897;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;240.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.928;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;249.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132536.961;20180516-132536.000;48.35729220;15.61073210;3.0;63.8;246.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132536.996;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;232.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.028;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;224.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.061;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;246.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.096;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;247.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.130;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;219.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.163;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;226.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.197;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;234.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.231;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;220.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.266;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;227.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.297;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;234.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.330;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;240.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.364;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;235.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.397;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;238.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.434;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;235.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.464;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;242.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.497;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;234.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.532;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;221.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.565;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;227.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.598;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;232.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.632;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;226.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.665;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;217.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.699;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;218.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.733;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;238.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.766;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;224.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.799;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;220.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.833;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;223.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.867;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;250.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.902;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;245.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.934;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;233.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132537.966;20180516-132537.000;48.35728450;15.61071870;3.0;62.6;234.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132538.000;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;245.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.034;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;245.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.067;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;233.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.100;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;221.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.136;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;222.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.168;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;242.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.201;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;225.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.236;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;214.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.269;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;238.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.302;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;247.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.337;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;234.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.374;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;224.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.402;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;227.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.436;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;223.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.470;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;226.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.502;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;227.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.537;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;242.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.570;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;237.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.604;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;232.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.637;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;222.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.670;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;225.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.703;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;237.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.739;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;228.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.771;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;214.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.804;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;226.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.838;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;233.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.872;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;231.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.905;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;221.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132538.942;20180516-132538.000;48.35727690;15.61070540;3.0;61.3;222.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132538.971;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;237.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.004;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;242.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.038;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;240.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.074;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;237.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.105;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;231.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.139;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;235.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.178;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;232.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.206;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;230.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.240;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;230.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.275;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;242.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.307;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;224.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.340;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;214.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.375;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;220.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.408;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;242.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.441;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;238.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.475;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;226.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.508;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;221.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.541;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;222.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.575;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;234.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.609;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;237.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.642;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;233.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.676;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;243.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.709;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;237.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.743;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;229.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.776;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;234.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.810;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;241.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.843;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;229.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.878;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;221.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.909;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;218.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132539.943;20180516-132539.000;48.35726550;15.61069110;3.0;56.5;229.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132539.977;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;243.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.009;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;238.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.045;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;227.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.077;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;234.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.112;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;239.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.144;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;248.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.178;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;255.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.214;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;248.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.244;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;243.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.278;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;236.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.313;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;235.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.345;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;250.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.379;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;273.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.413;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;236.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.445;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;223.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.479;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;223.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.513;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;252.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.547;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;253.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.580;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;244.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.620;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;240.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.646;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;234.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.681;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;240.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.714;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;263.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.748;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;265.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.782;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;253.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.816;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;249.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.847;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;242.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.881;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;245.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.916;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;245.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132540.948;20180516-132540.000;48.35725780;15.61067770;3.0;57.7;251.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132540.980;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;234.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.016;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;234.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.048;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;241.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.081;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;249.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.117;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;249.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.150;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;244.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.183;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;241.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.217;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;244.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.250;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;252.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.283;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;253.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.317;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;261.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.351;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;271.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.384;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;265.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.417;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;258.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.450;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;248.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.484;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;270.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.518;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;278.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.552;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;240.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.586;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;250.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.618;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;269.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.652;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;272.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.686;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;265.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.718;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;262.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.752;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;248.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.786;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;256.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.820;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;266.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.854;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;285.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.887;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;278.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.919;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;281.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132541.953;20180516-132541.000;48.35725000;15.61066720;3.0;55.6;284.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132541.986;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;259.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.021;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;258.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.056;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;289.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.087;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;269.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.121;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;247.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.154;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;257.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.192;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;281.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.220;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;274.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.254;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;267.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.292;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;272.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.321;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;286.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.356;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;284.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.389;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;278.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.422;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;274.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.457;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;282.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.490;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;291.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.523;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;293.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.558;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;283.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.590;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;288.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.623;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;270.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.657;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;255.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.690;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;259.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.724;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;319.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.758;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;298.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.791;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;273.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.824;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;268.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.861;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;272.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.892;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;280.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.925;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;284.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132542.959;20180516-132542.000;48.35724640;15.61065290;3.0;64.5;287.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132542.992;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;282.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.024;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;285.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.059;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;297.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.093;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;279.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.126;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;290.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.159;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;297.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.193;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;265.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.226;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;266.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.260;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;277.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.295;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;279.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.328;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;279.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.361;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;276.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.395;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;274.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.427;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;288.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.460;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;290.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.494;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;288.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.528;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;293.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.562;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;290.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.597;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;290.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.628;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;291.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.662;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;287.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.696;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;305.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.729;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;329.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.762;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;275.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.798;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;264.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.829;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;301.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.863;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;317.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.898;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;294.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.930;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;287.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132543.963;20180516-132543.000;48.35724640;15.61063670;3.0;76.9;282.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132543.996;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;294.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.029;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;305.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.063;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;316.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.098;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;312.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.131;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;323.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.165;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;315.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.197;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;303.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.232;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;304.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.265;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;318.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.299;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;320.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.332;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;280.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.365;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;278.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.399;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;299.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.433;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;315.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.467;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;297.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.499;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;300.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.538;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;310.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.566;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;332.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.601;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;325.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.634;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;302.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.667;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;298.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.701;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;319.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.735;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;327.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.767;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;311.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.801;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;315.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.835;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;334.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.868;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;315.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.902;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;292.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.937;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;5.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132544.969;20180516-132544.000;48.35725400;15.61062430;3.0;98.3;323.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132545.001;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;317.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.035;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;330.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.068;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;334.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.104;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;305.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.136;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;311.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.170;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;340.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.203;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;348.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.236;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;333.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.270;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;317.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.304;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;318.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.338;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;316.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.370;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;347.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.404;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;328.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.438;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;288.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.472;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;287.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.506;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;318.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.537;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;318.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.572;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;304.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.606;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;314.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.640;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;327.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.672;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;352.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.705;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;347.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.739;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;345.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.774;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;332.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.806;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;344.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.839;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;350.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.874;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;5.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.906;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;20.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.940;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;35.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132545.974;20180516-132545.000;48.35726550;15.61062000;3.0;128.9;31.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132546.006;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;27.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.041;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;333.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.074;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;9.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.107;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;344.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.141;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;2.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.175;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;30.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.209;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;12.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.240;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;351.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.276;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;351.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.309;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;10.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.342;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;22.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.376;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;17.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.409;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;2.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.443;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;354.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.477;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;26.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.509;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;34.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.543;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;129.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.577;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;78.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.609;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;9.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.643;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;22.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.677;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;30.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.711;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;30.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.744;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;14.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.780;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;3.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.811;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;7.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.844;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;24.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.878;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;35.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.914;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;33.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132546.944;20180516-132546.000;48.35727690;15.61062430;3.0;1.0;38.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132546.978;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;46.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.011;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;63.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.044;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;52.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.078;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;85.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.113;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;89.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.146;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;50.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.179;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;53.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.213;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;86.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.247;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;57.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.280;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;51.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.313;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;53.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.351;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;53.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.380;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;42.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.413;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;37.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.447;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;29.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.481;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;26.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.514;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;39.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.548;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;54.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.582;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;42.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.615;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;28.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.649;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;28.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.682;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;121.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.716;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;117.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.748;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;25.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.782;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;31.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.816;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;59.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.850;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;91.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.883;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;25.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.916;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;16.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132547.951;20180516-132547.000;48.35729000;15.61063770;3.0;293.9;30.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132547.983;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;46.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.016;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;48.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.049;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;40.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.083;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;54.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.117;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;57.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.151;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;55.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.184;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;48.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.219;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;66.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.251;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;89.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.284;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;72.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.319;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;57.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.353;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;39.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.386;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;44.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.419;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;51.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.454;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;66.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.486;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;33.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.519;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;44.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.553;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;35.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.586;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;18.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.620;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;29.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.654;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;47.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.687;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;45.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.720;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;39.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.756;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;63.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.787;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;68.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.821;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;39.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.855;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;44.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.888;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;59.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.922;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;30.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132548.956;20180516-132548.000;48.35730000;15.61065480;3.0;257.7;0.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132548.987;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;24.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.023;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;38.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.055;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;41.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.089;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;17.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.122;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;16.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.156;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;47.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.190;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;59.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.222;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;57.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.256;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;61.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.290;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;64.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.324;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;93.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.357;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;83.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.391;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;57.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.423;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;30.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.458;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;30.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.491;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;62.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.524;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;31.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.558;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;8.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.596;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;31.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.625;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;38.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.659;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;36.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.691;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;39.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.725;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;42.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.759;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;55.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.794;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;45.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.826;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;41.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.860;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;67.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.894;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;70.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.926;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;32.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132549.960;20180516-132549.000;48.35730740;15.61067390;3.0;237.5;19.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132549.993;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;4.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.026;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;16.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.060;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;13.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.094;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;11.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.128;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;45.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.160;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;61.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.195;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;60.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.228;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;33.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.261;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;27.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.295;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;31.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.329;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;55.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.362;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;58.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.396;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;49.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.429;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;101.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.462;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;114.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.496;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;83.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.529;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;49.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.562;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;27.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.597;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;11.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.630;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;7.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.664;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;57.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.697;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;46.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.730;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;45.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.764;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;37.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.798;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;24.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.830;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;25.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.865;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;38.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.899;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;61.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.930;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;53.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132550.964;20180516-132550.000;48.35731510;15.61069000;3.0;242.9;45.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132550.998;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;42.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.034;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;60.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.065;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;120.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.098;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;83.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.134;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;356.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.166;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;336.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.199;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;135.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.234;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;25.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.267;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;31.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.299;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;32.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.333;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;32.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.367;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;11.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.401;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;19.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.434;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;66.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.467;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;59.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.502;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;61.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.536;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;63.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.567;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;76.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.602;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;105.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.636;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;93.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.669;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;80.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.701;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;60.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.736;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;56.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.769;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;53.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.802;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;48.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.840;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;15.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.871;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;23.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.903;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;24.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132551.937;20180516-132551.000;48.35732270;15.61070440;3.0;243.7;28.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132551.968;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;31.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.002;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;51.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.037;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;62.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.070;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;56.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.103;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;71.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.138;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;118.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.171;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;86.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.205;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;7.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.238;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;10.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.272;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;58.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.305;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;48.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.339;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;22.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.374;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;17.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.409;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;36.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.439;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;31.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.475;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;26.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.506;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;23.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.539;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;37.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.574;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;47.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.606;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;61.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.640;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;64.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.676;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;73.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.706;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;98.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.740;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;67.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.774;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;52.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.808;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;87.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.840;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;84.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.875;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;65.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.910;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;38.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132552.941;20180516-132552.000;48.35733410;15.61071780;3.0;237.5;22.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132552.975;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;20.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.007;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;43.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.041;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;44.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.075;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;29.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.109;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;47.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.142;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;50.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.176;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;65.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.209;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;60.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.242;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;44.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.277;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;92.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.310;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;58.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.343;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;42.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.377;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;57.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.410;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;94.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.443;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;58.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.478;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;37.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.516;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;52.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.544;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;54.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.577;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;36.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.612;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;27.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.645;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;13.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.679;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;38.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.712;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;25.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.746;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;26.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.779;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;53.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.813;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;81.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.845;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;98.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.879;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;111.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.914;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;42.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132553.947;20180516-132553.000;48.35734000;15.61073110;3.0;240.7;40.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132553.980;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;43.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.013;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;77.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.046;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;69.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.084;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;26.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.115;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;5.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.147;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;39.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.182;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;35.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.214;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;18.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.248;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;21.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.282;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;38.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.315;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;52.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.348;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;77.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.382;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;51.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.415;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;35.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.448;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;128.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.483;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;36.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.517;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;12.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.549;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;44.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.583;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;34.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.617;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;356.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.650;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;7.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.682;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;18.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.717;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;40.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.752;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;20.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.783;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;36.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.817;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;37.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.851;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;43.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.885;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;41.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.918;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;58.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132554.954;20180516-132554.000;48.35734560;15.61074000;3.0;239.2;71.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132554.983;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;53.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.018;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;127.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.051;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;82.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.086;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;48.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.119;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;41.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.153;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;65.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.186;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;63.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.221;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;33.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.253;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;6.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.286;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;14.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.320;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;32.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.354;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;38.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.387;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;49.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.420;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;72.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.457;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;79.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.487;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;60.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.521;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;34.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.554;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;34.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.588;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;45.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.621;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;132.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.657;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;26.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.687;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;336.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.721;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;347.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.756;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;79.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.789;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;53.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.821;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;33.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.856;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;35.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.889;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;33.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.922;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;27.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132555.956;20180516-132555.000;48.35735000;15.61074730;3.0;238.9;48.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132555.989;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;76.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.022;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;61.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.056;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;33.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.090;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;117.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.124;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;98.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.157;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;69.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.191;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;29.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.225;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;46.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.260;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;50.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.293;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;56.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.328;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;42.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.359;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;32.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.391;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;17.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.425;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;2.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.459;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;45.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.493;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;56.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.526;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;43.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.560;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;58.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.594;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;56.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.625;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;60.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.660;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;55.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.694;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;32.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.727;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;3.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.760;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;5.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.795;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;61.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.828;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;83.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.861;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;60.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.899;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;1.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.928;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;35.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132556.962;20180516-132556.000;48.35735320;15.61075590;3.0;244.3;51.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132556.993;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;18.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.027;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;5.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.060;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;34.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.095;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;35.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.129;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;31.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.162;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;47.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.198;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;53.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.229;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;62.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.262;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;80.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.297;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;51.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.330;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;39.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.363;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;75.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.398;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;69.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.430;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;42.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.463;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;32.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.497;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;0.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.532;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;9.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.564;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;27.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.600;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;19.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.631;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;18.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.664;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;9.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.697;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;14.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.734;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;28.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.765;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;4.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.799;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;2.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.833;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;273.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.866;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;355.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.899;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;355.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.933;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;358.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132557.967;20180516-132557.000;48.35735700;15.61076740;3.0;247.6;9.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132557.999;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;7.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.032;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;2.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.066;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;16.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.101;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;14.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.134;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;14.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.167;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;356.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.200;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;11.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.236;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;19.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.268;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;16.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.302;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;32.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.337;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;25.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.369;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;24.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.403;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;55.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.438;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;43.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.469;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;7.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.503;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;34.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.536;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;28.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.581;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;7.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.603;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;1.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.636;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;2.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.671;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;4.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.702;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;353.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.736;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;345.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.771;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;11.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.804;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;17.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.838;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;11.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.872;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;353.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.904;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;304.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132558.937;20180516-132558.000;48.35736470;15.61077790;3.0;241.9;322.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132558.972;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;343.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.004;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;338.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.038;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;343.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.071;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;328.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.106;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;355.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.138;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;343.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.172;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;337.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.205;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;349.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.240;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;340.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.273;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;341.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.306;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;1.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.340;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;352.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.376;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;346.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.407;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;6.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.440;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;348.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.477;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;316.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.507;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;25.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.540;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;35.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.576;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;340.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.608;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;343.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.641;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;346.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.675;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;346.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.708;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;351.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.742;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;358.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.776;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;0.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.809;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;344.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.842;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;342.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.876;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;348.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.910;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;326.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.943;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;348.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132559.976;20180516-132559.000;48.35737230;15.61078450;3.0;232.5;3.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132600.009;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;321.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.042;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;285.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.077;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;296.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.110;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;322.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.144;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;334.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.179;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;334.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.212;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;336.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.246;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;334.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.278;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;322.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.316;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;325.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.345;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;315.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.378;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;311.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.414;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;322.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.445;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;330.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.481;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;331.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.515;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;324.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.545;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;345.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.579;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;330.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.616;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;326.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.647;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;343.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.679;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;342.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.715;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;309.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.747;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;323.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.780;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;322.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.818;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;325.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.847;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;332.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.880;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;346.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.915;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;339.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132600.948;20180516-132600.000;48.35738370;15.61078740;3.0;214.1;331.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132600.980;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;323.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.014;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;316.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.047;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;310.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.082;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;327.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.116;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;328.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.149;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;308.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.182;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;300.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.216;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;302.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.249;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;308.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.282;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;316.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.317;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;306.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.350;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;290.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.383;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;309.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.417;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;336.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.450;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;336.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.484;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;315.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.518;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;312.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.552;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;319.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.584;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;319.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.617;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;306.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.653;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;302.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.684;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;317.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.718;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;333.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.754;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;321.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.786;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;319.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.819;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;316.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.853;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;297.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.886;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;314.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.919;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;317.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132601.953;20180516-132601.000;48.35739520;15.61078740;3.0;0.1;303.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132601.985;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;289.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.019;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;307.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.053;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;329.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.087;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;324.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.120;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;306.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.154;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;298.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.187;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;292.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.221;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;298.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.257;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;310.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.287;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;291.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.321;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;283.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.356;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;290.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.389;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;290.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.421;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;292.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.456;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;289.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.491;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;293.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.521;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;303.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.556;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;320.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.592;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;307.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.623;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;301.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.656;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;304.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.690;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;307.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.723;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;305.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.759;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;303.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.791;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;300.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.824;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;324.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.857;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;319.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.891;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;279.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.924;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;337.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132602.958;20180516-132602.000;48.35741000;15.61078450;3.0;84.7;354.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132602.991;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;292.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.024;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;299.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.057;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;305.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.091;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;288.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.125;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;300.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.160;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;323.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.194;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;317.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.225;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;315.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.259;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;318.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.296;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;317.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.326;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;305.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.359;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;320.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.395;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;283.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.427;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;264.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.461;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;281.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.495;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;292.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.526;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;276.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.561;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;267.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.595;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;290.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.629;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;306.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.662;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;314.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.695;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;304.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.728;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;294.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.761;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;294.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.796;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;300.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.829;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;315.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.863;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;302.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.896;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;290.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.929;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;304.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132603.962;20180516-132603.000;48.35742000;15.61077880;3.0;128.3;315.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132603.995;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;270.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.029;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;267.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.062;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;318.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.097;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;312.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.131;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;289.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.166;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;303.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.197;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;296.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.231;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;287.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.264;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;291.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.298;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;317.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.333;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;312.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.364;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;303.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.398;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;298.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.432;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;297.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.465;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;291.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.499;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;290.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.533;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;307.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.566;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;277.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.600;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;262.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.634;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;269.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.667;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;305.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.700;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;312.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.738;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;279.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.767;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;279.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.800;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;285.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.834;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;292.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.867;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;284.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.900;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;289.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132604.935;20180516-132604.000;48.35743330;15.61076930;3.0;153.8;307.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132604.968;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;307.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.000;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;307.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.036;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;290.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.068;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;308.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.101;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;329.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.136;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;321.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.169;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;261.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.202;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;295.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.236;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;305.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.269;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;284.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.303;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;293.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.336;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;301.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.370;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;296.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.404;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;296.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.437;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;295.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.470;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;303.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.503;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;317.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.538;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;304.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.571;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;298.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.605;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;289.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.638;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;297.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.672;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;299.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.704;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;288.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.738;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;280.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.773;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;279.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.805;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;279.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.842;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;288.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.872;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;305.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.906;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;292.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.940;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;271.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132605.973;20180516-132605.000;48.35744480;15.61075880;3.0;144.8;283.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132606.005;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;295.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.040;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;296.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.073;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;291.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.107;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;292.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.140;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;294.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.176;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;296.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.207;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;298.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.240;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;321.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.277;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;301.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.308;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;275.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.342;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;296.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.377;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;299.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.412;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;269.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.442;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;270.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.475;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;289.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.509;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;292.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.542;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;286.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.576;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;291.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.610;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;295.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.643;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;308.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.677;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;301.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.709;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;299.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.743;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;296.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.777;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;296.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.811;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;311.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.844;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;284.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.877;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;266.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.911;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;278.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132606.944;20180516-132606.000;48.35745620;15.61074640;3.0;137.8;282.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132606.976;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;272.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.015;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;274.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.044;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;323.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.080;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;330.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.113;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;318.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.145;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;287.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.179;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;299.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.215;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;303.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.246;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;301.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.282;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;310.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.314;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;326.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.346;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;312.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.380;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;315.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.415;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;307.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.447;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;278.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.480;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;280.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.519;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;273.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.548;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;278.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.581;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;293.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.614;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;290.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.647;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;276.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.681;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;283.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.715;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;313.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.748;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;328.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.783;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;318.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.816;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;302.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.849;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;299.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.883;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;295.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.916;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;292.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132607.949;20180516-132607.000;48.35746380;15.61073680;3.0;132.7;294.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132607.981;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;279.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.014;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;277.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.049;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;296.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.085;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;291.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.118;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;275.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.150;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;286.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.184;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;286.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.218;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;273.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.250;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;270.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.284;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;287.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.318;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;291.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.352;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;316.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.384;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;295.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.418;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;283.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.452;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;303.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.486;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;312.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.520;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;302.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.554;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;261.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.586;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;276.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.619;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;278.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.653;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;282.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.686;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;277.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.720;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;274.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.754;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;281.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.786;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;287.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.820;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;289.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.855;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;302.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.887;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;292.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.922;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;288.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132608.955;20180516-132608.000;48.35746770;15.61073000;4.0;126.1;287.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132608.987;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;287.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.020;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;290.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.055;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;282.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.087;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;271.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.122;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;257.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.156;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;275.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.189;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;276.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.221;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;269.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.256;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;297.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.290;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;322.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.323;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;326.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.357;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;287.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.390;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;276.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.423;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;275.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.457;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;292.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.491;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;316.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.525;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;293.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.558;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;268.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.590;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;314.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.624;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;304.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.657;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;268.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.691;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;272.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.725;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;270.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.762;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;273.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.792;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;309.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.825;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;284.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.860;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;268.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.893;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;274.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.925;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;297.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132609.960;20180516-132609.000;48.35747530;15.61072540;4.0;135.7;297.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132609.992;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;294.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.026;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;279.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.059;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;272.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.093;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;270.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.126;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;288.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.160;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;270.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.195;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;272.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.227;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;281.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.261;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;278.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.295;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;263.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.328;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;258.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.361;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;260.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.395;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;272.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.429;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;274.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.461;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;277.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.496;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;285.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.529;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;281.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.563;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;272.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.596;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;264.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.630;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;282.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.663;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;314.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.696;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;294.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.730;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;246.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.763;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;270.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.797;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;309.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.830;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;275.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.864;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;268.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.896;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;271.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.931;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;266.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132610.964;20180516-132610.000;48.35748670;15.61071680;4.0;139.2;272.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132610.997;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;281.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.030;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;285.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.064;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;282.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.098;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;274.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.133;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;267.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.165;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;258.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.198;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;269.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.235;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;319.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.266;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;243.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.299;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;239.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.333;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;252.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.366;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;283.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.399;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;275.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.438;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;248.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.467;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;266.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.499;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;276.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.534;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;273.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.567;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;276.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.601;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;273.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.635;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;266.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.668;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;266.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.702;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;272.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.735;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;270.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.768;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;294.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.802;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;248.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.837;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;240.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.869;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;255.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.903;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;281.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132611.939;20180516-132611.000;48.35750000;15.61070440;4.0;138.9;266.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132611.969;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;263.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.002;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;263.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.036;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;256.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.069;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;272.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.102;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;283.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.137;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;265.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.170;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;268.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.203;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;272.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.237;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;259.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.271;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;258.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.304;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;275.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.338;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;270.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.372;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;238.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.405;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;243.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.438;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;249.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.471;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;256.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.504;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;254.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.539;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;255.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.573;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;256.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.605;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;265.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.640;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;257.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.673;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;251.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.706;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;262.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.740;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;270.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.775;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;271.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.807;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;260.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.840;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;251.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.875;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;258.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.907;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;257.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132612.939;20180516-132612.000;48.35750580;15.61068820;5.0;126.8;235.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132612.975;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;236.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.007;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;269.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.041;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;287.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.075;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;247.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.113;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;250.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.142;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;257.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.176;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;263.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.209;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;281.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.242;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;281.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.276;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;277.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.309;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;261.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.342;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;259.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.376;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;259.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.410;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;251.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.442;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;250.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.476;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;247.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.510;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;248.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.544;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;259.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.578;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;262.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.611;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;245.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.644;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;243.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.680;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;251.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.711;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;277.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.744;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;267.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.778;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;262.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.812;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;258.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.845;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;270.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.879;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;284.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.915;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;274.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132613.945;20180516-132613.000;48.35751000;15.61066910;5.0;114.3;255.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132613.977;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;251.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.016;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;261.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.046;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;252.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.080;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;243.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.114;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;251.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.147;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;242.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.180;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;239.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.214;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;257.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.248;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;266.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.280;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;255.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.315;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;267.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.348;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;276.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.381;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;271.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.415;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;272.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.448;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;257.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.482;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;247.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.515;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;257.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.549;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;280.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.584;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;245.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.616;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;235.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.649;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;247.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.684;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;275.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.716;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;273.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.748;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;245.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.784;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;248.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.817;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;270.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.850;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;274.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.884;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;263.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.918;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;260.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132614.951;20180516-132614.000;48.35751340;15.61065000;4.0;106.1;265.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132614.983;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;262.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.016;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;260.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.050;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;265.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.084;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;249.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.117;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;270.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.153;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;265.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.184;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;235.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.219;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;234.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.255;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;251.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.286;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;245.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.319;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;245.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.358;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;245.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.385;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;250.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.419;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;268.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.454;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;292.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.486;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;276.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.520;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;273.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.554;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;282.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.588;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;267.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.620;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;253.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.653;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;250.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.686;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;246.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.722;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;254.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.756;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;252.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.788;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;240.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.821;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;236.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.857;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;236.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.889;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;255.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.921;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;241.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132615.957;20180516-132615.000;48.35751720;15.61063290;4.0;102.6;238.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132615.988;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;267.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.022;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;272.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.056;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;265.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.090;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;273.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.123;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;253.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.157;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;243.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.190;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;249.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.223;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;262.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.258;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;258.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.291;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;262.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.324;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;230.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.357;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;227.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.392;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;250.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.425;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;279.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.458;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;268.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.491;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;253.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.525;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;233.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.559;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;237.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.593;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;259.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.627;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;264.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.659;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;259.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.693;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;260.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.726;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;262.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.760;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;240.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.795;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;233.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.826;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;253.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.860;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;252.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.895;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;241.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.927;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;236.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132616.961;20180516-132616.000;48.35751720;15.61061480;4.0;96.4;239.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132616.994;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;256.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.029;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;254.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.061;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;240.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.096;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;234.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.128;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;242.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.161;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;248.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.195;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;247.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.229;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;250.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.262;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;255.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.296;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;261.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.329;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;252.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.363;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;240.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.396;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;230.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.429;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;236.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.463;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;257.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.497;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;246.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.530;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;223.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.562;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;229.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.602;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;249.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.630;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;250.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.664;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;233.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.698;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;229.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.733;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;238.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.764;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;237.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.798;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;243.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.833;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;247.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.865;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;255.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.899;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;244.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.933;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;227.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132617.965;20180516-132617.000;48.35752000;15.61059380;4.0;96.6;226.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132617.998;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;240.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.035;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;249.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.065;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;220.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.100;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;217.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.134;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;227.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.166;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;224.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.200;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;225.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.234;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;226.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.267;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;229.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.300;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;226.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.334;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;229.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.368;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;233.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.402;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;236.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.434;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;240.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.467;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;237.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.502;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;238.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.535;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;237.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.568;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;233.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.603;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;220.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.636;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;220.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.669;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;226.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.703;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;217.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.738;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;222.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.769;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;223.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.803;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;214.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.838;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;211.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.873;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;215.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.903;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;225.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.937;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;237.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132618.970;20180516-132618.000;48.35752000;15.61057660;4.0;93.4;244.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132619.003;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;239.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.036;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;238.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.070;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;234.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.104;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;225.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.138;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;219.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.171;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;221.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.205;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;220.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.238;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;217.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.276;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;213.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.305;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;217.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.339;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;224.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.373;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;229.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.406;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;214.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.440;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;213.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.474;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;221.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.506;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;247.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.540;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;220.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.576;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;217.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.607;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;217.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.640;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;224.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.677;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;224.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.708;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;224.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.740;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;221.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.776;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;217.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.808;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;211.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.842;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;218.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.874;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;226.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.909;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;201.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132619.942;20180516-132619.000;48.35751720;15.61056330;4.0;85.9;201.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132619.974;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;208.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.008;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;212.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.041;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;207.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.077;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;208.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.110;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;207.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.143;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;207.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.178;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;222.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.210;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;222.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.245;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;225.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.277;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;227.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.310;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;213.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.343;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;203.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.379;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;202.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.412;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;209.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.443;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;206.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.479;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;198.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.512;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;201.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.546;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;211.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.578;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;209.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.613;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;199.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.646;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;201.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.679;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;217.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.716;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;235.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.746;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;220.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.780;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;213.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.814;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;203.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.846;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;210.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.880;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;214.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.916;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;204.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132620.949;20180516-132620.000;48.35751340;15.61055370;4.0;77.7;202.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132620.980;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;203.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.014;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;211.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.047;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;205.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.081;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;200.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.115;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;198.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.148;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;202.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.181;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;207.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.215;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;209.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.249;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;217.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.283;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;214.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.318;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;208.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.349;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;208.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.382;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;209.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.416;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;220.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.450;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;213.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.483;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;201.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.523;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;199.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.549;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;202.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.583;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;204.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.617;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;199.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.650;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;201.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.683;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;202.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.718;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;208.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.751;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;204.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.784;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;203.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.818;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;205.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.853;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;217.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.884;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;218.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.918;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;209.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132621.952;20180516-132621.000;48.35750200;15.61054130;4.0;62.7;205.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132621.985;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;227.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.019;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;222.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.054;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;207.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.086;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;203.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.120;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;201.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.154;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;198.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.187;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;206.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.219;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;202.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.255;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;199.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.287;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;192.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.321;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;201.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.355;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;204.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.388;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;209.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.421;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;202.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.455;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;201.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.488;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;203.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.521;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;199.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.556;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;198.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.589;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;202.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.622;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;203.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.657;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;199.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.688;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;197.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.723;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;198.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.756;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;196.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.790;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;194.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.822;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;194.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.857;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;197.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.890;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;205.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.924;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;204.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132622.957;20180516-132622.000;48.35749000;15.61052800;4.0;54.3;203.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132622.990;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;203.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.023;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;199.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.057;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;195.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.090;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;204.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.124;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;206.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.158;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;207.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.196;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;207.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.225;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;198.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.260;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;194.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.294;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;196.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.325;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;192.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.359;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;199.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.394;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;197.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.426;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;191.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.459;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;190.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.494;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;185.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.526;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;190.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.560;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;195.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.596;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;196.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.627;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;193.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.660;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;194.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.695;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;196.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.728;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;189.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.764;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;193.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.795;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;191.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.827;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;194.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.861;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;191.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.896;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;189.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.931;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;195.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132623.961;20180516-132623.000;48.35747000;15.61051850;4.0;39.7;192.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132623.995;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;190.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.028;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;186.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.062;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;186.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.096;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;187.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.130;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;190.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.164;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;196.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.196;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;197.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.230;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;197.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.264;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;198.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.298;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;200.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.333;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;187.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.364;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;190.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.399;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;193.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.434;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;195.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.465;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;190.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.498;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;189.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.532;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;183.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.565;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;186.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.599;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;185.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.635;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;187.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.665;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;183.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.699;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;184.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.734;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;182.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.765;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;182.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.799;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;186.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.834;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;188.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.869;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;182.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.900;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;188.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.933;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;192.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132624.968;20180516-132624.000;48.35745620;15.61051370;4.0;28.6;180.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132624.999;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.033;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;181.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.066;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;181.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.103;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;187.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.134;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;194.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.168;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.201;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;185.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.236;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;189.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.268;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;189.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.303;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;185.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.336;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;188.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.369;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.403;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;181.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.440;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;188.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.470;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;190.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.502;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;196.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.537;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;195.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.570;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;188.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.603;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;186.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.638;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;184.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.675;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;183.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.704;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;177.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.737;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;184.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.771;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;181.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.804;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;178.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.837;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;180.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.874;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;176.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.905;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;178.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132625.938;20180516-132625.000;48.35744000;15.61051000;3.0;20.3;178.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132625.972;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;183.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.008;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.038;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;177.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.073;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;180.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.106;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;175.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.140;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;175.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.174;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;178.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.207;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;182.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.240;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;172.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.274;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;176.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.307;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;179.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.340;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;181.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.374;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;181.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.407;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;178.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.440;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;183.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.477;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;190.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.508;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.541;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;180.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.576;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;180.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.608;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;179.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.641;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.676;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.709;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;186.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.742;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;186.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.776;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;184.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.811;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;185.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.842;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;184.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.877;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;182.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.910;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;181.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132626.942;20180516-132626.000;48.35742570;15.61051080;3.0;7.9;183.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132626.976;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;183.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.014;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;179.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.043;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;178.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.078;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;179.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.117;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;179.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.144;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;178.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.178;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.212;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;177.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.245;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;172.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.278;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;178.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.313;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;178.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.346;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;176.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.379;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;173.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.413;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;171.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.446;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;177.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.480;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;175.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.516;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;181.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.546;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;178.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.580;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;178.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.614;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;179.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.647;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.682;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;181.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.713;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;176.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.747;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.780;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;181.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.814;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;176.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.849;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;178.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.881;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;177.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.915;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;181.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132627.950;20180516-132627.000;48.35741810;15.61051560;3.0;348.5;183.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132627.981;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;176.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.015;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.048;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.083;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;179.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.116;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.150;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.183;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;179.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.219;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;181.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.250;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;175.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.283;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.318;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.350;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;176.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.384;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;178.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.418;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;180.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.451;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.484;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.520;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.551;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;179.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.586;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;179.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.618;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;182.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.652;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;179.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.684;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.722;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;178.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.753;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;176.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.791;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;180.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.819;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;178.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.855;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.887;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;177.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.919;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;178.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132628.955;20180516-132628.000;48.35740660;15.61052800;3.0;330.4;179.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132628.986;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.019;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;176.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.053;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;179.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.086;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.123;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.155;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;176.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.189;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.222;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;176.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.258;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.289;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.322;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;177.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.360;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;177.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.390;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.422;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;183.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.456;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;176.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.492;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;176.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.523;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.556;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;180.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.589;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;176.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.623;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.657;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.690;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.724;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;176.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.758;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;179.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.790;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.824;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;178.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.857;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;177.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.891;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;181.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.924;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;177.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132629.958;20180516-132629.000;48.35740280;15.61053180;3.0;320.8;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132629.990;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;180.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.024;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;174.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.057;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;177.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.090;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;176.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.125;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;179.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.158;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;177.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.192;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;175.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.225;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;175.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.259;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;177.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.292;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;180.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.326;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;178.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.359;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.393;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;176.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.426;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.462;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;178.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.493;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;178.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.527;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;177.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.560;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.594;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;177.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.627;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;178.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.660;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;176.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.694;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;175.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.728;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;177.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.761;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;182.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.795;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;174.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.828;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;174.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.861;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;176.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.895;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;175.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.928;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;179.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132630.962;20180516-132630.000;48.35740660;15.61053560;3.0;275.0;175.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;True;unity;DeviceLocationProvider;20180516-132630.995;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;176.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.030;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;176.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.062;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;180.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.096;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;180.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.129;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.163;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;179.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.197;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;178.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.230;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;178.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.264;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;179.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.297;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;181.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.331;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;176.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.364;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;177.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.398;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;178.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.432;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;181.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.465;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;179.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.498;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.532;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;176.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.565;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.599;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.632;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;176.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.665;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.700;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;182.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.733;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;177.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.766;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;176.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.799;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;180.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.832;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;181.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.867;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;181.0;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.900;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;177.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.933;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;176.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;True;unity;DeviceLocationProvider;20180516-132631.966;20180516-132631.000;48.35740660;15.61053750;4.0;269.5;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;True;False;unity;DeviceLocationProvider;20180516-132632.000;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;178.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.033;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;177.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.067;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;175.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.101;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;179.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.137;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.167;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;177.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.201;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;180.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.235;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;176.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.268;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;176.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.302;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;175.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.335;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;179.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.369;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;179.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.402;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;180.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.435;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;176.5;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.471;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;178.2;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.503;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;172.7;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.537;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;178.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.572;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;177.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.603;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.637;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;173.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.672;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;175.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.707;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;178.1;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.738;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;175.8;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.772;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;178.3;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.805;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;177.4;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.838;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;179.6;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.871;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;179.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
+True;False;False;False;unity;DeviceLocationProvider;20180516-132632.905;20180516-132632.000;48.35740280;15.61053470;4.0;269.5;177.9;[not supported by provider];[not supported by provider];[not supported by provider];[not supported by provider]
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderUnity.txt.meta b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderUnity.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bfbddbd294a034b679dd739055bb3f73bf5d8874
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ExampleGpsTraces/LocationProviderUnity.txt.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1273cde990e694a4ab408f6a2b288edb
+timeCreated: 1526477424
+licenseType: Pro
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ILocationProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Location/ILocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4b965aaf4b99d61c1e5a387f39798453ab612142
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ILocationProvider.cs
@@ -0,0 +1,13 @@
+namespace Mapbox.Unity.Location
+{
+	using System;
+
+	/// <summary>
+	/// Implement ILocationProvider to send Heading and Location updates.
+	/// </summary>
+	public interface ILocationProvider
+	{
+		event Action<Location> OnLocationUpdated;
+		Location CurrentLocation { get; }
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/ILocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/ILocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e4fab6c3f9d5bfb4a5f11cf9eb3f9d7966443678
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/ILocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7acec3aa2711f4ec0894a6d98ee70436
+timeCreated: 1484081764
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Location.cs b/T3-Unity/Assets/Mapbox/Unity/Location/Location.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ec0ead0d0100fe88890e0f6833e5dc306e71d5a1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Location.cs
@@ -0,0 +1,112 @@
+namespace Mapbox.Unity.Location
+{
+	using Mapbox.Utils;
+    using System.Diagnostics;
+
+    /// <summary>
+    /// Location contains heading, latitude, longitude, accuracy and a timestamp.
+    /// </summary>
+    [DebuggerDisplay("{LatitudeLongitude,nq} {Accuracy}m hdg:{UserHeading} orientation:{DeviceOrientation}")]
+	public struct Location
+	{
+		/// <summary>
+		/// The location, as descibed by a <see cref="T:Mapbox.Utils.Vector2d"/>. 
+		/// Location.x represents Latitude.
+		/// Location.y represents Longitude.
+		/// </summary>
+		public Vector2d LatitudeLongitude;
+
+		/// <summary>
+		/// <para>Heading represents a angle of direction during movement, generally between 0-359.</para>
+		///<para>Initially 0 this property gets populated after the device has moved far enough to determine a direction</para>
+		///<para>If the device stops moving last heading is kept till a new one can be caluculated. Check <see cref="Mapbox.Unity.Location.IsHeadingUpdated"/></para>
+		///<para>Also needs location services enabled via Input.location.Start()</para>
+		///<para>related <see cref="Mapbox.Unity.Location.DeviceOrientation"/></para>
+		/// </summary>
+		public float UserHeading;
+
+		/// <summary>
+		///<para>Orientation (where the device is looking).</para>
+		///<para>Uses device compass</para>
+		///<para>related <see cref="Mapbox.Unity.Location.UserHeading"/></para>
+		/// </summary>
+		public float DeviceOrientation;
+
+		/// <summary>
+		/// UTC Timestamp (in seconds since 1970) when location was last updated.
+		/// </summary>
+		public double Timestamp;
+
+		/// <summary>
+		/// UTC Timestamp (in seconds since 1970) of the device when OnLocationUpdated was fired.
+		/// </summary>
+		public double TimestampDevice;
+
+		/// <summary>
+		/// Horizontal Accuracy of the location.
+		/// </summary>
+		public float Accuracy;
+
+		/// <summary>
+		/// Is the location service currently initializing?
+		/// </summary>
+		public bool IsLocationServiceInitializing;
+
+		/// <summary>
+		/// Has the location service been enabled by the user?
+		/// </summary>
+		public bool IsLocationServiceEnabled;
+
+		/// <summary>
+		/// Has the location changed since last update?
+		/// </summary>
+		public bool IsLocationUpdated;
+
+		/// <summary>
+		/// Has the location been aquired via a GPS fix. 'Null' if not supported by the active location provider or GPS not enabled.
+		/// </summary>
+		public bool? HasGpsFix;
+
+		/// <summary>
+		/// How many satellites were in view when the location was acquired. 'Null' if not supported by the active location provider or GPS not enabled.
+		/// </summary>
+		public int? SatellitesInView;
+
+		/// <summary>
+		/// How many satellites were used for the location. 'Null' if not supported by the active location provider or GPS not enabled.
+		/// </summary>
+		public int? SatellitesUsed;
+
+		/// <summary>
+		/// Speed in [meters/second]. 'Null' if not supported by the active location provider.
+		/// </summary>
+		public float? SpeedMetersPerSecond;
+
+		/// <summary>
+		/// Speed in [km/h]. 'Null' if not supported by the active location provider.
+		/// </summary>
+		public float? SpeedKmPerHour
+		{
+			get
+			{
+				if (!SpeedMetersPerSecond.HasValue) { return null; }
+				return SpeedMetersPerSecond * 3.6f;
+			}
+		}
+		/// <summary>
+		/// Name of the location provider. GPS or network or 'Null' if not supported by the active location provider.
+		/// </summary>
+		public string Provider;
+
+
+		/// <summary>
+		/// Name of the location provider script class in Unity
+		/// </summary>
+		public string ProviderClass;
+
+		/// <summary>
+		/// Has the heading changed since last update?
+		/// </summary>
+		public bool IsUserHeadingUpdated;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Location.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/Location.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..29affe1485ef1c4ae281be7e36226a9f51d29926
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Location.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7811c4b9fcda44ce39a09952d7e0af04
+timeCreated: 1509996012
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/LocationArrayEditorLocationProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Location/LocationArrayEditorLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..623ee74612073ba9ed9ea0db6dc382c9b9d38a6f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/LocationArrayEditorLocationProvider.cs
@@ -0,0 +1,53 @@
+namespace Mapbox.Unity.Location
+{
+	using System;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Utils;
+	using UnityEngine;
+
+	/// <summary>
+	/// The EditorLocationProvider is responsible for providing mock location and heading data
+	/// for testing purposes in the Unity editor.
+	/// </summary>
+	public class LocationArrayEditorLocationProvider : AbstractEditorLocationProvider
+	{
+		/// <summary>
+		/// The mock "latitude, longitude" location, respresented with a string.
+		/// You can search for a place using the embedded "Search" button in the inspector.
+		/// This value can be changed at runtime in the inspector.
+		/// </summary>
+		[SerializeField]
+		[Geocode]
+		string[] _latitudeLongitude;
+
+		/// <summary>
+		/// The mock heading value.
+		/// </summary>
+		[SerializeField]
+		[Range(0, 359)]
+		float _heading;
+
+
+		private int idx = -1;
+		Vector2d LatitudeLongitude
+		{
+			get
+			{
+				idx++;
+				// reset index to keep looping through the location array
+				if (idx >= _latitudeLongitude.Length) { idx = 0; }
+				return Conversions.StringToLatLon(_latitudeLongitude[idx]);
+			}
+		}
+
+		protected override void SetLocation()
+		{
+			_currentLocation.UserHeading = _heading;
+			_currentLocation.LatitudeLongitude = LatitudeLongitude;
+			_currentLocation.Accuracy = _accuracy;
+			_currentLocation.Timestamp = UnixTimestampUtils.To(DateTime.UtcNow);
+			_currentLocation.IsLocationUpdated = true;
+			_currentLocation.IsUserHeadingUpdated = true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/LocationArrayEditorLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/LocationArrayEditorLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b56902c713412f47d655fb957150463266cc8c16
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/LocationArrayEditorLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6b5c815d91f9d4c3690891f3ed4c3162
+timeCreated: 1512084049
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/LocationProviderFactory.cs b/T3-Unity/Assets/Mapbox/Unity/Location/LocationProviderFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3809ea3b1f6ed99c78719ede26a1cff62bea1848
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/LocationProviderFactory.cs
@@ -0,0 +1,186 @@
+#if !UNITY_EDITOR
+#define NOT_UNITY_EDITOR
+#endif
+
+namespace Mapbox.Unity.Location
+{
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using System.Text.RegularExpressions;
+
+	/// <summary>
+	/// Singleton factory to allow easy access to various LocationProviders.
+	/// This is meant to be attached to a game object.
+	/// </summary>
+	public class LocationProviderFactory : MonoBehaviour
+	{
+		[SerializeField]
+		public AbstractMap mapManager;
+
+		[SerializeField]
+		[Tooltip("Provider using Unity's builtin 'Input.Location' service")]
+		AbstractLocationProvider _deviceLocationProviderUnity;
+
+		[SerializeField]
+		[Tooltip("Custom native Android location provider. If this is not set above provider is used")]
+		DeviceLocationProviderAndroidNative _deviceLocationProviderAndroid;
+
+		[SerializeField]
+		AbstractLocationProvider _editorLocationProvider;
+
+		[SerializeField]
+		AbstractLocationProvider _transformLocationProvider;
+
+		[SerializeField]
+		bool _dontDestroyOnLoad;
+
+
+		/// <summary>
+		/// The singleton instance of this factory.
+		/// </summary>
+		private static LocationProviderFactory _instance;
+		public static LocationProviderFactory Instance
+		{
+			get
+			{
+				return _instance;
+			}
+
+			private set
+			{
+				_instance = value;
+			}
+		}
+
+		ILocationProvider _defaultLocationProvider;
+
+		/// <summary>
+		/// The default location provider. 
+		/// Outside of the editor, this will be a <see cref="T:Mapbox.Unity.Location.DeviceLocationProvider"/>.
+		/// In the Unity editor, this will be an <see cref="T:Mapbox.Unity.Location.EditorLocationProvider"/>
+		/// </summary>
+		/// <example>
+		/// Fetch location to set a transform's position:
+		/// <code>
+		/// void Update()
+		/// {
+		///     var locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider;
+		///     transform.position = Conversions.GeoToWorldPosition(locationProvider.Location,
+		///                                                         MapController.ReferenceTileRect.Center,
+		///                                                         MapController.WorldScaleFactor).ToVector3xz();
+		/// }
+		/// </code>
+		/// </example>
+		public ILocationProvider DefaultLocationProvider
+		{
+			get
+			{
+				return _defaultLocationProvider;
+			}
+			set
+			{
+				_defaultLocationProvider = value;
+			}
+		}
+
+		/// <summary>
+		/// Returns the serialized <see cref="T:Mapbox.Unity.Location.TransformLocationProvider"/>.
+		/// </summary>
+		public ILocationProvider TransformLocationProvider
+		{
+			get
+			{
+				return _transformLocationProvider;
+			}
+		}
+
+		/// <summary>
+		/// Returns the serialized <see cref="T:Mapbox.Unity.Location.EditorLocationProvider"/>.
+		/// </summary>
+		public ILocationProvider EditorLocationProvider
+		{
+			get
+			{
+				return _editorLocationProvider;
+			}
+		}
+
+		/// <summary>
+		/// Returns the serialized <see cref="T:Mapbox.Unity.Location.DeviceLocationProvider"/>
+		/// </summary>
+		public ILocationProvider DeviceLocationProvider
+		{
+			get
+			{
+				return _deviceLocationProviderUnity;
+			}
+		}
+
+		/// <summary>
+		/// Create singleton instance and inject the DefaultLocationProvider upon initialization of this component. 
+		/// </summary>
+		protected virtual void Awake()
+		{
+			if (Instance != null)
+			{
+				DestroyImmediate(gameObject);
+				return;
+			}
+			Instance = this;
+
+			if (_dontDestroyOnLoad)
+			{
+				DontDestroyOnLoad(gameObject);
+			}
+
+			InjectEditorLocationProvider();
+			InjectDeviceLocationProvider();
+		}
+
+		/// <summary>
+		/// Injects the editor location provider.
+		/// Depending on the platform, this method and calls to it will be stripped during compile.
+		/// </summary>
+		[System.Diagnostics.Conditional("UNITY_EDITOR")]
+		void InjectEditorLocationProvider()
+		{
+			Debug.LogFormat("LocationProviderFactory: Injected EDITOR Location Provider - {0}", _editorLocationProvider.GetType());
+			DefaultLocationProvider = _editorLocationProvider;
+		}
+
+		/// <summary>
+		/// Injects the device location provider.
+		/// Depending on the platform, this method and calls to it will be stripped during compile.
+		/// </summary>
+		[System.Diagnostics.Conditional("NOT_UNITY_EDITOR")]
+		void InjectDeviceLocationProvider()
+		{
+			int AndroidApiVersion = 0;
+			var regex = new Regex(@"(?<=API-)-?\d+");
+			Match match = regex.Match(SystemInfo.operatingSystem); // eg 'Android OS 8.1.0 / API-27 (OPM2.171019.029/4657601)'
+			if (match.Success) { int.TryParse(match.Groups[0].Value, out AndroidApiVersion); }
+			Debug.LogFormat("{0} => API version: {1}", SystemInfo.operatingSystem, AndroidApiVersion);
+
+			// only inject native provider if platform requirement is met
+			// and script itself as well as parent game object are active
+			if (Application.platform == RuntimePlatform.Android
+				&& null != _deviceLocationProviderAndroid
+				&& _deviceLocationProviderAndroid.enabled
+				&& _deviceLocationProviderAndroid.transform.gameObject.activeInHierarchy
+				// API version 24 => Android 7 (Nougat): we are using GnssStatus 'https://developer.android.com/reference/android/location/GnssStatus.html'
+				// in the native plugin.
+				// GnssStatus is not available with versions lower than 24
+				&& AndroidApiVersion >= 24
+			)
+			{
+				Debug.LogFormat("LocationProviderFactory: Injected native Android DEVICE Location Provider - {0}", _deviceLocationProviderAndroid.GetType());
+				DefaultLocationProvider = _deviceLocationProviderAndroid;
+			}
+			else
+			{
+				Debug.LogFormat("LocationProviderFactory: Injected DEVICE Location Provider - {0}", _deviceLocationProviderUnity.GetType());
+				DefaultLocationProvider = _deviceLocationProviderUnity;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/LocationProviderFactory.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/LocationProviderFactory.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b8cecedd4ca713aedeae7d981f7b7cb7e27b8b6d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/LocationProviderFactory.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b55f37f9a6f7e44f7bb35e6bc3863847
+timeCreated: 1484256054
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing.meta b/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0d2e71b8177146b62a810ddfd20a0cfc68cd38c9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a46b0caa775595d4e9f98b6af5df5056
+folderAsset: yes
+timeCreated: 1527232149
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing/KalmanFilter.cs b/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing/KalmanFilter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..40db3e0a8638f478129b091ff2b04e685f101fec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing/KalmanFilter.cs
@@ -0,0 +1,117 @@
+/*
+From SackOverflow: Smooth GPS data https://stackoverflow.com/a/15657798
+
+General Kalman filter theory is all about estimates for vectors, with the accuracy of the estimates
+represented by covariance matrices. However, for estimating location on Android devices the general
+theory reduces to a very simple case. Android location providers give the location as a latitude and
+longitude, together with an accuracy which is specified as a single number measured in metres. 
+This means that instead of a covariance matrix, the accuracy in the Kalman filter can be measured by
+a single number, even though the location in the Kalman filter is a measured by two numbers. Also the
+fact that the latitude, longitude and metres are effectively all different units can be ignored, 
+because if you put scaling factors into the Kalman filter to convert them all into the same units, 
+then those scaling factors end up cancelling out when converting the results back into the original units.
+
+The code could be improved, because it assumes that the best estimate of current location is the last
+known location, and if someone is moving it should be possible to use Android's sensors to produce a 
+better estimate. The code has a single free parameter Q, expressed in metres per second, which describes 
+how quickly the accuracy decays in the absence of any new location estimates. A higher Q parameter means 
+that the accuracy decays faster. Kalman filters generally work better when the accuracy decays a bit 
+quicker than one might expect, so for walking around with an Android phone I find that Q=3 metres per 
+second works fine, even though I generally walk slower than that. But if travelling in a fast car a much 
+larger number should obviously be used.
+*/
+
+namespace Mapbox.Unity.Location
+{
+
+	using System;
+
+
+	/// <summary>
+	/// <para>From SackOverflow: Smooth GPS data</para>
+	/// <para>https://stackoverflow.com/a/15657798</para>
+	/// </summary>
+	public class KalmanLatLong
+	{
+
+		private float _minAccuracy = 1;
+		private float _qMetresPerSecond;
+		private long _timeStampMilliseconds;
+		private double _lat;
+		private double _lng;
+		private float _variance; // P matrix.  Negative means object uninitialised.  NB: units irrelevant, as long as same units used throughout
+
+
+		public KalmanLatLong(float Q_metres_per_second)
+		{
+			_qMetresPerSecond = Q_metres_per_second;
+			_variance = -1;
+		}
+
+
+		public long TimeStamp { get { return _timeStampMilliseconds; } }
+
+		public double Lat { get { return _lat; } }
+
+		public double Lng { get { return _lng; } }
+
+		public float Accuracy { get { return (float)Math.Sqrt(_variance); } }
+
+
+
+		public void SetState(double lat, double lng, float accuracy, long TimeStamp_milliseconds)
+		{
+			_lat = lat;
+			_lng = lng;
+			_variance = accuracy * accuracy;
+			_timeStampMilliseconds = TimeStamp_milliseconds;
+		}
+
+
+
+		/// <summary>
+		/// Kalman filter processing for lattitude and longitude
+		/// </summary>
+		/// <param name="lat_measurement_degrees">new measurement of lattidude</param>
+		/// <param name="lng_measurement">new measurement of longitude</param>
+		/// <param name="accuracy">measurement of 1 standard deviation error in metres</param>
+		/// <param name="TimeStamp_milliseconds">time of measurement</param>
+		/// <returns>new state</returns>
+		public void Process(double lat_measurement, double lng_measurement, float accuracy, long TimeStamp_milliseconds)
+		{
+			if (accuracy < _minAccuracy)
+			{
+				accuracy = _minAccuracy;
+			}
+
+			if (_variance < 0)
+			{
+				// if variance < 0, object is unitialised, so initialise with current values
+				_timeStampMilliseconds = TimeStamp_milliseconds;
+				_lat = lat_measurement; _lng = lng_measurement; _variance = accuracy * accuracy;
+			}
+			else
+			{
+				// else apply Kalman filter methodology
+
+				long TimeInc_milliseconds = TimeStamp_milliseconds - TimeStamp_milliseconds;
+				if (TimeInc_milliseconds > 0)
+				{
+					// time has moved on, so the uncertainty in the current position increases
+					_variance += TimeInc_milliseconds * _qMetresPerSecond * _qMetresPerSecond / 1000;
+					_timeStampMilliseconds = TimeStamp_milliseconds;
+					// TO DO: USE VELOCITY INFORMATION HERE TO GET A BETTER ESTIMATE OF CURRENT POSITION
+				}
+
+				// Kalman gain matrix K = Covarariance * Inverse(Covariance + MeasurementVariance)
+				// NB: because K is dimensionless, it doesn't matter that variance has different units to lat and lng
+				float K = _variance / (_variance + accuracy * accuracy);
+				// apply K
+				_lat += K * (lat_measurement - _lat);
+				_lng += K * (lng_measurement - _lng);
+				// new Covarariance  matrix is (IdentityMatrix - K) * Covarariance 
+				_variance = (1 - K) * _variance;
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing/KalmanFilter.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing/KalmanFilter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0217e93b8f6ff599bf6ddc44384b2c4062b2d7f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/LocationSmoothing/KalmanFilter.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c6402694be382a441860430551c30fd7
+timeCreated: 1518704801
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Logging.meta b/T3-Unity/Assets/Mapbox/Unity/Location/Logging.meta
new file mode 100644
index 0000000000000000000000000000000000000000..30bbc28202a2eb1b310e2640d8afe6e411168e73
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Logging.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 57ce5991286556c4e974aeb3a99c9675
+folderAsset: yes
+timeCreated: 1527232033
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogAbstractBase.cs b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogAbstractBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0c60813ac67d42717e7273294415056b3f180075
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogAbstractBase.cs
@@ -0,0 +1,114 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using System;
+	using System.ComponentModel;
+	using System.Globalization;
+	using Mapbox.VectorTile.ExtensionMethods;
+
+
+	/// <summary>
+	/// Base class for reading/writing location logs
+	/// </summary>
+	public abstract class LocationLogAbstractBase
+	{
+
+
+		public readonly string Delimiter = ";";
+		protected readonly CultureInfo _invariantCulture = CultureInfo.InvariantCulture;
+
+
+		public enum LogfileColumns
+		{
+#if !ENABLE_WINMD_SUPPORT
+			[Description("location service enabled")]
+#endif
+			LocationServiceEnabled = 0,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("location service intializing")]
+#endif
+			LocationServiceInitializing = 1,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("location updated")]
+#endif
+			LocationUpdated = 2,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("userheading updated")]
+#endif
+			UserHeadingUpdated = 3,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("location provider")]
+#endif
+			LocationProvider = 4,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("location provider class")]
+#endif
+			LocationProviderClass = 5,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("time device [utc]")]
+#endif
+			UtcTimeDevice = 6,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("time location [utc]")]
+#endif
+			UtcTimeOfLocation = 7,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("latitude")]
+#endif
+			Latitude = 8,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("longitude")]
+#endif
+			Longitude = 9,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("accuracy [m]")]
+#endif
+			Accuracy = 10,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("user heading [°]")]
+#endif
+			UserHeading = 11,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("device orientation [°]")]
+#endif
+			DeviceOrientation = 12,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("speed [km/h]")]
+#endif
+			Speed = 13,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("has gps fix")]
+#endif
+			HasGpsFix = 14,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("satellites used")]
+#endif
+			SatellitesUsed = 15,
+#if !ENABLE_WINMD_SUPPORT
+			[Description("satellites in view")]
+#endif
+			SatellitesInView = 16
+		}
+
+
+		public string[] HeaderNames
+		{
+			get
+			{
+				Type enumType = typeof(LogfileColumns);
+				Array arrEnumVals = Enum.GetValues(enumType);
+				string[] hdrs = new string[arrEnumVals.Length];
+				for (int i = 0; i < arrEnumVals.Length; i++)
+				{
+					hdrs[i] = ((LogfileColumns)Enum.Parse(enumType, arrEnumVals.GetValue(i).ToString())).Description();
+
+				}
+				return hdrs;
+			}
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogAbstractBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogAbstractBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..424d9a13ef8c39b51080dd4baff3bf34e9562aab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogAbstractBase.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8837e931abc92c5488b8c41e1caa2e65
+timeCreated: 1526467177
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogReader.cs b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogReader.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3266697fa8124dc2eed8202c1d76feebf16c9eaa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogReader.cs
@@ -0,0 +1,166 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using Mapbox.Utils;
+	using System;
+	using System.Collections.Generic;
+	using System.Globalization;
+	using System.IO;
+	using UnityEngine;
+
+
+	/// <summary>
+	/// Parses location data and returns Location objects.
+	/// </summary>
+	public class LocationLogReader : LocationLogAbstractBase, IDisposable
+	{
+
+
+		public LocationLogReader(byte[] contents)
+		{
+			MemoryStream ms = new MemoryStream(contents);
+			_textReader = new StreamReader(ms);
+		}
+
+
+		private bool _disposed;
+		private TextReader _textReader;
+
+
+		#region idisposable
+
+
+		~LocationLogReader()
+		{
+			Dispose(false);
+		}
+
+
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+
+		protected virtual void Dispose(bool disposeManagedResources)
+		{
+			if (!_disposed)
+			{
+				if (disposeManagedResources)
+				{
+					if (null != _textReader)
+					{
+#if !NETFX_CORE
+						_textReader.Close();
+#endif
+						_textReader.Dispose();
+						_textReader = null;
+					}
+				}
+				_disposed = true;
+			}
+		}
+
+
+		#endregion
+
+
+		/// <summary>
+		/// Returns 'Location' objects from the data passed in. Loops through the data.
+		/// </summary>
+		/// <returns>'Location' objects and loops through the data.</returns>
+		public IEnumerator<Location> GetLocations()
+		{
+
+			while (true)
+			{
+				string line = string.Empty;
+
+				while (1 == 1)
+				{
+					line = _textReader.ReadLine();
+					// rewind if end of log (or last empty line) reached
+					if (null == line || string.IsNullOrEmpty(line))
+					{
+						((StreamReader)_textReader).BaseStream.Position = 0;
+						((StreamReader)_textReader).DiscardBufferedData();
+						continue;
+					}
+
+					// skip comments
+					if (line.StartsWith("#")) { continue; } else { break; }
+				}
+
+				string[] tokens = line.Split(Delimiter.ToCharArray());
+				//simple safety net: check if number of columns matches
+				if (tokens.Length != HeaderNames.Length)
+				{
+					Debug.LogError("unsupported log file");
+					yield return new Location();
+				}
+
+				Location location = new Location();
+
+				location.IsLocationServiceEnabled = bool.Parse(tokens[(int)LogfileColumns.LocationServiceEnabled]);
+				location.IsLocationServiceInitializing = bool.Parse(tokens[(int)LogfileColumns.LocationServiceInitializing]);
+				location.IsLocationUpdated = bool.Parse(tokens[(int)LogfileColumns.LocationUpdated]);
+				location.IsUserHeadingUpdated = bool.Parse(tokens[(int)LogfileColumns.UserHeadingUpdated]);
+				location.Provider = tokens[(int)LogfileColumns.LocationProvider];
+				location.ProviderClass = tokens[(int)LogfileColumns.LocationProviderClass];
+
+				DateTime dtDevice;
+				string dtDeviceTxt = tokens[(int)LogfileColumns.UtcTimeDevice];
+				if (DateTime.TryParseExact(dtDeviceTxt, "yyyyMMdd-HHmmss.fff", _invariantCulture, DateTimeStyles.AssumeUniversal, out dtDevice))
+				{
+					location.TimestampDevice = UnixTimestampUtils.To(dtDevice);
+				}
+
+				DateTime dtLocation;
+				string dtLocationTxt = tokens[(int)LogfileColumns.UtcTimeOfLocation];
+				if (DateTime.TryParseExact(dtLocationTxt, "yyyyMMdd-HHmmss.fff", _invariantCulture, DateTimeStyles.AssumeUniversal, out dtLocation))
+				{
+					location.Timestamp = UnixTimestampUtils.To(dtLocation);
+				}
+
+				double lat;
+				string latTxt = tokens[(int)LogfileColumns.Latitude];
+				double lng;
+				string lngTxt = tokens[(int)LogfileColumns.Longitude];
+				if (
+					!double.TryParse(latTxt, NumberStyles.Any, _invariantCulture, out lat)
+					|| !double.TryParse(lngTxt, NumberStyles.Any, _invariantCulture, out lng)
+				)
+				{
+					location.LatitudeLongitude = Vector2d.zero;
+				}
+				else
+				{
+					location.LatitudeLongitude = new Vector2d(lat, lng);
+				}
+
+
+				float accuracy;
+				location.Accuracy = float.TryParse(tokens[(int)LogfileColumns.Accuracy], NumberStyles.Any, _invariantCulture, out accuracy) ? accuracy : 0;
+				float userHeading;
+				location.UserHeading = float.TryParse(tokens[(int)LogfileColumns.UserHeading], NumberStyles.Any, _invariantCulture, out userHeading) ? userHeading : 0;
+				float deviceOrientation;
+				location.DeviceOrientation = float.TryParse(tokens[(int)LogfileColumns.DeviceOrientation], NumberStyles.Any, _invariantCulture, out deviceOrientation) ? deviceOrientation : 0;
+				float speed;
+				location.SpeedMetersPerSecond = float.TryParse(tokens[(int)LogfileColumns.Speed], NumberStyles.Any, _invariantCulture, out speed) ? speed / 3.6f : (float?)null;
+				bool hasGpsFix;
+				location.HasGpsFix = bool.TryParse(tokens[(int)LogfileColumns.HasGpsFix], out hasGpsFix) ? hasGpsFix : (bool?)null;
+				int satellitesUsed;
+				location.SatellitesUsed = int.TryParse(tokens[(int)LogfileColumns.SatellitesUsed], out satellitesUsed) ? satellitesUsed : (int?)null;
+				int satellitesInView;
+				location.SatellitesInView = int.TryParse(tokens[(int)LogfileColumns.SatellitesInView], out satellitesInView) ? satellitesInView : (int?)null;
+
+				yield return location;
+			}
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogReader.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogReader.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b4fde41b6cef564ff4b9a7ea5349913acf3164f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogReader.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 31c75110fe6926946b6e5e098ec9562f
+timeCreated: 1526467150
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogWriter.cs b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogWriter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f0f3c32d9414f25ea074f1475ce8c179d14eebc1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogWriter.cs
@@ -0,0 +1,132 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using Mapbox.Utils;
+	using System;
+	using System.IO;
+	using System.Text;
+	using UnityEngine;
+
+
+	/// <summary>
+	/// Writes location data into Application.persistentDataPath
+	/// </summary>
+	public class LocationLogWriter : LocationLogAbstractBase, IDisposable
+	{
+
+
+		public LocationLogWriter()
+		{
+			string fileName = "MBX-location-log-" + DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".txt";
+			string persistentPath = Application.persistentDataPath;
+			string fullFilePathAndName = Path.Combine(persistentPath, fileName);
+#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN || UNITY_WSA
+			// use `GetFullPath` on that to sanitize the path: replaces `/` returned by `Application.persistentDataPath` with `\`
+			fullFilePathAndName = Path.GetFullPath(fullFilePathAndName);
+#endif
+			Debug.Log("starting new log file: " + fullFilePathAndName);
+
+			_fileStream = new FileStream(fullFilePathAndName, FileMode.Create, FileAccess.Write);
+			_textWriter = new StreamWriter(_fileStream, new UTF8Encoding(false));
+			_textWriter.WriteLine("#" + string.Join(Delimiter, HeaderNames));
+
+		}
+
+
+		private bool _disposed;
+		private FileStream _fileStream;
+		private TextWriter _textWriter;
+		private long _lineCount = 0;
+
+
+		#region idisposable
+
+
+		~LocationLogWriter()
+		{
+			Dispose(false);
+		}
+
+
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+
+		protected virtual void Dispose(bool disposeManagedResources)
+		{
+			if (!_disposed)
+			{
+				if (disposeManagedResources)
+				{
+					Debug.LogFormat("{0} locations logged", _lineCount);
+					if (null != _textWriter)
+					{
+						_textWriter.Flush();
+						_fileStream.Flush();
+#if !NETFX_CORE
+						_textWriter.Close();
+#endif
+						_textWriter.Dispose();
+						_fileStream.Dispose();
+
+						_textWriter = null;
+						_fileStream = null;
+					}
+				}
+				_disposed = true;
+			}
+		}
+
+
+		#endregion
+
+
+		public void Write(Location location)
+		{
+			string[] lineTokens = new string[]
+			{
+					location.IsLocationServiceEnabled.ToString(),
+					location.IsLocationServiceInitializing.ToString(),
+					location.IsLocationUpdated.ToString(),
+					location.IsUserHeadingUpdated.ToString(),
+					location.Provider,
+					LocationProviderFactory.Instance.DefaultLocationProvider.GetType().Name,
+					DateTime.UtcNow.ToString("yyyyMMdd-HHmmss.fff"),
+					UnixTimestampUtils.From(location.Timestamp).ToString("yyyyMMdd-HHmmss.fff"),
+					string.Format(_invariantCulture, "{0:0.00000000}", location.LatitudeLongitude.x),
+					string.Format(_invariantCulture, "{0:0.00000000}", location.LatitudeLongitude.y),
+					string.Format(_invariantCulture, "{0:0.0}", location.Accuracy),
+					string.Format(_invariantCulture, "{0:0.0}", location.UserHeading),
+					string.Format(_invariantCulture, "{0:0.0}", location.DeviceOrientation),
+					nullableAsStr<float>(location.SpeedKmPerHour, "{0:0.0}"),
+					nullableAsStr<bool>(location.HasGpsFix, "{0}"),
+					nullableAsStr<int>(location.SatellitesUsed, "{0}"),
+					nullableAsStr<int>(location.SatellitesInView, "{0}")
+			};
+
+			_lineCount++;
+			string logMsg = string.Join(Delimiter, lineTokens);
+			Debug.Log(logMsg);
+			_textWriter.WriteLine(logMsg);
+			_textWriter.Flush();
+		}
+
+
+		private string nullableAsStr<T>(T? val, string formatString = null) where T : struct
+		{
+			if (null == val && null == formatString) { return "[not supported by provider]"; }
+			if (null == val && null != formatString) { return string.Format(_invariantCulture, formatString, "[not supported by provider]"); }
+			if (null != val && null == formatString) { return val.Value.ToString(); }
+			return string.Format(_invariantCulture, formatString, val);
+		}
+
+
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogWriter.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogWriter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2421dd07fcd4e08a3173d5814e2cf3252da2b809
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Logging/LocationLogWriter.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2949fba833e7b6b45aca033b7289b971
+timeCreated: 1526467128
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Plugins.meta b/T3-Unity/Assets/Mapbox/Unity/Location/Plugins.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8a4a0020cd3b09c38e4bf93c7c5f919388cba544
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Plugins.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 43baaadfc9d32d541a1ee7a2eb96ec13
+folderAsset: yes
+timeCreated: 1524222478
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android.meta b/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f9a417b515757ff3972fc117628e9ccbd1ed8dd7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 11309dfa687722c47906aefe9ec1ba2c
+folderAsset: yes
+timeCreated: 1524222479
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android/com.mapbox.android.unity-debug.aar b/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android/com.mapbox.android.unity-debug.aar
new file mode 100644
index 0000000000000000000000000000000000000000..4987c713a9f116121f903a5dc1aac696690171a8
Binary files /dev/null and b/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android/com.mapbox.android.unity-debug.aar differ
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android/com.mapbox.android.unity-debug.aar.meta b/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android/com.mapbox.android.unity-debug.aar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7f396c36476ee40139ef19598e1f7e2472d1135d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/Plugins/Android/com.mapbox.android.unity-debug.aar.meta
@@ -0,0 +1,31 @@
+fileFormatVersion: 2
+guid: e76e76754c0e43349882cd6d722a69ed
+timeCreated: 1523530570
+licenseType: Pro
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+  - first:
+      Android: Android
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        DefaultValueInitialized: true
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/TransformLocationProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Location/TransformLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..03c788254f7827cbc71562ae59cf71c385dc7d9e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/TransformLocationProvider.cs
@@ -0,0 +1,46 @@
+namespace Mapbox.Unity.Location
+{
+	using System;
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Utils;
+	using UnityEngine;
+
+	/// <summary>
+	/// The TransformLocationProvider is responsible for providing mock location and heading data
+	/// for testing purposes in the Unity editor.
+	/// This is achieved by querying a Unity <see href="https://docs.unity3d.com/ScriptReference/Transform.html">Transform</see> every frame.
+	/// You might use this to to update location based on a touched position, for example.
+	/// </summary>
+	public class TransformLocationProvider : AbstractEditorLocationProvider
+	{
+		/// <summary>
+		/// The transform that will be queried for location and heading data.
+		/// </summary>
+		[SerializeField]
+		Transform _targetTransform;
+
+		/// <summary>
+		/// Sets the target transform.
+		/// Use this if you want to switch the transform at runtime.
+		/// </summary>
+		public Transform TargetTransform
+		{
+			set
+			{
+				_targetTransform = value;
+			}
+		}
+
+		protected override void SetLocation()
+		{
+			var _map = LocationProviderFactory.Instance.mapManager;
+			_currentLocation.UserHeading = _targetTransform.eulerAngles.y;
+			_currentLocation.LatitudeLongitude = _targetTransform.GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
+			_currentLocation.Accuracy = _accuracy;
+			_currentLocation.Timestamp = UnixTimestampUtils.To(DateTime.UtcNow);
+			_currentLocation.IsLocationUpdated = true;
+			_currentLocation.IsUserHeadingUpdated = true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/TransformLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/TransformLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eb81eef590bed5d40a2f6a50ab30921a38ede98a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/TransformLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a034c4eeb3293418aab101c1895844a4
+timeCreated: 1484087415
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers.meta b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..336b02b2cbff2392cc10210504e4e3dffe127307
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 69e8d23f97397e1479ae641ffce10426
+folderAsset: yes
+timeCreated: 1527232086
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationInfo.cs b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f5d2b01889c296f27bfe830a937cb86115b328c0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationInfo.cs
@@ -0,0 +1,20 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	public interface IMapboxLocationInfo
+	{
+
+		float latitude { get; }
+
+		float longitude { get; }
+
+		float altitude { get; }
+
+		float horizontalAccuracy { get; }
+
+		float verticalAccuracy { get; }
+
+		double timestamp { get; }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationInfo.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationInfo.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5a6ffb65ac719c8b864eea1dc4a8352b6ba0f122
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationInfo.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 47359cd2008e00a40bf984d7901ad818
+timeCreated: 1527084333
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationService.cs b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationService.cs
new file mode 100644
index 0000000000000000000000000000000000000000..28e002fac4a9f0d8c333fb1442663176f0a68ae6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationService.cs
@@ -0,0 +1,22 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using UnityEngine;
+
+
+	public interface IMapboxLocationService
+	{
+
+
+		bool isEnabledByUser { get; }
+
+		LocationServiceStatus status { get; }
+
+		IMapboxLocationInfo lastData { get; }
+
+		void Start(float desiredAccuracyInMeters, float updateDistanceInMeters);
+
+		void Stop();
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationService.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationService.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4e1c82b7ff8b2a42f82b55b3c69d4a78bc59cfe7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/IMapboxLocationService.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 06b9053759d45444dafd119c1e56d6ad
+timeCreated: 1527078706
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoMock.cs b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoMock.cs
new file mode 100644
index 0000000000000000000000000000000000000000..439943f851b6db2206f51a5b4b4b2e1060d7381d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoMock.cs
@@ -0,0 +1,34 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	/// <summary>
+	/// Wrapper to mock our 'Location' objects as Unity's 'LocationInfo'
+	/// </summary>
+	public struct MapboxLocationInfoMock : IMapboxLocationInfo
+	{
+
+
+		public MapboxLocationInfoMock(Location location)
+		{
+			_location = location;
+		}
+
+
+		private Location _location;
+
+		public float latitude { get { return (float)_location.LatitudeLongitude.x; } }
+
+		public float longitude { get { return (float)_location.LatitudeLongitude.y; } }
+
+		public float altitude { get { return 0f; } }
+
+		public float horizontalAccuracy { get { return _location.Accuracy; } }
+
+		public float verticalAccuracy { get { return 0; } }
+
+		public double timestamp { get { return _location.Timestamp; } }
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoMock.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoMock.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..194a9e3b4e48e229aa7fb5e5439cf088a2c69403
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoMock.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 0125a68c0c6f0f1488fed592d7f135b1
+timeCreated: 1527084357
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoUnityWrapper.cs b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoUnityWrapper.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3dbe515751bc34518b109a71e4ce4808f5d26d61
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoUnityWrapper.cs
@@ -0,0 +1,36 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using UnityEngine;
+
+
+	/// <summary>
+	/// Wrapper to use Unity's LocationInfo as MapboxLocationInfo
+	/// </summary>
+	public struct MapboxLocationInfoUnityWrapper : IMapboxLocationInfo
+	{
+
+		public MapboxLocationInfoUnityWrapper(LocationInfo locationInfo)
+		{
+			_locationInfo = locationInfo;
+		}
+
+		private LocationInfo _locationInfo;
+
+
+		public float latitude { get { return _locationInfo.latitude; } }
+
+		public float longitude { get { return _locationInfo.longitude; } }
+
+		public float altitude { get { return _locationInfo.altitude; } }
+
+		public float horizontalAccuracy { get { return _locationInfo.horizontalAccuracy; } }
+
+		public float verticalAccuracy { get { return _locationInfo.verticalAccuracy; } }
+
+		public double timestamp { get { return _locationInfo.timestamp; } }
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoUnityWrapper.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoUnityWrapper.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6fa4a913e0afc1bd68767d07590ab680488d4c30
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationInfoUnityWrapper.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d766be27edd431a4d8085a38f6ffe6c9
+timeCreated: 1527084962
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceMock.cs b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceMock.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4bfc0246c0c693002585c415fc5a90e8f5827ddd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceMock.cs
@@ -0,0 +1,111 @@
+
+namespace Mapbox.Unity.Location
+{
+
+
+	using System;
+	using System.Collections.Generic;
+	using UnityEngine;
+
+
+	/// <summary>
+	/// Class to mock Unity's location service Input.location
+	/// </summary>
+	public class MapboxLocationServiceMock : IMapboxLocationService, IDisposable
+	{
+
+
+		public MapboxLocationServiceMock(byte[] locationLogFileContents)
+		{
+			if (null == locationLogFileContents || locationLogFileContents.Length < 1)
+			{
+				throw new ArgumentNullException("locationLogFileContents");
+			}
+
+			_logReader = new LocationLogReader(locationLogFileContents);
+			_locationEnumerator = _logReader.GetLocations();
+		}
+
+
+		private LocationLogReader _logReader;
+		private IEnumerator<Location> _locationEnumerator;
+		private bool _isRunning;
+		private bool _disposed;
+
+
+		#region idisposable
+
+
+		~MapboxLocationServiceMock()
+		{
+			Dispose(false);
+		}
+
+
+		public void Dispose()
+		{
+			Dispose(true);
+			GC.SuppressFinalize(this);
+		}
+
+
+		protected virtual void Dispose(bool disposeManagedResources)
+		{
+			if (!_disposed)
+			{
+				if (disposeManagedResources)
+				{
+					if (null != _locationEnumerator)
+					{
+						_locationEnumerator.Dispose();
+						_locationEnumerator = null;
+					}
+					if (null != _logReader)
+					{
+						_logReader.Dispose();
+						_logReader = null;
+					}
+				}
+				_disposed = true;
+			}
+		}
+
+
+		#endregion
+
+
+		public bool isEnabledByUser { get { return true; } }
+
+
+		public LocationServiceStatus status { get { return _isRunning ? LocationServiceStatus.Running : LocationServiceStatus.Stopped; } }
+
+
+		public IMapboxLocationInfo lastData
+		{
+			get
+			{
+				if (null == _locationEnumerator) { return new MapboxLocationInfoMock(); }
+				// no need to check if 'MoveNext()' returns false as LocationLogReader loops through log file
+				_locationEnumerator.MoveNext();
+				Location currentLocation = _locationEnumerator.Current;
+
+				return new MapboxLocationInfoMock(currentLocation);
+			}
+		}
+
+
+		public void Start(float desiredAccuracyInMeters, float updateDistanceInMeters)
+		{
+			_isRunning = true;
+		}
+
+
+		public void Stop()
+		{
+			_isRunning = false;
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceMock.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceMock.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..477104c72cd81af9674e6dceb9858bf0d749b752
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceMock.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 9a728e844cc08d94d9e26af90c5a7bce
+timeCreated: 1527077195
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceUnityWrapper.cs b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceUnityWrapper.cs
new file mode 100644
index 0000000000000000000000000000000000000000..eceebd50f144004eb25b6f90365b502034af8344
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceUnityWrapper.cs
@@ -0,0 +1,37 @@
+namespace Mapbox.Unity.Location
+{
+
+
+	using UnityEngine;
+
+
+	/// <summary>
+	/// Wrap Unity's LocationService into MapboxLocationService
+	/// </summary>
+	public class MapboxLocationServiceUnityWrapper : IMapboxLocationService
+	{
+
+		public bool isEnabledByUser { get { return Input.location.isEnabledByUser; } }
+
+
+		public LocationServiceStatus status { get { return Input.location.status; } }
+
+
+		public IMapboxLocationInfo lastData { get { return new MapboxLocationInfoUnityWrapper(Input.location.lastData); } }
+
+
+		public void Start(float desiredAccuracyInMeters, float updateDistanceInMeters)
+		{
+			Input.location.Start(desiredAccuracyInMeters, updateDistanceInMeters);
+		}
+
+
+		public void Stop()
+		{
+			Input.location.Stop();
+		}
+
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceUnityWrapper.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceUnityWrapper.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bed6ad20d6a290dbc80a51c12683f01a26ba4875
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Location/UnityLocationWrappers/MapboxLocationServiceUnityWrapper.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 9a2e88434d3341343b1a9acec29fc49e
+timeCreated: 1527078784
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map.meta b/T3-Unity/Assets/Mapbox/Unity/Map.meta
new file mode 100644
index 0000000000000000000000000000000000000000..86252236a408ac83f3c959475dd3c48a2b7aaf25
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 42ef37aa061534ce9a9e3a6c1b9d4eb7
+folderAsset: yes
+timeCreated: 1494970401
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMap.cs b/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMap.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7a6a27e48b1200de0be66d18a8ade7e4c93550d3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMap.cs
@@ -0,0 +1,1261 @@
+using Mapbox.Platform.Cache;
+using Mapbox.Unity.Map.Interfaces;
+using Mapbox.Unity.Map.Strategies;
+using Mapbox.Unity.Map.TileProviders;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Linq;
+	using Mapbox.Unity.Utilities;
+	using Utils;
+	using UnityEngine;
+	using Mapbox.Map;
+	using Mapbox.Unity.MeshGeneration.Factories;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System.Globalization;
+
+	/// <summary>
+	/// Abstract map.
+	/// This is the main monobehavior which controls the map. It controls the visualization of map data.
+	/// Abstract map encapsulates the image, terrain and vector sources and provides a centralized interface to control the visualization of the map.
+	/// </summary>
+	[ExecuteInEditMode]
+	public class AbstractMap : MonoBehaviour, IMap
+	{
+		#region Private Fields
+
+		[SerializeField] private MapOptions _options = new MapOptions();
+		[SerializeField] private bool _initializeOnStart = true;
+		[SerializeField] protected ImageryLayer _imagery = new ImageryLayer();
+		[SerializeField] protected TerrainLayer _terrain = new TerrainLayer();
+		[SerializeField] protected VectorLayer _vectorData = new VectorLayer();
+		[SerializeField] protected AbstractTileProvider _tileProvider;
+		[SerializeField] protected HashSet<UnwrappedTileId> _currentExtent;
+		[SerializeField] protected EditorPreviewOptions _previewOptions = new EditorPreviewOptions();
+		private List<UnwrappedTileId> tilesToProcess;
+
+		protected AbstractMapVisualizer _mapVisualizer;
+		protected float _unityTileSize = 1;
+		protected bool _worldHeightFixed = false;
+		protected MapboxAccess _fileSource;
+		protected int _initialZoom;
+		protected Vector2d _centerLatitudeLongitude;
+		protected Vector2d _centerMercator;
+		protected float _worldRelativeScale;
+		protected Vector3 _mapScaleFactor;
+
+		protected Vector3 _cachedPosition;
+		protected Quaternion _cachedRotation;
+		protected Vector3 _cachedScale = Vector3.one;
+		#endregion
+
+		#region Properties
+
+		public bool IsEditorPreviewEnabled
+		{
+			get
+			{
+				return _previewOptions.isPreviewEnabled;
+			}
+			set
+			{
+				_previewOptions.isPreviewEnabled = value;
+			}
+		}
+
+		public AbstractMapVisualizer MapVisualizer
+		{
+			get
+			{
+				if(_mapVisualizer == null)
+				{
+					_mapVisualizer = ScriptableObject.CreateInstance<MapVisualizer>();
+				}
+				return _mapVisualizer;
+			}
+			set
+			{
+				_mapVisualizer = value;
+			}
+		}
+
+		public AbstractTileProvider TileProvider
+		{
+			get
+			{
+				return _tileProvider;
+			}
+			set
+			{
+				if (_tileProvider != null)
+				{
+					_tileProvider.ExtentChanged -= OnMapExtentChanged;
+				}
+				_tileProvider = value;
+				if (_tileProvider != null)
+				{
+					_tileProvider.ExtentChanged += OnMapExtentChanged;
+				}
+			}
+		}
+
+		/// <summary>
+		/// The map options.
+		/// Options to control the behaviour of the map like location,extent, scale and placement.
+		/// </summary>
+		public MapOptions Options
+		{
+			get
+			{
+				return _options;
+			}
+			set
+			{
+				_options = value;
+			}
+		}
+
+		/// <summary>
+		/// Options to control the imagery component of the map.
+		/// </summary>
+		[NodeEditorElement("Layers")]
+		public IImageryLayer ImageLayer
+		{
+			get
+			{
+				return _imagery;
+			}
+		}
+
+		/// <summary>
+		/// Options to control the terrain/ elevation component of the map.
+		/// </summary>
+		[NodeEditorElement("Layers")]
+		public ITerrainLayer Terrain
+		{
+			get
+			{
+				return _terrain;
+			}
+		}
+
+		/// <summary>
+		/// The vector data.
+		/// Options to control the vector data component of the map.
+		/// Adds a vector source and visualizers to define the rendering behaviour of vector data layers.
+		/// </summary>
+		[NodeEditorElement("Layers")]
+		public IVectorDataLayer VectorData
+		{
+			get
+			{
+				return _vectorData;
+			}
+		}
+
+		public Vector2d CenterLatitudeLongitude
+		{
+			get
+			{
+				return _centerLatitudeLongitude;
+			}
+		}
+
+		public Vector2d CenterMercator
+		{
+			get
+			{
+				return _centerMercator;
+			}
+		}
+
+		public float WorldRelativeScale
+		{
+			get
+			{
+				return _worldRelativeScale;
+			}
+		}
+
+		public float UnityTileSize
+		{
+			get
+			{
+				return _unityTileSize;
+			}
+		}
+
+		/// <summary>
+		/// Gets the absolute zoom of the tiles being currently rendered.
+		/// <seealso cref="Zoom"/>
+		/// </summary>
+		/// <value>The absolute zoom.</value>
+		public int AbsoluteZoom
+		{
+			get
+			{
+				return (int)Math.Floor(Options.locationOptions.zoom);
+			}
+		}
+
+		/// <summary>
+		/// Gets the current zoom value of the map.
+		/// Use <c>AbsoluteZoom</c> to get the zoom level of the tileset.
+		/// <seealso cref="AbsoluteZoom"/>
+		/// </summary>
+		/// <value>The zoom.</value>
+		public float Zoom
+		{
+			get
+			{
+				return Options.locationOptions.zoom;
+			}
+		}
+
+		public void SetZoom(float zoom)
+		{
+			Options.locationOptions.zoom = zoom;
+		}
+
+		/// <summary>
+		/// Gets the initial zoom at which the map was initialized.
+		/// This parameter is useful in calculating the scale of the tiles and the map.
+		/// </summary>
+		/// <value>The initial zoom.</value>
+		public int InitialZoom
+		{
+			get
+			{
+				return _initialZoom;
+			}
+		}
+
+
+		public Transform Root
+		{
+			get
+			{
+				return transform;
+			}
+		}
+
+		/// <summary>
+		/// Setting to trigger map initialization in Unity's Start method.
+		/// if set to false, Initialize method should be called explicitly to initialize the map.
+		/// </summary>
+		public bool InitializeOnStart
+		{
+			get
+			{
+				return _initializeOnStart;
+			}
+			set
+			{
+				_initializeOnStart = value;
+			}
+		}
+
+		public HashSet<UnwrappedTileId> CurrentExtent
+		{
+			get
+			{
+				return _currentExtent;
+			}
+		}
+
+		/// <summary>
+		/// Gets the loading texture used as a placeholder while the image tile is loading.
+		/// </summary>
+		/// <value>The loading texture.</value>
+		public Texture2D LoadingTexture
+		{
+			get
+			{
+				return _options.loadingTexture;
+			}
+		}
+
+		/// <summary>
+		/// Gets the tile material used for map tiles.
+		/// </summary>
+		/// <value>The tile material.</value>
+		public Material TileMaterial
+		{
+			get
+			{
+				return _options.tileMaterial;
+			}
+		}
+
+		public Type ExtentCalculatorType
+		{
+			get
+			{
+				return TileProvider.GetType();
+			}
+		}
+
+		#endregion
+
+		#region Public Methods
+		/// <summary>
+		/// Initialize the map using the specified latLon and zoom.
+		/// Map will automatically get initialized in the <c>Start</c> method.
+		/// Use this method to explicitly initialize the map and disable intialize on <c>Start</c>
+		/// </summary>
+		/// <returns>The initialize.</returns>
+		/// <param name="latLon">Lat lon.</param>
+		/// <param name="zoom">Zoom.</param>
+		public virtual void Initialize(Vector2d latLon, int zoom)
+		{
+			_initializeOnStart = false;
+			if (_options == null)
+			{
+				_options = new MapOptions();
+			}
+			_options.locationOptions.latitudeLongitude = String.Format(CultureInfo.InvariantCulture, "{0},{1}", latLon.x, latLon.y);
+			_options.locationOptions.zoom = zoom;
+
+			SetUpMap();
+		}
+
+		protected virtual void Update()
+		{
+			if (Application.isEditor && !Application.isPlaying && IsEditorPreviewEnabled == false)
+			{
+				return;
+			}
+			if (TileProvider != null)
+			{
+				TileProvider.UpdateTileProvider();
+			}
+		}
+
+		public virtual void UpdateMap()
+		{
+			UpdateMap(Conversions.StringToLatLon(_options.locationOptions.latitudeLongitude), Zoom);
+		}
+
+		public virtual void UpdateMap(Vector2d latLon)
+		{
+			UpdateMap(latLon, Zoom);
+		}
+
+		public virtual void UpdateMap(float zoom)
+		{
+			UpdateMap(Conversions.StringToLatLon(_options.locationOptions.latitudeLongitude), zoom);
+		}
+
+		/// <summary>
+		/// Updates the map.
+		/// Use this method to update the location of the map.
+		/// Update method should be used when panning, zooming or changing location of the map.
+		/// This method avoid startup delays that might occur on re-initializing the map.
+		/// </summary>
+		/// <param name="latLon">LatitudeLongitude.</param>
+		/// <param name="zoom">Zoom level.</param>
+		public virtual void UpdateMap(Vector2d latLon, float zoom)
+		{
+			if (Application.isEditor && !Application.isPlaying && !IsEditorPreviewEnabled)
+			{
+				return;
+			}
+
+			//so map will be snapped to zero using next new tile loaded
+			_worldHeightFixed = false;
+			float differenceInZoom = 0.0f;
+			bool isAtInitialZoom = false;
+			// Update map zoom, if it has changed.
+			if (Math.Abs(Zoom - zoom) > Constants.EpsilonFloatingPoint)
+			{
+				SetZoom(zoom);
+			}
+
+			// Compute difference in zoom. Will be used to calculate correct scale of the map.
+			differenceInZoom = Zoom - InitialZoom;
+			isAtInitialZoom = (differenceInZoom - 0.0 < Constants.EpsilonFloatingPoint);
+
+			//Update center latitude longitude
+			var centerLatitudeLongitude = latLon;
+			double xDelta = centerLatitudeLongitude.x;
+			double zDelta = centerLatitudeLongitude.y;
+
+			xDelta = xDelta > 0 ? Mathd.Min(xDelta, Mapbox.Utils.Constants.LatitudeMax) : Mathd.Max(xDelta, -Mapbox.Utils.Constants.LatitudeMax);
+			zDelta = zDelta > 0 ? Mathd.Min(zDelta, Mapbox.Utils.Constants.LongitudeMax) : Mathd.Max(zDelta, -Mapbox.Utils.Constants.LongitudeMax);
+
+			//Set Center in Latitude Longitude and Mercator.
+			SetCenterLatitudeLongitude(new Vector2d(xDelta, zDelta));
+			Options.scalingOptions.scalingStrategy.SetUpScaling(this);
+			Options.placementOptions.placementStrategy.SetUpPlacement(this);
+
+			//Scale the map accordingly.
+			if (Math.Abs(differenceInZoom) > Constants.EpsilonFloatingPoint || isAtInitialZoom)
+			{
+				_mapScaleFactor = Vector3.one * Mathf.Pow(2, differenceInZoom);
+				Root.localScale = _mapScaleFactor;
+			}
+
+			//Update Tile extent.
+			if (TileProvider != null)
+			{
+				TileProvider.UpdateTileExtent();
+			}
+
+			if (OnUpdated != null)
+			{
+				OnUpdated();
+			}
+		}
+
+		private void Reset()
+		{
+			DisableEditorPreview();
+		}
+
+		/// <summary>
+		/// Resets the map.
+		/// Use this method to reset the map.
+		/// </summary>
+		[ContextMenu("ResetMap")]
+		public void ResetMap()
+		{
+			if(_previewOptions.isPreviewEnabled)
+			{
+				DisableEditorPreview();
+				EnableEditorPreview();
+			}
+			else
+			{
+				MapOnAwakeRoutine();
+				MapOnStartRoutine(false);
+			}
+		}
+
+		public bool IsAccessTokenValid
+		{
+			get
+			{
+				bool isAccessTokenValid = false;
+				try
+				{
+					var accessTokenCheck = Unity.MapboxAccess.Instance;
+					if (Unity.MapboxAccess.Instance.Configuration == null || string.IsNullOrEmpty(Unity.MapboxAccess.Instance.Configuration.AccessToken))
+					{
+						return false;
+					}
+
+					isAccessTokenValid = true;
+				}
+				catch (System.Exception)
+				{
+					isAccessTokenValid = false;
+				}
+				return isAccessTokenValid;
+			}
+		}
+		#endregion
+
+		#region Private/Protected Methods
+
+		private void OnEnable()
+		{
+			tilesToProcess = new List<UnwrappedTileId>();
+			if (_options.tileMaterial == null)
+			{
+				_options.tileMaterial = new Material(Shader.Find("Standard"));
+			}
+
+			if (_options.loadingTexture == null)
+			{
+				_options.loadingTexture = new Texture2D(1, 1);
+			}
+		}
+
+		// TODO: implement IDisposable, instead?
+		protected virtual void OnDestroy()
+		{
+			if (TileProvider != null)
+			{
+				TileProvider.ExtentChanged -= OnMapExtentChanged;
+			}
+			_mapVisualizer.ClearMap();
+			_mapVisualizer.Destroy();
+		}
+
+		protected virtual void Awake()
+		{
+			if (_previewOptions.isPreviewEnabled == true)
+			{
+				DisableEditorPreview();
+				_previewOptions.isPreviewEnabled = false;
+			}
+			MapOnAwakeRoutine();
+		}
+
+		protected virtual void Start()
+		{
+			MapOnStartRoutine();
+		}
+
+		private void MapOnAwakeRoutine()
+		{
+			// Destroy any ghost game objects.
+			DestroyChildObjects();
+			// Setup a visualizer to get a "Starter" map.
+
+			if(_mapVisualizer == null)
+			{
+				_mapVisualizer = ScriptableObject.CreateInstance<MapVisualizer>();
+			}
+			_mapVisualizer.OnTileFinished += (s) =>
+			{
+				OnTileFinished(s);
+			};
+		}
+
+		public void DestroyChildObjects()
+		{
+			int destroyChildStartIndex = transform.childCount - 1;
+			for (int i = destroyChildStartIndex; i >= 0; i--)
+			{
+				transform.GetChild(i).gameObject.Destroy();
+			}
+		}
+
+		private void MapOnStartRoutine(bool coroutine = true)
+		{
+			if (Application.isPlaying)
+			{
+				if(coroutine)
+				{
+					StartCoroutine("SetupAccess");
+				}
+				if (_initializeOnStart)
+				{
+					SetUpMap();
+				}
+			}
+		}
+
+		private void EnableDisablePreview(object sender, EventArgs e)
+		{
+			if (!Application.isPlaying)
+			{
+				if (_previewOptions.isPreviewEnabled)
+				{
+
+					EnableEditorPreview();
+				}
+				else
+				{
+
+					DisableEditorPreview();
+				}
+			}
+		}
+
+		public void EnableEditorPreview()
+		{
+			_cachedPosition = transform.position;
+			_cachedRotation = transform.rotation;
+			_cachedScale = transform.localScale;
+
+			SetUpMap();
+			if (OnEditorPreviewEnabled != null)
+			{
+				OnEditorPreviewEnabled();
+			}
+		}
+
+		public void DisableEditorPreview()
+		{
+			_imagery.UpdateLayer -= OnImageOrTerrainUpdateLayer;
+			_terrain.UpdateLayer -= OnImageOrTerrainUpdateLayer;
+			_vectorData.SubLayerRemoved -= OnVectorDataSubLayerRemoved;
+			_vectorData.SubLayerAdded -= OnVectorDataSubLayerAdded;
+			_vectorData.UpdateLayer -= OnVectorDataUpdateLayer;
+			_vectorData.UnbindAllEvents();
+			if(_mapVisualizer != null)
+			{
+				_mapVisualizer.ClearMap();
+			}
+			DestroyTileProvider();
+
+			if (OnEditorPreviewDisabled != null)
+			{
+				OnEditorPreviewDisabled();
+			}
+
+			transform.position = _cachedPosition;
+			transform.rotation = _cachedRotation;
+			transform.localScale = _cachedScale;
+		}
+
+		public void DestroyTileProvider()
+		{
+			var tileProvider = TileProvider ?? gameObject.GetComponent<AbstractTileProvider>();
+			if (_options.extentOptions.extentType != MapExtentType.Custom && tileProvider != null)
+			{
+				tileProvider.gameObject.Destroy();
+				_tileProvider = null;
+			}
+		}
+
+		protected IEnumerator SetupAccess()
+		{
+			_fileSource = MapboxAccess.Instance;
+
+			yield return new WaitUntil(() => MapboxAccess.Configured);
+		}
+		/// <summary>
+		/// Sets up map.
+		/// This method uses the mapOptions and layer properties to setup the map to be rendered.
+		/// Override <c>SetUpMap</c> to write custom behavior to map setup.
+		/// </summary>
+		protected virtual void SetUpMap()
+		{
+			SetPlacementStrategy();
+
+			SetScalingStrategy();
+
+			SetTileProvider();
+
+			if (_imagery == null)
+			{
+				_imagery = new ImageryLayer();
+			}
+			_imagery.Initialize();
+
+			if (_terrain == null)
+			{
+				_terrain = new TerrainLayer();
+			}
+			_terrain.Initialize();
+
+			if (_vectorData == null)
+			{
+				_vectorData = new VectorLayer();
+			}
+			_vectorData.Initialize();
+
+			_mapVisualizer.Factories = new List<AbstractTileFactory>
+			{
+				_terrain.Factory,
+				_imagery.Factory,
+				_vectorData.Factory
+			};
+
+			InitializeMap(_options);
+		}
+
+		protected virtual void TileProvider_OnTileAdded(UnwrappedTileId tileId)
+		{
+			var tile = _mapVisualizer.LoadTile(tileId);
+			if (Options.placementOptions.snapMapToZero && !_worldHeightFixed)
+			{
+				_worldHeightFixed = true;
+				if (tile.HeightDataState == MeshGeneration.Enums.TilePropertyState.Loaded)
+				{
+					ApplySnapWorldToZero(tile);
+				}
+				else
+				{
+					tile.OnHeightDataChanged += (s) => { ApplySnapWorldToZero(tile); };
+				}
+			}
+		}
+
+		protected virtual void TileProvider_OnTileRemoved(UnwrappedTileId tileId)
+		{
+			_mapVisualizer.DisposeTile(tileId);
+		}
+
+		protected virtual void TileProvider_OnTileRepositioned(UnwrappedTileId tileId)
+		{
+			_mapVisualizer.RepositionTile(tileId);
+		}
+
+		protected void SendInitialized()
+		{
+			OnInitialized();
+		}
+
+		/// <summary>
+		/// Apply Snap World to Zero setting by moving map in Y Axis such that
+		/// center of the given tile will be at y=0.
+		/// </summary>
+		/// <param name="referenceTile">Tile to use for Y axis correction.</param>
+		private void ApplySnapWorldToZero(UnityTile referenceTile)
+		{
+			if (_options.placementOptions.snapMapToZero)
+			{
+				var h = referenceTile.QueryHeightData(.5f, .5f);
+				Root.transform.localPosition = new Vector3(
+					Root.transform.position.x,
+					-h,
+					Root.transform.position.z);
+			}
+			else
+			{
+				Root.transform.localPosition = new Vector3(
+					Root.transform.position.x,
+					0,
+					Root.transform.position.z);
+			}
+		}
+
+		/// <summary>
+		/// Initializes the map using the mapOptions.
+		/// </summary>
+		/// <param name="options">Options.</param>
+		protected virtual void InitializeMap(MapOptions options)
+		{
+			Options = options;
+			_worldHeightFixed = false;
+			_fileSource = MapboxAccess.Instance;
+			_centerLatitudeLongitude = Conversions.StringToLatLon(options.locationOptions.latitudeLongitude);
+			_initialZoom = (int)options.locationOptions.zoom;
+
+			options.scalingOptions.scalingStrategy.SetUpScaling(this);
+			options.placementOptions.placementStrategy.SetUpPlacement(this);
+
+
+			//Set up events for changes.
+			_imagery.UpdateLayer += OnImageOrTerrainUpdateLayer;
+			_terrain.UpdateLayer += OnImageOrTerrainUpdateLayer;
+
+			_vectorData.SubLayerRemoved += OnVectorDataSubLayerRemoved;
+			_vectorData.SubLayerAdded += OnVectorDataSubLayerAdded;
+			_vectorData.UpdateLayer += OnVectorDataUpdateLayer;
+
+			_options.locationOptions.PropertyHasChanged += (object sender, System.EventArgs eventArgs) =>
+			{
+				UpdateMap();
+			};
+
+			_options.extentOptions.PropertyHasChanged += (object sender, System.EventArgs eventArgs) =>
+			{
+				OnTileProviderChanged();
+			};
+
+			_options.extentOptions.defaultExtents.PropertyHasChanged += (object sender, System.EventArgs eventArgs) =>
+			{
+				if (Application.isEditor && !Application.isPlaying && IsEditorPreviewEnabled == false)
+				{
+					Debug.Log("defaultExtents");
+					return;
+				}
+				if (TileProvider != null)
+				{
+					TileProvider.UpdateTileExtent();
+				}
+			};
+
+			_options.placementOptions.PropertyHasChanged += (object sender, System.EventArgs eventArgs) =>
+			{
+				SetPlacementStrategy();
+				UpdateMap();
+			};
+
+			_options.scalingOptions.PropertyHasChanged += (object sender, System.EventArgs eventArgs) =>
+			{
+				SetScalingStrategy();
+				UpdateMap();
+			};
+
+			_mapVisualizer.Initialize(this, _fileSource);
+			TileProvider.Initialize(this);
+
+			SendInitialized();
+
+			TileProvider.UpdateTileExtent();
+		}
+
+		private void SetScalingStrategy()
+		{
+			switch (_options.scalingOptions.scalingType)
+			{
+				case MapScalingType.WorldScale:
+					_options.scalingOptions.scalingStrategy = new MapScalingAtWorldScaleStrategy();
+					break;
+				case MapScalingType.Custom:
+					_options.scalingOptions.scalingStrategy = new MapScalingAtUnityScaleStrategy();
+					break;
+			}
+		}
+
+		private void SetPlacementStrategy()
+		{
+			switch (_options.placementOptions.placementType)
+			{
+				case MapPlacementType.AtTileCenter:
+					_options.placementOptions.placementStrategy = new MapPlacementAtTileCenterStrategy();
+					break;
+				case MapPlacementType.AtLocationCenter:
+					_options.placementOptions.placementStrategy = new MapPlacementAtLocationCenterStrategy();
+					break;
+				default:
+					_options.placementOptions.placementStrategy = new MapPlacementAtTileCenterStrategy();
+					break;
+			}
+		}
+
+		private void SetTileProvider()
+		{
+			if (_options.extentOptions.extentType != MapExtentType.Custom)
+			{
+				ITileProviderOptions tileProviderOptions = _options.extentOptions.GetTileProviderOptions();
+				string tileProviderName = "TileProvider";
+				// Setup tileprovider based on type.
+				switch (_options.extentOptions.extentType)
+				{
+					case MapExtentType.CameraBounds:
+						{
+							if (TileProvider != null)
+							{
+								if (!(TileProvider is QuadTreeTileProvider))
+								{
+									TileProvider.gameObject.Destroy();
+									var go = new GameObject(tileProviderName);
+									go.transform.parent = transform;
+									TileProvider = go.AddComponent<QuadTreeTileProvider>();
+								}
+							}
+							else
+							{
+								var go = new GameObject(tileProviderName);
+								go.transform.parent = transform;
+								TileProvider = go.AddComponent<QuadTreeTileProvider>();
+							}
+							break;
+						}
+					case MapExtentType.RangeAroundCenter:
+						{
+							if (TileProvider != null)
+							{
+								TileProvider.gameObject.Destroy();
+								var go = new GameObject(tileProviderName);
+								go.transform.parent = transform;
+								TileProvider = go.AddComponent<RangeTileProvider>();
+							}
+							else
+							{
+								var go = new GameObject(tileProviderName);
+								go.transform.parent = transform;
+								TileProvider = go.AddComponent<RangeTileProvider>();
+							}
+							break;
+						}
+					case MapExtentType.RangeAroundTransform:
+						{
+							if (TileProvider != null)
+							{
+								if (!(TileProvider is RangeAroundTransformTileProvider))
+								{
+									TileProvider.gameObject.Destroy();
+									var go = new GameObject(tileProviderName);
+									go.transform.parent = transform;
+									TileProvider = go.AddComponent<RangeAroundTransformTileProvider>();
+								}
+							}
+							else
+							{
+								var go = new GameObject(tileProviderName);
+								go.transform.parent = transform;
+								TileProvider = go.AddComponent<RangeAroundTransformTileProvider>();
+							}
+							break;
+						}
+					default:
+						break;
+				}
+				TileProvider.SetOptions(tileProviderOptions);
+			}
+			else
+			{
+				TileProvider = _tileProvider;
+			}
+		}
+
+		private void TriggerTileRedrawForExtent(ExtentArgs currentExtent)
+		{
+			var _activeTiles = _mapVisualizer.ActiveTiles;
+			_currentExtent = new HashSet<UnwrappedTileId>(currentExtent.activeTiles);
+
+			if (tilesToProcess == null)
+			{
+				tilesToProcess = new List<UnwrappedTileId>();
+			}
+			else
+			{
+				tilesToProcess.Clear();
+			}
+			foreach (var item in _activeTiles)
+			{
+				if (TileProvider.Cleanup(item.Key))
+				{
+					tilesToProcess.Add(item.Key);
+				}
+			}
+
+			if (tilesToProcess.Count > 0)
+			{
+				OnTilesDisposing(tilesToProcess);
+
+				foreach (var t2r in tilesToProcess)
+				{
+					TileProvider_OnTileRemoved(t2r);
+				}
+			}
+
+			foreach (var tile in _activeTiles)
+			{
+				// Reposition tiles in case we panned.
+				TileProvider_OnTileRepositioned(tile.Key);
+			}
+
+			tilesToProcess.Clear();
+			foreach (var tile in _currentExtent)
+			{
+				if (!_activeTiles.ContainsKey(tile))
+				{
+					tilesToProcess.Add(tile);
+				}
+			}
+
+			if (tilesToProcess.Count > 0)
+			{
+				OnTilesStarting(tilesToProcess);
+				foreach (var tileId in tilesToProcess)
+				{
+					_mapVisualizer.State = ModuleState.Working;
+					TileProvider_OnTileAdded(tileId);
+				}
+			}
+		}
+
+		private void OnMapExtentChanged(object sender, ExtentArgs currentExtent)
+		{
+			TriggerTileRedrawForExtent(currentExtent);
+		}
+
+		private void OnImageOrTerrainUpdateLayer(object sender, System.EventArgs eventArgs)
+		{
+			LayerUpdateArgs layerUpdateArgs = eventArgs as LayerUpdateArgs;
+			if (layerUpdateArgs != null)
+			{
+				_mapVisualizer.UpdateTileForProperty(layerUpdateArgs.factory, layerUpdateArgs);
+				if (layerUpdateArgs.effectsVectorLayer)
+				{
+					RedrawVectorDataLayer();
+				}
+				OnMapRedrawn();
+			}
+		}
+
+		private void RedrawVectorDataLayer()
+		{
+			_mapVisualizer.UnregisterTilesFrom(_vectorData.Factory);
+			_vectorData.UnbindAllEvents();
+			_vectorData.UpdateFactorySettings();
+			_mapVisualizer.ReregisterTilesTo(_vectorData.Factory);
+		}
+
+		private void OnVectorDataSubLayerRemoved(object sender, EventArgs eventArgs)
+		{
+			VectorLayerUpdateArgs layerUpdateArgs = eventArgs as VectorLayerUpdateArgs;
+
+			if (layerUpdateArgs.visualizer != null)
+			{
+				_mapVisualizer.RemoveTilesFromLayer((VectorTileFactory)layerUpdateArgs.factory, layerUpdateArgs.visualizer);
+			}
+			OnMapRedrawn();
+		}
+
+		private void OnVectorDataSubLayerAdded(object sender, EventArgs eventArgs)
+		{
+			RedrawVectorDataLayer();
+			OnMapRedrawn();
+		}
+
+		private void OnVectorDataUpdateLayer(object sender, System.EventArgs eventArgs)
+		{
+
+			VectorLayerUpdateArgs layerUpdateArgs = eventArgs as VectorLayerUpdateArgs;
+
+			if (layerUpdateArgs.visualizer != null)
+			{
+				//We have a visualizer. Update only the visualizer.
+				//No need to unload the entire factory to apply changes.
+				_mapVisualizer.UnregisterAndRedrawTilesFromLayer((VectorTileFactory)layerUpdateArgs.factory, layerUpdateArgs.visualizer);
+			}
+			else
+			{
+				//We are updating a core property of vector section.
+				//All vector features need to get unloaded and re-created.
+				RedrawVectorDataLayer();
+			}
+			OnMapRedrawn();
+		}
+
+		private void OnTileProviderChanged()
+		{
+			if (Application.isEditor && !Application.isPlaying && IsEditorPreviewEnabled == false)
+			{
+				Debug.Log("extentOptions");
+				return;
+			}
+
+			SetTileProvider();
+			TileProvider.Initialize(this);
+			if (IsEditorPreviewEnabled)
+			{
+				TileProvider.UpdateTileExtent();
+			}
+		}
+
+		#endregion
+
+		#region Conversion and Height Query Methods
+		private Vector3 GeoToWorldPositionXZ(Vector2d latitudeLongitude)
+		{
+			// For quadtree implementation of the map, the map scale needs to be compensated for.
+			var scaleFactor = Mathf.Pow(2, (InitialZoom - AbsoluteZoom));
+			var worldPos = Conversions.GeoToWorldPosition(latitudeLongitude, CenterMercator, WorldRelativeScale * scaleFactor).ToVector3xz();
+			return Root.TransformPoint(worldPos);
+		}
+
+		protected virtual float QueryElevationAtInternal(Vector2d latlong, out float tileScale)
+		{
+			var _meters = Conversions.LatLonToMeters(latlong.x, latlong.y);
+			UnityTile tile;
+			bool foundTile = MapVisualizer.ActiveTiles.TryGetValue(Conversions.LatitudeLongitudeToTileId(latlong.x, latlong.y, (int)Zoom), out tile);
+			if (foundTile)
+			{
+				tileScale = tile.TileScale;
+				var _rect = tile.Rect;
+				return tile.QueryHeightData((float)((_meters - _rect.Min).x / _rect.Size.x), (float)((_meters.y - _rect.Max.y) / _rect.Size.y));
+			}
+			else
+			{
+				tileScale = 1f;
+				return 0f;
+			}
+
+		}
+
+		/// <summary>
+		/// Converts a latitude longitude into map space position.
+		/// </summary>
+		/// <returns>Position in map space.</returns>
+		/// <param name="latitudeLongitude">Latitude longitude.</param>
+		/// <param name="queryHeight">If set to <c>true</c> will return the terrain height(in Unity units) at that point.</param>
+		public virtual Vector3 GeoToWorldPosition(Vector2d latitudeLongitude, bool queryHeight = true)
+		{
+			Vector3 worldPos = GeoToWorldPositionXZ(latitudeLongitude);
+
+			if (queryHeight)
+			{
+				//Query Height.
+				float tileScale = 1f;
+				float height = QueryElevationAtInternal(latitudeLongitude, out tileScale);
+
+				// Apply height inside the unity tile space
+				UnityTile tile;
+				if (MapVisualizer.ActiveTiles.TryGetValue(Conversions.LatitudeLongitudeToTileId(latitudeLongitude.x, latitudeLongitude.y, (int)Zoom), out tile))
+				{
+					if (tile != null)
+					{
+						// Calculate height in the local space of the tile gameObject.
+						// Height is aligned with the y axis in local space.
+						// This also helps us avoid scale values when setting the height.
+						var localPos = tile.gameObject.transform.InverseTransformPoint(worldPos);
+						localPos.y = height;
+						worldPos = tile.gameObject.transform.TransformPoint(localPos);
+					}
+				}
+			}
+
+			return worldPos;
+		}
+
+		/// <summary>
+		/// Converts a position in map space into a laitude longitude.
+		/// </summary>
+		/// <returns>Position in Latitude longitude.</returns>
+		/// <param name="realworldPoint">Realworld point.</param>
+		public virtual Vector2d WorldToGeoPosition(Vector3 realworldPoint)
+		{
+			// For quadtree implementation of the map, the map scale needs to be compensated for.
+			var scaleFactor = Mathf.Pow(2, (InitialZoom - AbsoluteZoom));
+
+			return (Root.InverseTransformPoint(realworldPoint)).GetGeoPosition(CenterMercator, WorldRelativeScale * scaleFactor);
+		}
+
+		/// <summary>
+		/// Queries the real world elevation data in Unity units at a given latitude longitude.
+		/// </summary>
+		/// <returns>The height data.</returns>
+		/// <param name="latlong">Latlong.</param>
+		public virtual float QueryElevationInUnityUnitsAt(Vector2d latlong)
+		{
+			float tileScale = 1f;
+			return QueryElevationAtInternal(latlong, out tileScale);
+		}
+
+		/// <summary>
+		/// Queries the real world elevation data in Meters at a given latitude longitude.
+		/// </summary>
+		/// <returns>The height data.</returns>
+		/// <param name="latlong">Latlong.</param>
+		public virtual float QueryElevationInMetersAt(Vector2d latlong)
+		{
+			float tileScale = 1f;
+			float height = QueryElevationAtInternal(latlong, out tileScale);
+			return (height / tileScale);
+		}
+		#endregion
+
+		#region Map Property Related Changes Methods
+		public virtual void SetCenterMercator(Vector2d centerMercator)
+		{
+			_centerMercator = centerMercator;
+		}
+
+		public virtual void SetCenterLatitudeLongitude(Vector2d centerLatitudeLongitude)
+		{
+			_options.locationOptions.latitudeLongitude = string.Format("{0}, {1}", centerLatitudeLongitude.x, centerLatitudeLongitude.y);
+			_centerLatitudeLongitude = centerLatitudeLongitude;
+		}
+
+		public virtual void SetWorldRelativeScale(float scale)
+		{
+			_worldRelativeScale = scale;
+		}
+
+		public virtual void SetLoadingTexture(Texture2D loadingTexture)
+		{
+			Options.loadingTexture = loadingTexture;
+		}
+
+		public virtual void SetTileMaterial(Material tileMaterial)
+		{
+			Options.tileMaterial = tileMaterial;
+		}
+
+		/// <summary>
+		/// Sets the extent type and parameters to control the maps extent.
+		/// </summary>
+		/// <param name="extentType">Extent type.</param>
+		/// <param name="extentOptions">Extent options.</param>
+		public virtual void SetExtent(MapExtentType extentType, ExtentOptions extentOptions = null)
+		{
+			_options.extentOptions.extentType = extentType;
+
+			if (extentOptions != null)
+			{
+				var currentOptions = _options.extentOptions.GetTileProviderOptions();
+				if (currentOptions.GetType() == extentOptions.GetType())
+				{
+					currentOptions = extentOptions;
+				}
+			}
+			OnTileProviderChanged();
+		}
+
+		/// <summary>
+		/// Set parameters for current extent calculator strategy.
+		/// </summary>
+		/// <param name="extentOptions">Parameters to control the map extent.</param>
+		public virtual void SetExtentOptions(ExtentOptions extentOptions)
+		{
+			_options.extentOptions.GetTileProviderOptions().SetOptions(extentOptions);
+			_options.extentOptions.defaultExtents.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the positions of the map's root transform.
+		/// Use <paramref name="placementType"/> = <c> MapPlacementType.AtTileCenter</c> to place map root at the center of tile containing the latitude,longitude.
+		/// Use <paramref name="placementType"/> = <c> MapPlacementType.AtLocationCenter</c> to place map root at the latitude,longitude.
+		/// </summary>
+		/// <param name="placementType">Placement type.</param>
+		public virtual void SetPlacementType(MapPlacementType placementType)
+		{
+			_options.placementOptions.placementType = placementType;
+			_options.placementOptions.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Translates map root by the terrain elevation at the center geo location.
+		/// Use this method with <c>TerrainWithElevation</c>
+		/// </summary>
+		/// <param name="active">If set to <c>true</c> active.</param>
+		public virtual void SnapMapToZero(bool active)
+		{
+			_options.placementOptions.snapMapToZero = active;
+			_options.placementOptions.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the map to use real world scale for map tile.
+		/// Use world scale for AR use cases or applications that need true world scale.
+		/// </summary>
+		public virtual void UseWorldScale()
+		{
+			_options.scalingOptions.scalingType = MapScalingType.WorldScale;
+			_options.scalingOptions.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the map to use custom scale for map tiles.
+		/// </summary>
+		/// <param name="tileSizeInUnityUnits">Tile size in unity units to scale each Web Mercator tile.</param>
+		public virtual void UseCustomScale(float tileSizeInUnityUnits)
+		{
+			_options.scalingOptions.scalingType = MapScalingType.Custom;
+			_options.scalingOptions.unityTileSize = tileSizeInUnityUnits;
+			_options.scalingOptions.HasChanged = true;
+		}
+
+		#endregion
+
+		#region Events
+		/// <summary>
+		/// Event delegate, gets called after map is initialized
+		/// <seealso cref="OnUpdated"/>
+		/// </summary>
+		public event Action OnInitialized = delegate { };
+		/// <summary>
+		/// Event delegate, gets called after map is updated.
+		/// <c>UpdateMap</c> will trigger this event.
+		/// <seealso cref="OnInitialized"/>
+		/// </summary>
+		public event Action OnUpdated = delegate { };
+		public event Action OnMapRedrawn = delegate { };
+
+		/// <summary>
+		/// Event delegate, gets called when map preview is enabled
+		/// </summary>
+		public event Action OnEditorPreviewEnabled = delegate { };
+		/// <summary>
+		/// Event delegate, gets called when map preview is disabled
+		/// </summary>
+		public event Action OnEditorPreviewDisabled = delegate { };
+		/// <summary>
+		/// Event delegate, gets called when a tile is completed.
+		/// </summary>
+		public event Action<UnityTile> OnTileFinished = delegate { };
+		/// <summary>
+		/// Event delegate, gets called when new tiles coordinates are registered.
+		/// </summary>
+		public event Action<List<UnwrappedTileId>> OnTilesStarting = delegate { };
+		/// <summary>
+		/// Event delegate, gets called before a tile is getting recycled.
+		/// </summary>
+		public event Action<List<UnwrappedTileId>> OnTilesDisposing = delegate { };
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMap.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMap.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d95d82950d0f58d37f6efd4c13b84c3e6eb7d0f6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMap.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: cd961b1c9541a4cee99686069ecce852
+timeCreated: 1520299462
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMapVisualizer.cs b/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMapVisualizer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..676e983403f8597d56f5d4610ca928c1aba9b9a4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMapVisualizer.cs
@@ -0,0 +1,433 @@
+using Mapbox.Unity.Map.Interfaces;
+
+namespace Mapbox.Unity.Map
+{
+	using System.Linq;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Map;
+	using Mapbox.Unity.MeshGeneration.Factories;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+	using Mapbox.Platform;
+	using UnityEngine.Serialization;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.MeshGeneration.Enums;
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+
+	/// <summary>
+	/// Map Visualizer
+	/// Represents a map.Doesn’t contain much logic and at the moment, it creates requested tiles and relays them to the factories
+	/// under itself.It has a caching mechanism to reuse tiles and does the tile positioning in unity world.
+	/// Later we’ll most likely keep track of map features here as well to allow devs to query for features easier
+	/// (i.e.query all buildings x meters around any restaurant etc).
+	/// </summary>
+	public abstract class AbstractMapVisualizer : ScriptableObject
+	{
+		[SerializeField]
+		[NodeEditorElementAttribute("Factories")]
+		[FormerlySerializedAs("_factories")]
+		public List<AbstractTileFactory> Factories;
+
+		protected IMapReadable _map;
+		protected Dictionary<UnwrappedTileId, UnityTile> _activeTiles = new Dictionary<UnwrappedTileId, UnityTile>();
+		protected Queue<UnityTile> _inactiveTiles = new Queue<UnityTile>();
+		private int _counter;
+
+		private ModuleState _state;
+		public ModuleState State
+		{
+			get
+			{
+				return _state;
+			}
+			internal set
+			{
+				if (_state != value)
+				{
+					_state = value;
+					OnMapVisualizerStateChanged(_state);
+				}
+			}
+		}
+
+		public IMapReadable Map { get { return _map; } }
+		public Dictionary<UnwrappedTileId, UnityTile> ActiveTiles { get { return _activeTiles; } }
+		public Dictionary<UnwrappedTileId, int> _tileProgress;
+
+		public event Action<ModuleState> OnMapVisualizerStateChanged = delegate { };
+		public event Action<UnityTile> OnTileFinished = delegate { };
+
+		/// <summary>
+		/// Gets the unity tile from unwrapped tile identifier.
+		/// </summary>
+		/// <returns>The unity tile from unwrapped tile identifier.</returns>
+		/// <param name="tileId">Tile identifier.</param>
+		public UnityTile GetUnityTileFromUnwrappedTileId(UnwrappedTileId tileId)
+		{
+			return _activeTiles[tileId];
+		}
+
+		/// <summary>
+		/// Initializes the factories by passing the file source down, which is necessary for data (web/file) calls
+		/// </summary>
+		/// <param name="fileSource"></param>
+		public virtual void Initialize(IMapReadable map, IFileSource fileSource)
+		{
+			_map = map;
+			_tileProgress = new Dictionary<UnwrappedTileId, int>();
+
+			// Allow for map re-use by recycling any active tiles.
+			var activeTiles = _activeTiles.Keys.ToList();
+			foreach (var tile in activeTiles)
+			{
+				DisposeTile(tile);
+			}
+
+			State = ModuleState.Initialized;
+
+			foreach (var factory in Factories)
+			{
+				if (null == factory)
+				{
+					Debug.LogError("AbstractMapVisualizer: Factory is NULL");
+				}
+				else
+				{
+					factory.Initialize(fileSource);
+					UnregisterEvents(factory);
+					RegisterEvents(factory);
+				}
+			}
+		}
+
+		private void RegisterEvents(AbstractTileFactory factory)
+		{
+			factory.OnTileError += Factory_OnTileError;
+		}
+
+		private void UnregisterEvents(AbstractTileFactory factory)
+		{
+			factory.OnTileError -= Factory_OnTileError;
+		}
+
+		public virtual void Destroy()
+		{
+			if (Factories != null)
+			{
+				_counter = Factories.Count;
+				for (int i = 0; i < _counter; i++)
+				{
+					if (Factories[i] != null)
+					{
+						UnregisterEvents(Factories[i]);
+					}
+				}
+			}
+
+			// Inform all downstream nodes that we no longer need to process these tiles.
+			// This scriptable object may be re-used, but it's gameobjects are likely
+			// to be destroyed by a scene change, for example.
+			foreach (var tileId in _activeTiles.Keys.ToList())
+			{
+				DisposeTile(tileId);
+			}
+
+			_activeTiles.Clear();
+			_inactiveTiles.Clear();
+		}
+
+		#region Factory event callbacks
+		//factory event callback, not relaying this up for now
+
+
+		private void TileHeightStateChanged(UnityTile tile)
+		{
+			if (tile.HeightDataState == TilePropertyState.Loaded)
+			{
+				OnTileHeightProcessingFinished(tile);
+			}
+			TileStateChanged(tile);
+		}
+
+		private void TileRasterStateChanged(UnityTile tile)
+		{
+			if (tile.RasterDataState == TilePropertyState.Loaded)
+			{
+				OnTileImageProcessingFinished(tile);
+			}
+			TileStateChanged(tile);
+		}
+
+		private void TileVectorStateChanged(UnityTile tile)
+		{
+			if (tile.VectorDataState == TilePropertyState.Loaded)
+			{
+				OnTileVectorProcessingFinished(tile);
+			}
+			TileStateChanged(tile);
+		}
+
+		public virtual void TileStateChanged(UnityTile tile)
+		{
+			bool rasterDone = (tile.RasterDataState == TilePropertyState.None ||
+								tile.RasterDataState == TilePropertyState.Loaded ||
+								tile.RasterDataState == TilePropertyState.Error ||
+								tile.RasterDataState == TilePropertyState.Cancelled);
+
+			bool terrainDone = (tile.HeightDataState == TilePropertyState.None ||
+								tile.HeightDataState == TilePropertyState.Loaded ||
+								 tile.HeightDataState == TilePropertyState.Error ||
+								 tile.HeightDataState == TilePropertyState.Cancelled);
+			bool vectorDone = (tile.VectorDataState == TilePropertyState.None ||
+								tile.VectorDataState == TilePropertyState.Loaded ||
+								tile.VectorDataState == TilePropertyState.Error ||
+								tile.VectorDataState == TilePropertyState.Cancelled);
+
+			if (rasterDone && terrainDone && vectorDone)
+			{
+				tile.TileState = MeshGeneration.Enums.TilePropertyState.Loaded;
+				OnTileFinished(tile);
+
+				// Check if all tiles in extent are active tiles
+				if (_map.CurrentExtent.Count == _activeTiles.Count)
+				{
+					bool allDone = true;
+					// Check if all tiles are loaded.
+					foreach (var currentTile in _map.CurrentExtent)
+					{
+						allDone = allDone && (_activeTiles.ContainsKey(currentTile) && _activeTiles[currentTile].TileState == TilePropertyState.Loaded);
+					}
+
+					if (allDone)
+					{
+						State = ModuleState.Finished;
+					}
+					else
+					{
+						State = ModuleState.Working;
+					}
+				}
+				else
+				{
+					State = ModuleState.Working;
+				}
+
+
+			}
+		}
+		#endregion
+
+		/// <summary>
+		/// Registers requested tiles to the factories
+		/// </summary>
+		/// <param name="tileId"></param>
+		public virtual UnityTile LoadTile(UnwrappedTileId tileId)
+		{
+			UnityTile unityTile = null;
+
+			if (_inactiveTiles.Count > 0)
+			{
+				unityTile = _inactiveTiles.Dequeue();
+			}
+
+			if (unityTile == null)
+			{
+				unityTile = new GameObject().AddComponent<UnityTile>();
+				try
+				{
+					unityTile.MeshRenderer.sharedMaterial = Instantiate(_map.TileMaterial);
+				}
+				catch
+				{
+					Debug.Log("Tile Material not set. Using default material");
+					unityTile.MeshRenderer.sharedMaterial = Instantiate(new Material(Shader.Find("Diffuse")));
+				}
+
+				unityTile.transform.SetParent(_map.Root, false);
+			}
+
+			unityTile.Initialize(_map, tileId, _map.WorldRelativeScale, _map.AbsoluteZoom, _map.LoadingTexture);
+			PlaceTile(tileId, unityTile, _map);
+
+			// Don't spend resources naming objects, as you shouldn't find objects by name anyway!
+#if UNITY_EDITOR
+			unityTile.gameObject.name = unityTile.CanonicalTileId.ToString();
+#endif
+			unityTile.OnHeightDataChanged += TileHeightStateChanged;
+			unityTile.OnRasterDataChanged += TileRasterStateChanged;
+			unityTile.OnVectorDataChanged += TileVectorStateChanged;
+
+			unityTile.TileState = MeshGeneration.Enums.TilePropertyState.Loading;
+			ActiveTiles.Add(tileId, unityTile);
+
+			foreach (var factory in Factories)
+			{
+				factory.Register(unityTile);
+			}
+
+			return unityTile;
+		}
+
+		public virtual void DisposeTile(UnwrappedTileId tileId)
+		{
+			var unityTile = ActiveTiles[tileId];
+
+			foreach (var factory in Factories)
+			{
+				factory.Unregister(unityTile);
+			}
+
+			unityTile.Recycle();
+			ActiveTiles.Remove(tileId);
+			_inactiveTiles.Enqueue(unityTile);
+		}
+
+		/// <summary>
+		/// Repositions active tiles instead of recreating them. Useful for panning the map
+		/// </summary>
+		/// <param name="tileId"></param>
+		public virtual void RepositionTile(UnwrappedTileId tileId)
+		{
+			UnityTile currentTile;
+			if (ActiveTiles.TryGetValue(tileId, out currentTile))
+			{
+				PlaceTile(tileId, currentTile, _map);
+			}
+		}
+
+		protected abstract void PlaceTile(UnwrappedTileId tileId, UnityTile tile, IMapReadable map);
+
+		public void ClearMap()
+		{
+			UnregisterAllTiles();
+			if (Factories != null)
+			{
+				foreach (var tileFactory in Factories)
+				{
+					if (tileFactory != null)
+					{
+						tileFactory.Clear();
+						DestroyImmediate(tileFactory);
+					}
+				}
+			}
+			foreach (var tileId in _activeTiles.Keys.ToList())
+			{
+				_activeTiles[tileId].ClearAssets();
+				DisposeTile(tileId);
+			}
+
+			foreach (var tile in _inactiveTiles)
+			{
+				tile.ClearAssets();
+				DestroyImmediate(tile.gameObject);
+			}
+
+			_inactiveTiles.Clear();
+			State = ModuleState.Initialized;
+		}
+
+		public void ReregisterAllTiles()
+		{
+			foreach (var activeTile in _activeTiles)
+			{
+				foreach (var abstractTileFactory in Factories)
+				{
+					abstractTileFactory.Register(activeTile.Value);
+				}
+			}
+		}
+
+		public void UnregisterAllTiles()
+		{
+			foreach (var activeTile in _activeTiles)
+			{
+				foreach (var abstractTileFactory in Factories)
+				{
+					abstractTileFactory.Unregister(activeTile.Value);
+				}
+			}
+		}
+
+		public void UnregisterTilesFrom(AbstractTileFactory factory)
+		{
+			foreach (KeyValuePair<UnwrappedTileId, UnityTile> tileBundle in _activeTiles)
+			{
+				factory.Unregister(tileBundle.Value);
+			}
+		}
+
+		public void UnregisterAndRedrawTilesFromLayer(VectorTileFactory factory, LayerVisualizerBase layerVisualizer)
+		{
+			foreach (KeyValuePair<UnwrappedTileId, UnityTile> tileBundle in _activeTiles)
+			{
+				factory.UnregisterLayer(tileBundle.Value, layerVisualizer);
+			}
+			layerVisualizer.Clear();
+			layerVisualizer.UnbindSubLayerEvents();
+			layerVisualizer.SetProperties(layerVisualizer.SubLayerProperties);
+			layerVisualizer.InitializeStack();
+			foreach (KeyValuePair<UnwrappedTileId, UnityTile> tileBundle in _activeTiles)
+			{
+				factory.RedrawSubLayer(tileBundle.Value, layerVisualizer);
+			}
+		}
+
+		public void RemoveTilesFromLayer(VectorTileFactory factory, LayerVisualizerBase layerVisualizer)
+		{
+			foreach (KeyValuePair<UnwrappedTileId, UnityTile> tileBundle in _activeTiles)
+			{
+				factory.UnregisterLayer(tileBundle.Value, layerVisualizer);
+			}
+			factory.RemoveVectorLayerVisualizer(layerVisualizer);
+		}
+
+		public void ReregisterTilesTo(VectorTileFactory factory)
+		{
+			foreach (KeyValuePair<UnwrappedTileId, UnityTile> tileBundle in _activeTiles)
+			{
+				factory.Register(tileBundle.Value);
+			}
+		}
+
+		public void UpdateTileForProperty(AbstractTileFactory factory, LayerUpdateArgs updateArgs)
+		{
+			foreach (KeyValuePair<UnwrappedTileId, UnityTile> tileBundle in _activeTiles)
+			{
+				factory.UpdateTileProperty(tileBundle.Value, updateArgs);
+			}
+		}
+
+
+		#region Events
+		/// <summary>
+		/// The  <c>OnTileError</c> event triggers when there's a <c>Tile</c> error.
+		/// Returns a <see cref="T:Mapbox.Map.TileErrorEventArgs"/> instance as a parameter, for the tile on which error occurred.
+		/// </summary>
+		public event EventHandler<TileErrorEventArgs> OnTileError;
+		private void Factory_OnTileError(object sender, TileErrorEventArgs e)
+		{
+			EventHandler<TileErrorEventArgs> handler = OnTileError;
+			if (handler != null)
+			{
+				handler(this, e);
+			}
+		}
+
+		/// <summary>
+		/// Event delegate, gets called when terrain factory finishes processing a tile.
+		/// </summary>
+		public event Action<UnityTile> OnTileHeightProcessingFinished = delegate {};
+		/// <summary>
+		/// Event delegate, gets called when image factory finishes processing a tile.
+		/// </summary>
+		public event Action<UnityTile> OnTileImageProcessingFinished = delegate {};
+		/// <summary>
+		/// Event delegate, gets called when vector factory finishes processing a tile.
+		/// </summary>
+		public event Action<UnityTile> OnTileVectorProcessingFinished = delegate {};
+
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMapVisualizer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMapVisualizer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..574ec62b59bdcf10fb48aa05d1907fa1ca95af18
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/AbstractMapVisualizer.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cefaf3a12c7842d499a032db9077170d
+timeCreated: 1504617939
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/InitializeMapWithLocationProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Map/InitializeMapWithLocationProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f92c199103288aa54664b29310759ba95d008480
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/InitializeMapWithLocationProvider.cs
@@ -0,0 +1,33 @@
+namespace Mapbox.Unity.Map
+{
+	using System.Collections;
+	using Mapbox.Unity.Location;
+	using UnityEngine;
+
+	public class InitializeMapWithLocationProvider : MonoBehaviour
+	{
+		[SerializeField]
+		AbstractMap _map;
+
+		ILocationProvider _locationProvider;
+    
+		private void Awake()
+		{
+			// Prevent double initialization of the map. 
+			_map.InitializeOnStart = false;
+		}
+
+		protected virtual IEnumerator Start()
+		{
+			yield return null;
+			_locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider;
+			_locationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated; ;
+		}
+
+		void LocationProvider_OnLocationUpdated(Unity.Location.Location location)
+		{
+			_locationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+			_map.Initialize(location.LatitudeLongitude, _map.AbsoluteZoom);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/InitializeMapWithLocationProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/InitializeMapWithLocationProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6155155ecaad90751ef77f1561a43c668697cc11
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/InitializeMapWithLocationProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 96f0fa82f89d64bb9a6524c72d538179
+timeCreated: 1506092731
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces.meta
new file mode 100644
index 0000000000000000000000000000000000000000..361a04bfe5feb6e3e3c14b10ed19f9d3307bb8d3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d3f7157c1c1f94f4aaac6081e3449f9b
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMap.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMap.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7bf9a54e6a1cd7ffcc5212d4719a47c42f6e562f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMap.cs
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using Mapbox.Map;
+using Mapbox.Utils;
+using UnityEngine;
+
+namespace Mapbox.Unity.Map.Interfaces
+{
+	public interface IMap : IMapReadable, IMapWritable, IUnifiedMap { }
+
+	public interface IMapReadable
+	{
+		Vector2d CenterMercator { get; }
+		float WorldRelativeScale { get; }
+		Vector2d CenterLatitudeLongitude { get; }
+		/// <summary>
+		/// Gets the zoom value of the map.
+		/// This allows for zoom values in between actual zoom level "AbsoluteZoom" requested from the service.
+		/// </summary>
+		float Zoom { get; }
+		/// <summary>
+		/// Gets the zoom value at which the map was intialized.
+		/// </summary>
+		int InitialZoom { get; }
+		/// <summary>
+		/// Gets the zoom value at which the tiles will be requested from the service.
+		/// Use this only for calls which require an integer value of zoom to be passed in.
+		/// </summary>
+		int AbsoluteZoom { get; }
+		Transform Root { get; }
+		float UnityTileSize { get; }
+		Texture2D LoadingTexture { get; }
+		Material TileMaterial { get; }
+
+		HashSet<UnwrappedTileId> CurrentExtent { get; }
+		event Action OnInitialized;
+		event Action OnUpdated;
+		Vector2d WorldToGeoPosition(Vector3 realworldPoint);
+		Vector3 GeoToWorldPosition(Vector2d latitudeLongitude, bool queryHeight = true);
+	}
+
+	public interface IMapWritable
+	{
+		void SetCenterMercator(Vector2d centerMercator);
+		void SetCenterLatitudeLongitude(Vector2d centerLatitudeLongitude);
+		void SetZoom(float zoom);
+		void SetWorldRelativeScale(float scale);
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMap.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMap.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..33cb51e836a25193b6bb7b19beab99909e87d218
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMap.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d5a989744ad8746e5bc533ee230d00c6
+timeCreated: 1494990683
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapPlacementStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapPlacementStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..854c7e3a3c1c8f0bd3fad730804a7b1f2a6cb1cd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapPlacementStrategy.cs
@@ -0,0 +1,7 @@
+namespace Mapbox.Unity.Map.Interfaces
+{
+	public interface IMapPlacementStrategy
+	{
+		void SetUpPlacement(AbstractMap map);
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapPlacementStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapPlacementStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0013fa83b3cc9ec235369e444da66ec709ae1a6a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapPlacementStrategy.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: aa6c9ee2f3b546dc9df96694c85e82c5
+timeCreated: 1538658253
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapScalingStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapScalingStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..28cd7ca0a88ef7344b95ef2f4e6f5f2863ab0cdd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapScalingStrategy.cs
@@ -0,0 +1,7 @@
+namespace Mapbox.Unity.Map.Interfaces
+{
+	public interface IMapScalingStrategy
+	{
+		void SetUpScaling(AbstractMap map);
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapScalingStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapScalingStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1fe9db6e845d934daad7547242b6799364be93b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IMapScalingStrategy.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: a3d0db333c6d474aa152ccac7439e444
+timeCreated: 1538658226
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/ITileProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/ITileProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..35b73534740a21eb3a397926d8a917c10825d839
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/ITileProvider.cs
@@ -0,0 +1,42 @@
+using System;
+using Mapbox.Map;
+using Mapbox.Unity.Map.TileProviders;
+
+namespace Mapbox.Unity.Map.Interfaces
+{
+	public interface ITileProvider
+	{
+		event EventHandler<ExtentArgs> ExtentChanged;
+		ITileProviderOptions Options { get; }
+
+		// TODO: add cancel event?
+		// Alternatively, give mapvisualizer an object recycling strategy that can separately determine when to change gameobjects.
+		// This removal would essentially lead to a cancel request and nothing more.
+
+		void Initialize(IMap map);
+		// TODO: Maybe combine both these methods.
+		void SetOptions(ITileProviderOptions options);
+
+		// TODO: add reset/clear method?
+	}
+
+	public interface IUnifiedTileProvider
+	{
+		event Action<UnwrappedTileId> OnTileAdded;
+		event Action<UnwrappedTileId> OnTileRemoved;
+
+		// TODO: add cancel event?
+		// Alternatively, give mapvisualizer an object recycling strategy that can separately determine when to change gameobjects.
+		// This removal would essentially lead to a cancel request and nothing more.
+
+		void Initialize(IUnifiedMap map);
+
+		// TODO: add reset/clear method?
+	}
+	public class TileStateChangedEventArgs : EventArgs
+	{
+		public UnwrappedTileId TileId;
+	}
+
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/ITileProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/ITileProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eaabaca272614abdefcd7d360341880ff0d93396
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/ITileProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 21517bafda8f54be39ccf7c230b76f9c
+timeCreated: 1494606252
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IUnifiedMap.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IUnifiedMap.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1b52a99b387e8eefadee2f8718b51f8c675e88a5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IUnifiedMap.cs
@@ -0,0 +1,10 @@
+using Mapbox.Utils;
+
+namespace Mapbox.Unity.Map.Interfaces
+{
+	public interface IUnifiedMap
+	{
+		void UpdateMap(Vector2d latLon, float zoom);
+		void ResetMap();
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IUnifiedMap.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IUnifiedMap.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2f7430edd353777d710d8925a4e28d358802966c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Interfaces/IUnifiedMap.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: be115c5fdb26480791b43d27c2bc1bfb
+timeCreated: 1538657911
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/MapVisualizer.cs b/T3-Unity/Assets/Mapbox/Unity/Map/MapVisualizer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7172218a2dfbc0a38cbea6d064064eab916ff253
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/MapVisualizer.cs
@@ -0,0 +1,51 @@
+using Mapbox.Unity.Map.Interfaces;
+
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Map;
+
+	public enum ModuleState
+	{
+		Initialized,
+		Working,
+		Finished
+	}
+
+	public class AssignmentTypeAttribute : PropertyAttribute
+	{
+		public System.Type Type;
+
+		public AssignmentTypeAttribute(System.Type t)
+		{
+			Type = t;
+		}
+	}
+
+	/// <summary>
+	/// Map Visualizer
+	/// Represents a map.Doesn't contain much logic and at the moment, it creates requested tiles and relays them to the factories 
+	/// under itself.It has a caching mechanism to reuse tiles and does the tile positioning in unity world.
+	/// Later we'll most likely keep track of map features here as well to allow devs to query for features easier 
+	/// (i.e.query all buildings x meters around any restaurant etc).
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/MapVisualizer/BasicMapVisualizer")]
+	public class MapVisualizer : AbstractMapVisualizer
+	{
+		protected override void PlaceTile(UnwrappedTileId tileId, UnityTile tile, IMapReadable map)
+		{
+			var rect = tile.Rect;
+
+			// TODO: this is constant for all tiles--cache.
+			var scale = tile.TileScale;
+			var scaleFactor = Mathf.Pow(2, (map.InitialZoom - map.AbsoluteZoom));
+
+			var position = new Vector3(
+				(float)(rect.Center.x - map.CenterMercator.x) * scale * scaleFactor,
+				0,
+				(float)(rect.Center.y - map.CenterMercator.y) * scale * scaleFactor);
+			tile.transform.localPosition = position;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/MapVisualizer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/MapVisualizer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a38226d5733af30c96c8f31360b6725799860317
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/MapVisualizer.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 526c8a90df31d41fe8057a6f85c7a3e4
+timeCreated: 1494993890
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies.meta
new file mode 100644
index 0000000000000000000000000000000000000000..95d5279e3943e91fa80df25b50f73042e403e37d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 817a1846479397d458272568e8bb804f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtLocationCenterStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtLocationCenterStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1e13e9102426d3ed175db328b2fc302bb95a1e47
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtLocationCenterStrategy.cs
@@ -0,0 +1,13 @@
+using Mapbox.Unity.Map.Interfaces;
+using Mapbox.Unity.Utilities;
+
+namespace Mapbox.Unity.Map.Strategies
+{
+	public class MapPlacementAtLocationCenterStrategy : IMapPlacementStrategy
+	{
+		public void SetUpPlacement(AbstractMap map)
+		{
+			map.SetCenterMercator(Conversions.LatLonToMeters(map.CenterLatitudeLongitude));
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtLocationCenterStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtLocationCenterStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3bd8976cf65f1213f0d91a794e37592d8b81a638
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtLocationCenterStrategy.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d44d0606bd83495bab6d3da0a48ad090
+timeCreated: 1538658271
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtTileCenterStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtTileCenterStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ba395a5654b11088bb28039b8fedf3f70d6f9641
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtTileCenterStrategy.cs
@@ -0,0 +1,15 @@
+using Mapbox.Map;
+using Mapbox.Unity.Map.Interfaces;
+using Mapbox.Unity.Utilities;
+
+namespace Mapbox.Unity.Map.Strategies
+{
+	public class MapPlacementAtTileCenterStrategy : IMapPlacementStrategy
+	{
+		public void SetUpPlacement(AbstractMap map)
+		{
+			var referenceTileRect = Conversions.TileBounds(TileCover.CoordinateToTileId(map.CenterLatitudeLongitude, map.AbsoluteZoom));
+			map.SetCenterMercator(referenceTileRect.Center);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtTileCenterStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtTileCenterStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9c48310f9f4340b8a38e59d570c80a125d7843be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapPlacementAtTileCenterStrategy.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 559d97f03cf14bf79a007b09ad4f1336
+timeCreated: 1538658263
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtUnityScaleStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtUnityScaleStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fceaffdb4e05f59cc9fb06d26491780a46c2745c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtUnityScaleStrategy.cs
@@ -0,0 +1,15 @@
+using Mapbox.Map;
+using Mapbox.Unity.Map.Interfaces;
+using Mapbox.Unity.Utilities;
+
+namespace Mapbox.Unity.Map.Strategies
+{
+	public class MapScalingAtUnityScaleStrategy : IMapScalingStrategy
+	{
+		public void SetUpScaling(AbstractMap map)
+		{
+			var referenceTileRect = Conversions.TileBounds(TileCover.CoordinateToTileId(map.CenterLatitudeLongitude, map.AbsoluteZoom));
+			map.SetWorldRelativeScale((float)(map.Options.scalingOptions.unityTileSize / referenceTileRect.Size.x));
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtUnityScaleStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtUnityScaleStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b1e16264e496bba56727ba66ac8a5415def54c1b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtUnityScaleStrategy.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6f52911bb8a44f60a4ef4feb3602d386
+timeCreated: 1538658244
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtWorldScaleStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtWorldScaleStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..352379207820094d0927b388d25f62b4efc89c4f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtWorldScaleStrategy.cs
@@ -0,0 +1,14 @@
+using Mapbox.Unity.Map.Interfaces;
+using UnityEngine;
+
+namespace Mapbox.Unity.Map.Strategies
+{
+	public class MapScalingAtWorldScaleStrategy : IMapScalingStrategy
+	{
+		public void SetUpScaling(AbstractMap map)
+		{
+			var scaleFactor = Mathf.Pow(2, (map.AbsoluteZoom - map.InitialZoom));
+			map.SetWorldRelativeScale(scaleFactor * Mathf.Cos(Mathf.Deg2Rad * (float)map.CenterLatitudeLongitude.x));
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtWorldScaleStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtWorldScaleStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..acd4752f89f10cc40bd2b8cfce2e9f4a0394b76e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/Strategies/MapScalingAtWorldScaleStrategy.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: cc8da5d9c56144fc8758276cc931710e
+timeCreated: 1538658236
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders.meta b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8a8b99f1eaac3ae53df60dec46ceec6286d3ab57
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 59af73b59e6beff4abd67db34649e6e1
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/AbstractTileProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/AbstractTileProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..13c709d162b5cf3afd2acc5a6d9bb90847be3205
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/AbstractTileProvider.cs
@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using Mapbox.Map;
+using Mapbox.Unity.Map.Interfaces;
+using UnityEngine;
+
+namespace Mapbox.Unity.Map.TileProviders
+{
+	public class ExtentArgs : EventArgs
+	{
+		//TODO: Override GetHashCode for UnwrappedTileId
+		public HashSet<UnwrappedTileId> activeTiles;
+	}
+
+	public abstract class AbstractTileProvider : MonoBehaviour, ITileProvider
+	{
+		public event EventHandler<ExtentArgs> ExtentChanged;
+
+		protected IMap _map;
+		protected ExtentArgs _currentExtent = new ExtentArgs();
+
+		protected ITileProviderOptions _options;
+		public ITileProviderOptions Options
+		{
+			get
+			{
+				return _options;
+			}
+		}
+
+		public virtual void Initialize(IMap map)
+		{
+			_map = map;
+			OnInitialized();
+		}
+
+		public virtual void OnExtentChanged()
+		{
+			if (ExtentChanged != null)
+			{
+				ExtentChanged(this, _currentExtent);
+			}
+		}
+
+		public abstract void OnInitialized();
+		public abstract void UpdateTileExtent();
+
+		public abstract bool Cleanup(UnwrappedTileId tile);
+
+		public virtual void SetOptions(ITileProviderOptions options)
+		{
+			_options = options;
+		}
+
+		public virtual void UpdateTileProvider()
+		{
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/AbstractTileProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/AbstractTileProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7e236ce9cca5a7afff68aee9483982ab57432f5f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/AbstractTileProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b7386ebbea7d44bb29c2107b2c909409
+timeCreated: 1494606252
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/GlobeTileProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/GlobeTileProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2bd683e9ca85327759c4c3b6520bd316ab173640
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/GlobeTileProvider.cs
@@ -0,0 +1,34 @@
+using System.Collections.Generic;
+using Mapbox.Map;
+using Mapbox.Utils;
+
+namespace Mapbox.Unity.Map.TileProviders
+{
+	public class GlobeTileProvider : AbstractTileProvider
+	{
+		public override void OnInitialized()
+		{
+			_currentExtent.activeTiles = new HashSet<UnwrappedTileId>();
+		}
+
+		public override void UpdateTileExtent()
+		{
+			// HACK: don't allow too many tiles to be requested.
+			if (_map.AbsoluteZoom > 5)
+			{
+				throw new System.Exception("Too many tiles! Use a lower zoom level!");
+			}
+
+			var tileCover = TileCover.Get(Vector2dBounds.World(), _map.AbsoluteZoom);
+			foreach (var tile in tileCover)
+			{
+				_currentExtent.activeTiles.Add(new UnwrappedTileId(tile.Z, tile.X, tile.Y));
+			}
+			OnExtentChanged();
+		}
+		public override bool Cleanup(UnwrappedTileId tile)
+		{
+			return (!_currentExtent.activeTiles.Contains(tile));
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/GlobeTileProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/GlobeTileProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..77a33299d6bcaf0d390a689d0dc4d9887de9146f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/GlobeTileProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a718f313c2f574a4aad42d7b52867205
+timeCreated: 1500047799
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeMapVisualizer.cs b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeMapVisualizer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a0e4294f178035a5614892dd33062d65b06c95b9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeMapVisualizer.cs
@@ -0,0 +1,39 @@
+using Mapbox.Map;
+using Mapbox.Unity.Map.Interfaces;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.Utilities;
+using Mapbox.Utils;
+using UnityEngine;
+
+namespace Mapbox.Unity.Map.TileProviders
+{
+	//TODO : obsolete.
+	[CreateAssetMenu(menuName = "Mapbox/MapVisualizer/QuadTreeMapVisualizer")]
+	public class QuadTreeMapVisualizer : AbstractMapVisualizer
+	{
+		protected override void PlaceTile(UnwrappedTileId tileId, UnityTile tile, IMapReadable map)
+		{
+			//get the tile covering the center (Unity 0,0,0) of current extent
+			UnwrappedTileId centerTile = TileCover.CoordinateToTileId(map.CenterLatitudeLongitude, map.AbsoluteZoom);
+			//get center WebMerc corrdinates of tile covering the center (Unity 0,0,0)
+			Vector2d centerTileCenter = Conversions.TileIdToCenterWebMercator(centerTile.X, centerTile.Y, map.AbsoluteZoom);
+			//calculate distance between WebMerc center coordinates of center tile and WebMerc coordinates exactly at center
+			Vector2d shift = map.CenterMercator - centerTileCenter;
+			var unityTileSize = map.UnityTileSize;
+			// get factor at equator to avoid shifting errors at higher latitudes
+			float factor = Conversions.GetTileScaleInMeters(0f, map.AbsoluteZoom) * 256.0f / unityTileSize;
+			var scaleFactor = Mathf.Pow(2, (map.InitialZoom - map.AbsoluteZoom));
+
+			//position the tile relative to the center tile of the current viewport using the tile id
+			//multiply by tile size Unity units (unityTileScale)
+			//shift by distance of current viewport center to center of center tile
+			float shiftX = (float)shift.x / factor;
+			float shiftY = (float)shift.y / factor;
+			Vector3 position = new Vector3(
+				((tileId.X - centerTile.X) * unityTileSize - shiftX) * scaleFactor
+				, 0
+				, ((centerTile.Y - tileId.Y) * unityTileSize - shiftY) * scaleFactor);
+			tile.transform.localPosition = position;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeMapVisualizer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeMapVisualizer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..97c20790b4dd555f98a102fd899e6d18147db412
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeMapVisualizer.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1dfd965733118434481fedf30fa380c1
+timeCreated: 1508892338
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeTileProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeTileProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d91d2d16081c697010d0b2bdb17fa4b7920e733f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeTileProvider.cs
@@ -0,0 +1,200 @@
+using System;
+using System.Collections.Generic;
+using Mapbox.Map;
+using Mapbox.Unity.Utilities;
+using Mapbox.Utils;
+using UnityEngine;
+
+namespace Mapbox.Unity.Map.TileProviders
+{
+	public class QuadTreeTileProvider : AbstractTileProvider
+	{
+		private static readonly int HIT_POINTS_COUNT = 4;
+
+		private Plane _groundPlane;
+		private bool _shouldUpdate;
+		[SerializeField] private CameraBoundsTileProviderOptions _cbtpOptions;
+
+		private Vector2dBounds _viewPortWebMercBounds;
+
+		#region Tile decision and raycasting fields
+		private HashSet<UnwrappedTileId> _tiles;
+		private HashSet<CanonicalTileId> _canonicalTiles;
+
+		private Ray _ray00;
+		private Ray _ray01;
+		private Ray _ray10;
+		private Ray _ray11;
+		private Vector3[] _hitPnt = new Vector3[HIT_POINTS_COUNT];
+		private Vector2d[] _hitPntGeoPos = new Vector2d[HIT_POINTS_COUNT];
+		private bool _isFirstLoad;
+		#endregion
+
+		public override void OnInitialized()
+		{
+			_tiles = new HashSet<UnwrappedTileId>();
+			_canonicalTiles = new HashSet<CanonicalTileId>();
+			if (Options != null)
+			{
+				_cbtpOptions = (CameraBoundsTileProviderOptions)_options;
+			}
+			else
+			{
+				_cbtpOptions = new CameraBoundsTileProviderOptions();
+			}
+
+			if (_cbtpOptions.camera == null)
+			{
+				_cbtpOptions.camera = Camera.main;
+			}
+			_cbtpOptions.camera.transform.hasChanged = false;
+			_groundPlane = new Plane(Vector3.up, 0);
+			_shouldUpdate = true;
+			_currentExtent.activeTiles = new HashSet<UnwrappedTileId>();
+		}
+
+		public override void UpdateTileExtent()
+		{
+			if (!_shouldUpdate)
+			{
+				return;
+			}
+
+			//update viewport in case it was changed by switching zoom level
+			_viewPortWebMercBounds = getcurrentViewPortWebMerc();
+			_currentExtent.activeTiles = GetWithWebMerc(_viewPortWebMercBounds, _map.AbsoluteZoom);
+
+			OnExtentChanged();
+		}
+
+		public HashSet<UnwrappedTileId> GetWithWebMerc(Vector2dBounds bounds, int zoom)
+		{
+			_tiles.Clear();
+			_canonicalTiles.Clear();
+
+			if (bounds.IsEmpty()) { return _tiles; }
+
+			//stay within WebMerc bounds
+			Vector2d swWebMerc = new Vector2d(Math.Max(bounds.SouthWest.x, -Utils.Constants.WebMercMax), Math.Max(bounds.SouthWest.y, -Utils.Constants.WebMercMax));
+			Vector2d neWebMerc = new Vector2d(Math.Min(bounds.NorthEast.x, Utils.Constants.WebMercMax), Math.Min(bounds.NorthEast.y, Utils.Constants.WebMercMax));
+
+			UnwrappedTileId swTile = WebMercatorToTileId(swWebMerc, zoom);
+			UnwrappedTileId neTile = WebMercatorToTileId(neWebMerc, zoom);
+
+			for (int x = swTile.X; x <= neTile.X; x++)
+			{
+				for (int y = neTile.Y; y <= swTile.Y; y++)
+				{
+					UnwrappedTileId uwtid = new UnwrappedTileId(zoom, x, y);
+					//hack: currently too many tiles are created at lower zoom levels
+					//investigate formulas, this worked before
+					if (!_canonicalTiles.Contains(uwtid.Canonical))
+					{
+						_tiles.Add(uwtid);
+						_canonicalTiles.Add(uwtid.Canonical);
+					}
+				}
+			}
+
+			return _tiles;
+		}
+
+		public UnwrappedTileId WebMercatorToTileId(Vector2d webMerc, int zoom)
+		{
+			var tileCount = Math.Pow(2, zoom);
+
+			var dblX = webMerc.x / Utils.Constants.WebMercMax;
+			var dblY = webMerc.y / Utils.Constants.WebMercMax;
+
+			int x = (int)Math.Floor((1 + dblX) / 2 * tileCount);
+			int y = (int)Math.Floor((1 - dblY) / 2 * tileCount);
+			return new UnwrappedTileId(zoom, x, y);
+		}
+		private Vector2dBounds getcurrentViewPortWebMerc(bool useGroundPlane = true)
+		{
+			if (useGroundPlane)
+			{
+				// rays from camera to groundplane: lower left and upper right
+				_ray00 = _cbtpOptions.camera.ViewportPointToRay(new Vector3(0, 0));
+				_ray01 = _cbtpOptions.camera.ViewportPointToRay(new Vector3(0, 1));
+				_ray10 = _cbtpOptions.camera.ViewportPointToRay(new Vector3(1, 0));
+				_ray11 = _cbtpOptions.camera.ViewportPointToRay(new Vector3(1, 1));
+				_hitPnt[0] = getGroundPlaneHitPoint(_ray00);
+				_hitPnt[1] = getGroundPlaneHitPoint(_ray01);
+				_hitPnt[2] = getGroundPlaneHitPoint(_ray10);
+				_hitPnt[3] = getGroundPlaneHitPoint(_ray11);
+			}
+
+			// Find min max bounding box.
+			// TODO : Find a better way of doing this.
+			double minLat = double.MaxValue;
+			double minLong = double.MaxValue;
+			double maxLat = double.MinValue;
+			double maxLong = double.MinValue;
+
+			for (int pointIndex = 0; pointIndex < HIT_POINTS_COUNT; ++pointIndex)
+			{
+				_hitPntGeoPos[pointIndex] = _map.WorldToGeoPosition(_hitPnt[pointIndex]);
+			}
+
+			for (int i = 0; i < HIT_POINTS_COUNT; i++)
+			{
+				if (_hitPnt[i] == Vector3.zero)
+				{
+					continue;
+				}
+				else
+				{
+					if (minLat > _hitPntGeoPos[i].x)
+					{
+						minLat = _hitPntGeoPos[i].x;
+					}
+
+					if (minLong > _hitPntGeoPos[i].y)
+					{
+						minLong = _hitPntGeoPos[i].y;
+					}
+
+					if (maxLat < _hitPntGeoPos[i].x)
+					{
+						maxLat = _hitPntGeoPos[i].x;
+					}
+
+					if (maxLong < _hitPntGeoPos[i].y)
+					{
+						maxLong = _hitPntGeoPos[i].y;
+					}
+				}
+			}
+
+			Vector2d hitPntSWGeoPos = new Vector2d(minLat, minLong);
+			Vector2d hitPntNEGeoPos = new Vector2d(maxLat, maxLong);
+			Vector2dBounds tileBounds = new Vector2dBounds(Conversions.LatLonToMeters(hitPntSWGeoPos), Conversions.LatLonToMeters(hitPntNEGeoPos));         // Bounds debugging.
+#if UNITY_EDITOR
+			Debug.DrawLine(_cbtpOptions.camera.transform.position, _map.GeoToWorldPosition(hitPntSWGeoPos), Color.blue);
+			Debug.DrawLine(_cbtpOptions.camera.transform.position, _map.GeoToWorldPosition(hitPntNEGeoPos), Color.red);
+#endif
+			return tileBounds;
+		}
+		private Vector3 getGroundPlaneHitPoint(Ray ray)
+		{
+			float distance;
+			if (!_groundPlane.Raycast(ray, out distance)) { return Vector3.zero; }
+			return ray.GetPoint(distance);
+		}
+
+		public override void UpdateTileProvider()
+		{
+			if (_cbtpOptions != null && _cbtpOptions.camera != null && _cbtpOptions.camera.transform.hasChanged)
+			{
+				UpdateTileExtent();
+				_cbtpOptions.camera.transform.hasChanged = false;
+			}
+		}
+
+		public override bool Cleanup(UnwrappedTileId tile)
+		{
+			return (!_currentExtent.activeTiles.Contains(tile));
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeTileProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeTileProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2b5ea98ff91b5fed442b8597933e310a428c48b5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/QuadTreeTileProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 756a01a914208439d8d2fc8dcd68b229
+timeCreated: 1508278498
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeAroundTransformTileProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeAroundTransformTileProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1f6c2d38076dfead67f3fa7c20721a11887a980a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeAroundTransformTileProvider.cs
@@ -0,0 +1,84 @@
+using System.Collections.Generic;
+using Mapbox.Map;
+using UnityEngine;
+
+namespace Mapbox.Unity.Map.TileProviders
+{
+	public class RangeAroundTransformTileProvider : AbstractTileProvider
+	{
+		[SerializeField] private RangeAroundTransformTileProviderOptions _rangeTileProviderOptions;
+
+		private bool _initialized = false;
+		private UnwrappedTileId _currentTile;
+		private bool _waitingForTargetTransform = false;
+
+		public override void OnInitialized()
+		{
+			if (Options != null)
+			{
+				_rangeTileProviderOptions = (RangeAroundTransformTileProviderOptions)Options;
+			}
+			else if (_rangeTileProviderOptions == null)
+			{
+				_rangeTileProviderOptions = new RangeAroundTransformTileProviderOptions();
+			}
+
+			if (_rangeTileProviderOptions.targetTransform == null)
+			{
+				Debug.LogError("TransformTileProvider: No location marker transform specified.");
+				_waitingForTargetTransform = true;
+			}
+			else
+			{
+				_initialized = true;
+			}
+			_currentExtent.activeTiles = new HashSet<UnwrappedTileId>();
+			_map.OnInitialized += UpdateTileExtent;
+			_map.OnUpdated += UpdateTileExtent;
+		}
+
+		public override void UpdateTileExtent()
+		{
+			if (!_initialized) return;
+
+			_currentExtent.activeTiles.Clear();
+			_currentTile = TileCover.CoordinateToTileId(_map.WorldToGeoPosition(_rangeTileProviderOptions.targetTransform.localPosition), _map.AbsoluteZoom);
+
+			for (int x = _currentTile.X - _rangeTileProviderOptions.visibleBuffer; x <= (_currentTile.X + _rangeTileProviderOptions.visibleBuffer); x++)
+			{
+				for (int y = _currentTile.Y - _rangeTileProviderOptions.visibleBuffer; y <= (_currentTile.Y + _rangeTileProviderOptions.visibleBuffer); y++)
+				{
+					_currentExtent.activeTiles.Add(new UnwrappedTileId(_map.AbsoluteZoom, x, y));
+				}
+			}
+			OnExtentChanged();
+		}
+
+		public override void UpdateTileProvider()
+		{
+			if (_waitingForTargetTransform && !_initialized)
+			{
+				if (_rangeTileProviderOptions.targetTransform != null)
+				{
+					_initialized = true;
+				}
+			}
+
+			if (_rangeTileProviderOptions != null && _rangeTileProviderOptions.targetTransform != null && _rangeTileProviderOptions.targetTransform.hasChanged)
+			{
+				UpdateTileExtent();
+				_rangeTileProviderOptions.targetTransform.hasChanged = false;
+			}
+		}
+
+		public override bool Cleanup(UnwrappedTileId tile)
+		{
+			bool dispose = false;
+			dispose = tile.X > _currentTile.X + _rangeTileProviderOptions.disposeBuffer || tile.X < _currentTile.X - _rangeTileProviderOptions.disposeBuffer;
+			dispose = dispose || tile.Y > _currentTile.Y + _rangeTileProviderOptions.disposeBuffer || tile.Y < _currentTile.Y - _rangeTileProviderOptions.disposeBuffer;
+
+
+			return (dispose);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeAroundTransformTileProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeAroundTransformTileProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4b8f07c24f14732f464ca62dadc10d485cb90cbd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeAroundTransformTileProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 15eed3c0528a3498dae4ff8f7b8ae77f
+timeCreated: 1505936421
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeTileProvider.cs b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeTileProvider.cs
new file mode 100644
index 0000000000000000000000000000000000000000..801a50da36028353d837613a0586fc8f621f4231
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeTileProvider.cs
@@ -0,0 +1,53 @@
+using System.Collections.Generic;
+using Mapbox.Map;
+
+namespace Mapbox.Unity.Map.TileProviders
+{
+	public class RangeTileProvider : AbstractTileProvider
+	{
+		private RangeTileProviderOptions _rangeTileProviderOptions;
+		private bool _initialized = false;
+
+		public override void OnInitialized()
+		{
+			if (Options != null)
+			{
+				_rangeTileProviderOptions = (RangeTileProviderOptions)Options;
+			}
+			else
+			{
+				_rangeTileProviderOptions = new RangeTileProviderOptions();
+			}
+
+			_initialized = true;
+			_currentExtent.activeTiles = new HashSet<UnwrappedTileId>();
+		}
+
+		public override void UpdateTileExtent()
+		{
+			if (!_initialized || _rangeTileProviderOptions == null)
+			{
+				return;
+			}
+
+			_currentExtent.activeTiles.Clear();
+			var centerTile = TileCover.CoordinateToTileId(_map.CenterLatitudeLongitude, _map.AbsoluteZoom);
+			_currentExtent.activeTiles.Add(new UnwrappedTileId(_map.AbsoluteZoom, centerTile.X, centerTile.Y));
+
+			for (int x = (centerTile.X - _rangeTileProviderOptions.west); x <= (centerTile.X + _rangeTileProviderOptions.east); x++)
+			{
+				for (int y = (centerTile.Y - _rangeTileProviderOptions.north); y <= (centerTile.Y + _rangeTileProviderOptions.south); y++)
+				{
+					_currentExtent.activeTiles.Add(new UnwrappedTileId(_map.AbsoluteZoom, x, y));
+				}
+			}
+
+			OnExtentChanged();
+		}
+		public override bool Cleanup(UnwrappedTileId tile)
+		{
+			return (!_currentExtent.activeTiles.Contains(tile));
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeTileProvider.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeTileProvider.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2092cd42a2ad1b61ceb1e42cc353ea8ecb32c421
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/RangeTileProvider.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7d7ff8ed3b76a4ee5a451d64a5393e3f
+timeCreated: 1494606252
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/TileErrorHandler.cs b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/TileErrorHandler.cs
new file mode 100644
index 0000000000000000000000000000000000000000..96d7f8809a93df5ddfd2630b999cb5bc189edee1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/TileErrorHandler.cs
@@ -0,0 +1,94 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Mapbox.Map;
+using UnityEngine;
+using UnityEngine.Events;
+
+namespace Mapbox.Unity.Map.TileProviders
+{
+	/// <summary>
+	/// Monobehavior Script to handle TileErrors.
+	/// There's an OnTileError event on AbstractMapVisualizer, AbstractTileFactory and UnityTile classes that one can subscribe to to listen to tile errors
+	/// </summary>
+	public class TileErrorHandler : MonoBehaviour
+	{
+
+		[SerializeField]
+		private AbstractMap _mapInstance;
+		public TileErrorEvent OnTileError;
+
+
+		protected virtual void OnEnable()
+		{
+			if (_mapInstance == null)
+			{
+				_mapInstance = GetComponent<AbstractMap>();
+			}
+
+			_mapInstance.OnInitialized += MapInstance_OnInitialized;
+		}
+
+
+		private void MapInstance_OnInitialized()
+		{
+			_mapInstance.OnInitialized -= MapInstance_OnInitialized;
+			_mapInstance.MapVisualizer.OnTileError += _OnTileErrorHandler;
+		}
+
+
+		private void _OnTileErrorHandler(object sender, TileErrorEventArgs e)
+		{
+			// check if request has been aborted: show warning not error
+			if (e.Exceptions.Count > 0)
+			{
+				// 1. aborted is always the first exception
+				//    additional exceptions are always caused by the request being aborted
+				//    show all of them as warnings
+				// 2. 'Unable to write data' is another exception associated
+				//    with aborted requests: request finshed successfully but
+				//    was aborted during filling of local buffer, also show as warning
+				if (
+					e.Exceptions[0].Message.Contains("Request aborted")
+					|| e.Exceptions[0].Message.Equals("Unable to write data")
+				)
+				{
+					Debug.LogWarning(printMessage(e.Exceptions, e));
+				}
+				else
+				{
+					Debug.LogError(printMessage(e.Exceptions, e));
+				}
+			}
+
+			if (OnTileError != null)
+			{
+				OnTileError.Invoke(e);
+			}
+		}
+
+
+		private string printMessage(List<Exception> exceptions, TileErrorEventArgs e)
+		{
+			return string.Format(
+				"{0} Exception(s) caused on the tile. Tile ID:{1} Tile Type:{4}{2}{3}"
+				, exceptions.Count
+				, e.TileId
+				, Environment.NewLine
+				, string.Join(Environment.NewLine, exceptions.Select(ex => ex.Message).ToArray())
+				, e.TileType
+			);
+		}
+
+
+		protected virtual void OnDisable()
+		{
+			_mapInstance.MapVisualizer.OnTileError -= _OnTileErrorHandler;
+		}
+	}
+
+
+	[System.Serializable]
+	public class TileErrorEvent : UnityEvent<TileErrorEventArgs> { }
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/TileErrorHandler.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/TileErrorHandler.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f6d297d9e39f819cde20f84c537c99cbc21e92d4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Map/TileProviders/TileErrorHandler.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 76a256726e16d4966a3f30b97a17e1d5
+timeCreated: 1509146285
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MapboxAccess.cs b/T3-Unity/Assets/Mapbox/Unity/MapboxAccess.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9e9d19a27c6fafde7005dd52a58c8da6188f8803
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MapboxAccess.cs
@@ -0,0 +1,345 @@
+using MapboxAccountsUnity;
+
+namespace Mapbox.Unity
+{
+	using UnityEngine;
+	using System;
+	using System.IO;
+	using Mapbox.Geocoding;
+	using Mapbox.Directions;
+	using Mapbox.Platform;
+	using Mapbox.Platform.Cache;
+	using Mapbox.Unity.Telemetry;
+	using Mapbox.Map;
+	using Mapbox.MapMatching;
+	using Mapbox.Tokens;
+	using Mapbox.Platform.TilesetTileJSON;
+
+	/// <summary>
+	/// Object for retrieving an API token and making http requests.
+	/// Contains a lazy <see cref="T:Mapbox.Geocoding.Geocoder">Geocoder</see> and a lazy <see cref="T:Mapbox.Directions.Directions">Directions</see> for convenience.
+	/// </summary>
+	public class MapboxAccess : IFileSource
+	{
+		ITelemetryLibrary _telemetryLibrary;
+		CachingWebFileSource _fileSource;
+
+		public delegate void TokenValidationEvent(MapboxTokenStatus response);
+		public event TokenValidationEvent OnTokenValidation;
+
+		private static MapboxAccess _instance;
+
+		/// <summary>
+		/// The singleton instance.
+		/// </summary>
+		public static MapboxAccess Instance
+		{
+			get
+			{
+				if (_instance == null)
+				{
+					_instance = new MapboxAccess();
+				}
+				return _instance;
+			}
+		}
+
+
+		public static bool Configured;
+		public static string ConfigurationJSON;
+		private MapboxConfiguration _configuration;
+		private string _tokenNotSetErrorMessage = "No configuration file found! Configure your access token from the Mapbox > Setup menu.";
+
+		/// <summary>
+		/// The Mapbox API access token.
+		/// </summary>
+		public MapboxConfiguration Configuration
+		{
+			get
+			{
+				return _configuration;
+			}
+		}
+
+		MapboxAccess()
+		{
+			LoadAccessToken();
+			if (null == _configuration || string.IsNullOrEmpty(_configuration.AccessToken))
+			{
+				Debug.LogError(_tokenNotSetErrorMessage);
+			}
+		}
+
+		public void SetConfiguration(MapboxConfiguration configuration, bool throwExecptions = true)
+		{
+			if (configuration == null)
+			{
+				if (throwExecptions)
+				{
+					throw new InvalidTokenException(_tokenNotSetErrorMessage);
+				}
+
+			}
+
+			if (null == configuration || string.IsNullOrEmpty(configuration.AccessToken))
+			{
+				Debug.LogError(_tokenNotSetErrorMessage);
+			}
+			else
+			{
+				TokenValidator.Retrieve(configuration.GetMapsSkuToken, configuration.AccessToken, (response) =>
+				{
+					if (OnTokenValidation != null)
+					{
+						OnTokenValidation(response.Status);
+					}
+
+					if (response.Status != MapboxTokenStatus.TokenValid
+					   && throwExecptions)
+					{
+						configuration.AccessToken = string.Empty;
+						Debug.LogError(new InvalidTokenException(response.Status.ToString().ToString()));
+					}
+				});
+
+				_configuration = configuration;
+
+				ConfigureFileSource();
+				ConfigureTelemetry();
+
+				Configured = true;
+			}
+		}
+
+
+		public void ClearAllCacheFiles()
+		{
+			// explicity call Clear() to close any connections that might be referenced by the current scene
+			CachingWebFileSource cwfs = _fileSource as CachingWebFileSource;
+			if (null != cwfs) { cwfs.Clear(); }
+
+			// remove all left over files (eg orphaned .journal) from the cache directory
+			string cacheDirectory = Path.Combine(Application.persistentDataPath, "cache");
+			if (!Directory.Exists(cacheDirectory)) { return; }
+
+			foreach (var file in Directory.GetFiles(cacheDirectory))
+			{
+				try
+				{
+					File.Delete(file);
+				}
+				catch (Exception deleteEx)
+				{
+					Debug.LogErrorFormat("Could not delete [{0}]: {1}", file, deleteEx);
+				}
+			}
+
+			//reinit caches after clear
+			if (null != cwfs) { cwfs.ReInit(); }
+
+			Debug.Log("done clearing caches");
+		}
+
+		/// <summary>
+		/// Loads the access token from <see href="https://docs.unity3d.com/Manual/BestPracticeUnderstandingPerformanceInUnity6.html">Resources folder</see>.
+		/// </summary>
+		private void LoadAccessToken()
+		{
+
+			if (string.IsNullOrEmpty(ConfigurationJSON))
+			{
+				TextAsset configurationTextAsset = Resources.Load<TextAsset>(Constants.Path.MAPBOX_RESOURCES_RELATIVE);
+				if (null == configurationTextAsset)
+				{
+					throw new InvalidTokenException(_tokenNotSetErrorMessage);
+				}
+				ConfigurationJSON = configurationTextAsset.text;
+			}
+
+#if !WINDOWS_UWP
+			var test = JsonUtility.FromJson<MapboxConfiguration>(ConfigurationJSON);
+			SetConfiguration(ConfigurationJSON == null ? null : test);
+#else
+			SetConfiguration(ConfigurationJSON == null ? null : Mapbox.Json.JsonConvert.DeserializeObject<MapboxConfiguration>(ConfigurationJSON));
+#endif
+		}
+
+
+		void ConfigureFileSource()
+		{
+			_fileSource = new CachingWebFileSource(_configuration.AccessToken, _configuration.GetMapsSkuToken, _configuration.AutoRefreshCache)
+				.AddCache(new MemoryCache(_configuration.MemoryCacheSize))
+#if !UNITY_WEBGL
+				.AddCache(new SQLiteCache(_configuration.FileCacheSize))
+#endif
+				;
+		}
+
+
+		void ConfigureTelemetry()
+		{
+			// TODO: enable after token validation has been made async
+			//if (
+			//	null == _configuration
+			//	|| string.IsNullOrEmpty(_configuration.AccessToken)
+			//	|| !_tokenValid
+			//)
+			//{
+			//	Debug.LogError(_tokenNotSetErrorMessage);
+			//	return;
+			//}
+			try
+			{
+				_telemetryLibrary = TelemetryFactory.GetTelemetryInstance();
+				_telemetryLibrary.Initialize(_configuration.AccessToken);
+				_telemetryLibrary.SetLocationCollectionState(GetTelemetryCollectionState());
+				_telemetryLibrary.SendTurnstile();
+			}
+			catch (Exception ex)
+			{
+				Debug.LogErrorFormat("Error initializing telemetry: {0}", ex);
+			}
+		}
+
+		public void SetLocationCollectionState(bool enable)
+		{
+			PlayerPrefs.SetInt(Constants.Path.SHOULD_COLLECT_LOCATION_KEY, (enable ? 1 : 0));
+			PlayerPrefs.Save();
+			_telemetryLibrary.SetLocationCollectionState(enable);
+		}
+
+		bool GetTelemetryCollectionState()
+		{
+			if (!PlayerPrefs.HasKey(Constants.Path.SHOULD_COLLECT_LOCATION_KEY))
+			{
+				PlayerPrefs.SetInt(Constants.Path.SHOULD_COLLECT_LOCATION_KEY, 1);
+			}
+			return PlayerPrefs.GetInt(Constants.Path.SHOULD_COLLECT_LOCATION_KEY) != 0;
+		}
+
+		/// <summary>
+		/// Makes an asynchronous url query.
+		/// </summary>
+		/// <returns>The request.</returns>
+		/// <param name="url">URL.</param>
+		/// <param name="callback">Callback.</param>
+		public IAsyncRequest Request(
+			string url
+			, Action<Response> callback
+			, int timeout = 10
+			, CanonicalTileId tileId = new CanonicalTileId()
+			, string tilesetId = null
+		)
+		{
+			return _fileSource.Request(url, callback, _configuration.DefaultTimeout, tileId, tilesetId);
+		}
+
+
+		Geocoder _geocoder;
+		/// <summary>
+		/// Lazy geocoder.
+		/// </summary>
+		public Geocoder Geocoder
+		{
+			get
+			{
+				if (_geocoder == null)
+				{
+					_geocoder = new Geocoder(new FileSource(Instance.Configuration.GetMapsSkuToken, _configuration.AccessToken));
+				}
+				return _geocoder;
+			}
+		}
+
+
+		Directions _directions;
+		/// <summary>
+		/// Lazy Directions.
+		/// </summary>
+		public Directions Directions
+		{
+			get
+			{
+				if (_directions == null)
+				{
+					_directions = new Directions(new FileSource(Instance.Configuration.GetMapsSkuToken, _configuration.AccessToken));
+				}
+				return _directions;
+			}
+		}
+
+		MapMatcher _mapMatcher;
+		/// <summary>
+		/// Lazy Map Matcher.
+		/// </summary>
+		public MapMatcher MapMatcher
+		{
+			get
+			{
+				if (_mapMatcher == null)
+				{
+					_mapMatcher = new MapMatcher(new FileSource(Instance.Configuration.GetMapsSkuToken, _configuration.AccessToken), _configuration.DefaultTimeout);
+				}
+				return _mapMatcher;
+			}
+		}
+
+
+		MapboxTokenApi _tokenValidator;
+		/// <summary>
+		/// Lazy token validator.
+		/// </summary>
+		public MapboxTokenApi TokenValidator
+		{
+			get
+			{
+				if (_tokenValidator == null)
+				{
+					_tokenValidator = new MapboxTokenApi();
+				}
+				return _tokenValidator;
+			}
+		}
+
+
+		TileJSON _tileJson;
+		/// <summary>
+		/// Lazy TileJSON wrapper: https://www.mapbox.com/api-documentation/maps/#retrieve-tilejson-metadata
+		/// </summary>
+		public TileJSON TileJSON
+		{
+			get
+			{
+				if (_tileJson == null)
+				{
+					_tileJson = new TileJSON(new FileSource(Instance.Configuration.GetMapsSkuToken, _configuration.AccessToken), _configuration.DefaultTimeout);
+				}
+				return _tileJson;
+			}
+		}
+
+
+		class InvalidTokenException : Exception
+		{
+			public InvalidTokenException(string message) : base(message)
+			{
+			}
+		}
+	}
+
+	public class MapboxConfiguration
+	{
+		[NonSerialized] private MapboxAccounts mapboxAccounts = new MapboxAccounts();
+
+		public string AccessToken;
+		public uint MemoryCacheSize = 500;
+		public uint FileCacheSize = 2500;
+		public int DefaultTimeout = 30;
+		public bool AutoRefreshCache = false;
+
+		public string GetMapsSkuToken()
+		{
+			return mapboxAccounts.ObtainMapsSkuUserToken(Application.persistentDataPath);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MapboxAccess.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MapboxAccess.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..30f8ebd36da3412ae86c89cd77f306cfa169c2d8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MapboxAccess.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8c3bd591a7b63402c83aad317ef9e792
+timeCreated: 1490211946
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9b33ec4f99dd1a7d1ab813458188b4b12eb05fc5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 933a67253473ab549ad28250c28bedf8
+folderAsset: yes
+timeCreated: 1485206216
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3fc9809f5d806db99ce3487ebd6fb313605304b3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b418c0cc9fb9f92448750e73736cb2e2
+folderAsset: yes
+timeCreated: 1485208035
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/FeatureBehaviour.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/FeatureBehaviour.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fae0171446acecaf62a54c4bc29d1bfa6c33cfea
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/FeatureBehaviour.cs
@@ -0,0 +1,49 @@
+namespace Mapbox.Unity.MeshGeneration.Components
+{
+	using UnityEngine;
+	using System.Linq;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+
+	public class FeatureBehaviour : MonoBehaviour
+	{
+		public VectorEntity VectorEntity;
+		public Transform Transform;
+		public VectorFeatureUnity Data;
+
+		[Multiline(5)]
+		public string DataString;
+
+		public void ShowDebugData()
+		{
+			DataString = string.Join("\r\n", Data.Properties.Select(x => x.Key + " - " + x.Value.ToString()).ToArray());
+		}
+
+		public void ShowDataPoints()
+		{
+			foreach (var item in VectorEntity.Feature.Points)
+			{
+				for (int i = 0; i < item.Count; i++)
+				{
+					var go = GameObject.CreatePrimitive(PrimitiveType.Sphere);
+					go.name = i.ToString();
+					go.transform.SetParent(transform, false);
+					go.transform.localPosition = item[i];
+				}
+			}
+		}
+
+		public void Initialize(VectorEntity ve)
+		{
+			VectorEntity = ve;
+			Transform = transform;
+			Data = ve.Feature;
+		}
+
+		public void Initialize(VectorFeatureUnity feature)
+		{
+			Transform = transform;
+			Data = feature;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/FeatureBehaviour.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/FeatureBehaviour.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2ce54e5fe1fb1b141e83636d8b0bfe1fa6fc1479
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/FeatureBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1dd19505b960fb645953659207ca4bef
+timeCreated: 1485208038
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/TextureSelector.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/TextureSelector.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dbdd0249aa4ab5ba69fcc8353169121c6bb2d2ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/TextureSelector.cs
@@ -0,0 +1,60 @@
+namespace Mapbox.Unity.MeshGeneration.Components
+{
+    using UnityEngine;
+    using Random = UnityEngine.Random;
+    using Mapbox.Unity.MeshGeneration.Data;
+
+    [RequireComponent(typeof(MeshRenderer))]
+    public class TextureSelector : MonoBehaviour
+    {
+        private bool _useSatelliteRoof;
+        private bool _textureTop;
+        private bool _textureSides;
+
+        private UnityTile _tile;
+        private MeshRenderer _meshRenderer;
+        private Material[] _topTextures;
+        private Material[] _sideTextures;
+
+        public void Initialize(VectorEntity ve, bool doTextureTop, bool useSatelliteRoof, Material[] topTextures, bool doTextureSides, Material[] sideTextures)
+        {
+            _useSatelliteRoof = useSatelliteRoof;
+            _textureTop = doTextureTop;
+            _textureSides = doTextureSides;
+
+            _tile = GetComponent<UnityTile>();
+            var t = transform;
+            while (_tile == null && t.parent != null)
+            {
+                t = t.parent;
+                _tile = t.GetComponent<UnityTile>();
+            }
+            _topTextures = topTextures;
+            _sideTextures = sideTextures;
+            _meshRenderer = GetComponent<MeshRenderer>();
+
+            if (_textureSides && _sideTextures.Length > 0)
+            {
+                _meshRenderer.materials = new Material[2]
+                {
+                _topTextures[Random.Range(0, _topTextures.Length)],
+                _sideTextures[Random.Range(0, _sideTextures.Length)]
+                };
+            }
+            else if (_textureTop)
+            {
+                _meshRenderer.materials = new Material[1]
+               {
+                _topTextures[Random.Range(0, _topTextures.Length)]
+               };
+            }
+
+            if (_useSatelliteRoof)
+            {
+				_meshRenderer.materials[0].mainTexture = _tile.GetRasterData();
+                _meshRenderer.materials[0].mainTextureScale = new Vector2(1f, 1f);
+            }
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/TextureSelector.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/TextureSelector.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d5fb708c22678b0cad1b2f12713b8f8d9b54a18b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/TextureSelector.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 97464c54f6d369444b297e02ee300633
+timeCreated: 1485208041
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebugger.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebugger.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8ef5804106caa067fdd6eb8d967f1ef039a3e55d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebugger.cs
@@ -0,0 +1,39 @@
+namespace Mapbox.Unity.MeshGeneration.Components
+{
+	using UnityEngine;
+
+	public class VertexDebugger : MonoBehaviour
+	{
+		[Multiline(10)]
+		public string Triangles;
+		[Multiline(10)]
+		public string Tangents;
+
+		protected virtual void Start()
+		{
+			var mf = GetComponent<MeshFilter>();
+			if (mf)
+			{
+				var mesh = mf.mesh;
+				var verts = mesh.vertices;
+				var tang = mesh.tangents;
+				for (int i = 0; i < verts.Length; i++)
+				{
+					var go = GameObject.CreatePrimitive(PrimitiveType.Sphere);
+					go.name = i.ToString();
+					go.transform.SetParent(transform, false);
+					go.transform.localPosition = verts[i];
+
+					Debug.DrawLine(transform.position + verts[i], transform.position + verts[i] + new Vector3(tang[i].x, tang[i].y, tang[i].z) * .5f, Color.red, 10000);
+				}
+				var tris = mesh.triangles;
+				Triangles = "";
+				for (int i = 0; i < tris.Length; i += 3)
+				{
+					Triangles += tris[i] + "," + tris[i + 1] + "," + tris[i + 2] + "\r\n";
+				}
+			}
+		}
+		
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebugger.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebugger.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9d3aca9db95c156848f4c41e2fb57ecee5d5c675
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebugger.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 74c6dd1076bc8954dad41ed4206c598d
+timeCreated: 1499870729
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebuggerGizmo.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebuggerGizmo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e8a97c1aa1bd3c3b8160a02ca5f98a503866ffd1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebuggerGizmo.cs
@@ -0,0 +1,48 @@
+using UnityEngine;
+
+namespace Mapbox.Unity.MeshGeneration.Components
+{
+	public class VertexDebuggerGizmo : MonoBehaviour
+	{
+#if UNITY_EDITOR
+		[SerializeField]
+		float _radius = .2f;
+
+		[SerializeField]
+		Color _color = new Color(0, 1, 0, .5f);
+
+		[Multiline(10)]
+		public string Triangles;
+
+		Mesh _mesh;
+
+		protected virtual void Start()
+		{
+			var mf = GetComponent<MeshFilter>();
+			if (mf)
+			{
+				_mesh = mf.mesh;
+				var tris = _mesh.triangles;
+				Triangles = "";
+				for (int i = 0; i < tris.Length; i += 3)
+				{
+					Triangles += tris[i] + "," + tris[i + 1] + "," + tris[i + 2] + "\r\n";
+				}
+			}
+		}
+
+		protected virtual void OnDrawGizmosSelected()
+		{
+			if (_mesh)
+			{
+				var verts = _mesh.vertices;
+				for (int i = 0; i < verts.Length; i++)
+				{
+					Gizmos.color = _color;
+					Gizmos.DrawWireCube(transform.position + verts[i] * transform.lossyScale.x, Vector3.one * _radius);
+				}
+			}
+		}
+#endif
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebuggerGizmo.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebuggerGizmo.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bbec4501ab432c60bd038b67683cbb1f1a0e5cba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Components/VertexDebuggerGizmo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c4b8220219b204a288d4b67600489e3f
+timeCreated: 1499870729
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7f7054ced5e1294cbe6b7fd8d68389cce05cce63
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4b95895b4bbc4844cade47f970759aa5
+folderAsset: yes
+timeCreated: 1485207080
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/AtlasInfo.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/AtlasInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0c6cdad6f803a786cfdb6f592db6beda2b820863
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/AtlasInfo.cs
@@ -0,0 +1,89 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Events;
+
+namespace Mapbox.Unity.MeshGeneration.Data
+{
+	[Serializable]
+	public class AtlasEntity
+	{
+		public Rect TextureRect;
+		public int MidFloorCount;
+		public float ColumnCount;
+
+		public float TopSectionRatio;
+		public float BottomSectionRatio;
+
+		public int PreferredEdgeSectionLength = 10;
+		public float FloorHeight;
+		public float FirstFloorHeight;
+		public float TopFloorHeight;
+		
+		[HideInInspector] public float bottomOfTopUv;
+		[HideInInspector] public float topOfMidUv;
+		[HideInInspector] public float topOfBottomUv;
+		[HideInInspector] public float midUvHeight;
+		[HideInInspector] public float WallToFloorRatio;
+
+		public void CalculateParameters()
+		{
+			bottomOfTopUv = TextureRect.yMax - (TextureRect.size.y * TopSectionRatio);
+			topOfMidUv = TextureRect.yMax - (TextureRect.height * TopSectionRatio);
+			topOfBottomUv = TextureRect.yMin + (TextureRect.size.y * BottomSectionRatio);
+			midUvHeight = TextureRect.height * (1 - TopSectionRatio - BottomSectionRatio);
+			WallToFloorRatio = (1 - TopSectionRatio - BottomSectionRatio) * (TextureRect.height / TextureRect.width);
+		}
+	}
+
+	public enum AtlasEntityType
+	{
+		TextureBased,
+		MeshGenBased
+	}
+
+	[CreateAssetMenu(menuName = "Mapbox/AtlasInfo")]
+	public class AtlasInfo : ScriptableObject
+	{
+		public List<AtlasEntity> Textures;
+		public List<AtlasEntity> Roofs;
+
+        private UnityEvent m_OnValidate = new UnityEvent();
+
+		public AtlasEntityType AtlasEntityType;
+
+        public void AddOnValidateEvent(UnityAction action)
+        {
+            m_OnValidate.AddListener(action);
+        }
+
+        protected virtual void OnValidate()
+        {
+            if(m_OnValidate != null)
+            {
+                m_OnValidate.Invoke();
+            }
+
+			if(AtlasEntityType == AtlasEntityType.TextureBased)
+			{
+				foreach (var tex in Textures)
+				{
+
+					tex.FirstFloorHeight = tex.PreferredEdgeSectionLength * ((tex.TextureRect.height * tex.BottomSectionRatio) / tex.TextureRect.width);
+					tex.TopFloorHeight = tex.PreferredEdgeSectionLength * ((tex.TextureRect.height * tex.TopSectionRatio) / tex.TextureRect.width);
+					tex.FloorHeight = tex.PreferredEdgeSectionLength * ((1 - tex.TopSectionRatio - tex.BottomSectionRatio) * (tex.TextureRect.height / tex.TextureRect.width));
+				}
+			}
+			else
+			{
+				foreach (var tex in Textures)
+				{
+					tex.BottomSectionRatio = (tex.FirstFloorHeight / tex.PreferredEdgeSectionLength) * tex.TextureRect.width / tex.TextureRect.height;
+					tex.TopSectionRatio = (tex.TopFloorHeight / tex.PreferredEdgeSectionLength) * tex.TextureRect.width / tex.TextureRect.height;
+				}
+			}
+			
+        }
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/AtlasInfo.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/AtlasInfo.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b01de5c749fe76107ea55066fa8659ae9a1c33b8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/AtlasInfo.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 48879146f3ce9fb4abc113a9a2bb8e0a
+timeCreated: 1515082410
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/FeatureCollectionBase.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/FeatureCollectionBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1592df2cc5d5d736e259bf43ca385a1b7858ab93
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/FeatureCollectionBase.cs
@@ -0,0 +1,19 @@
+namespace Mapbox.Unity.MeshGeneration
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine;
+
+	public class FeatureCollectionBase : ScriptableObject
+	{
+		public virtual void Initialize()
+		{
+
+		}
+
+		public virtual void AddFeature(double[] position, VectorEntity ve)
+		{
+
+		}
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/FeatureCollectionBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/FeatureCollectionBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..302e484494b0592f822a5d53dedb8bf3cfa75ebf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/FeatureCollectionBase.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4d7c8347fa9db194e99888f8337ed5e2
+timeCreated: 1516628160
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f0251aa1983cd32db218a621d8c4513027227caa
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4f15de9092560a644913bb912f5642ec
+folderAsset: yes
+timeCreated: 1519738933
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/DistanceFunctions.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/DistanceFunctions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..84fae227802347a4b31c6af12b9d21ca9e1a0f68
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/DistanceFunctions.cs
@@ -0,0 +1,77 @@
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace KDTree
+{
+    /// <summary>
+    /// An interface which enables flexible distance functions.
+    /// </summary>
+    public interface DistanceFunctions
+    {
+        /// <summary>
+        /// Compute a distance between two n-dimensional points.
+        /// </summary>
+        /// <param name="p1">The first point.</param>
+        /// <param name="p2">The second point.</param>
+        /// <returns>The n-dimensional distance.</returns>
+        double Distance(double[] p1, double[] p2);
+
+        /// <summary>
+        /// Find the shortest distance from a point to an axis aligned rectangle in n-dimensional space.
+        /// </summary>
+        /// <param name="point">The point of interest.</param>
+        /// <param name="min">The minimum coordinate of the rectangle.</param>
+        /// <param name="max">The maximum coorindate of the rectangle.</param>
+        /// <returns>The shortest n-dimensional distance between the point and rectangle.</returns>
+        double DistanceToRectangle(double[] point, double[] min, double[] max);
+    }
+
+    /// <summary>
+    /// A distance function for our KD-Tree which returns squared euclidean distances.
+    /// </summary>
+    public class SquareEuclideanDistanceFunction : DistanceFunctions
+    {
+        /// <summary>
+        /// Find the squared distance between two n-dimensional points.
+        /// </summary>
+        /// <param name="p1">The first point.</param>
+        /// <param name="p2">The second point.</param>
+        /// <returns>The n-dimensional squared distance.</returns>
+        public double Distance(double[] p1, double[] p2)
+        {
+            double fSum = 0;
+            for (int i = 0; i < p1.Length; i++)
+            {
+                double fDifference = (p1[i] - p2[i]);
+                fSum += fDifference * fDifference;
+            }
+            return fSum;
+        }
+
+        /// <summary>
+        /// Find the shortest distance from a point to an axis aligned rectangle in n-dimensional space.
+        /// </summary>
+        /// <param name="point">The point of interest.</param>
+        /// <param name="min">The minimum coordinate of the rectangle.</param>
+        /// <param name="max">The maximum coorindate of the rectangle.</param>
+        /// <returns>The shortest squared n-dimensional squared distance between the point and rectangle.</returns>
+        public double DistanceToRectangle(double[] point, double[] min, double[] max)
+        {
+            double fSum = 0;
+            double fDifference = 0;
+            for (int i = 0; i < point.Length; ++i)
+            {
+                fDifference = 0;
+                if (point[i] > max[i])
+                    fDifference = (point[i] - max[i]);
+                else if (point[i] < min[i])
+                    fDifference = (point[i] - min[i]);
+                fSum += fDifference * fDifference;
+            }
+            return fSum;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/DistanceFunctions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/DistanceFunctions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d79dbe794ebcffe420ad13ff66248ab25d2257e4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/DistanceFunctions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 1a40f078f2196e048b6b95fcc9738e90
+timeCreated: 1516636092
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/IntervalHeap.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/IntervalHeap.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a7a20b328c58394bfe9bc927f402ae62f5ae4577
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/IntervalHeap.cs
@@ -0,0 +1,474 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace KDTree
+{
+    /// <summary>
+    /// A binary interval heap is double-ended priority queue is a priority queue that it allows
+    /// for efficient removal of both the maximum and minimum element.
+    /// </summary>
+    /// <typeparam name="T">The data type contained at each key.</typeparam>
+    /// <remarks>This is based on this: https://bitbucket.org/rednaxela/knn-benchmark/src/tip/ags/utils/dataStructures/trees/thirdGenKD/ </remarks>
+    public class IntervalHeap<T>
+    {
+        /// <summary>
+        /// The default size for a new interval heap.
+        /// </summary>
+        private const int DEFAULT_SIZE = 64;
+
+        /// <summary>
+        /// The internal data array which contains the stored objects.
+        /// </summary>
+        private T[] tData;
+
+        /// <summary>
+        /// The array of keys which 
+        /// </summary>
+        private double[] tKeys;
+
+        /// <summary>
+        /// Construct a new interval heap with the default capacity.
+        /// </summary>
+        public IntervalHeap() : this(DEFAULT_SIZE)
+        {
+        }
+
+        /// <summary>
+        /// Construct a new interval heap with a custom capacity.
+        /// </summary>
+        /// <param name="capacity"></param>
+        public IntervalHeap(int capacity)
+        {
+            this.tData = new T[capacity];
+            this.tKeys = new double[capacity];
+            this.Capacity = capacity;
+            this.Size = 0;
+        }
+
+        /// <summary>
+        /// The number of items in this interval heap.
+        /// </summary>
+        public int Size { get; private set; }
+
+        /// <summary>
+        /// The current capacity of this interval heap.
+        /// </summary>
+        public int Capacity { get; private set; }
+
+        /// <summary>
+        /// Get the data with the smallest key.
+        /// </summary>
+        public T Min
+        {
+            get
+            {
+                if (Size == 0)
+                    throw new Exception();
+                return tData[0];
+            }
+        }
+
+        /// <summary>
+        /// Get the data with the largest key.
+        /// </summary>
+        public T Max
+        {
+            get
+            {
+                if (Size == 0)
+                {
+                    throw new Exception();
+                }
+                else if (Size == 1)
+                {
+                    return tData[0];
+                }
+
+                return tData[1];
+            }
+        }
+
+        /// <summary>
+        /// Get the smallest key.
+        /// </summary>
+        public double MinKey
+        {
+            get
+            {
+                if (Size == 0)
+                    throw new Exception();
+                return tKeys[0];
+            }
+        }
+
+        /// <summary>
+        /// Get the largest key.
+        /// </summary>
+        public double MaxKey
+        {
+            get
+            {
+                if (Size == 0)
+                {
+                    throw new Exception();
+                }
+                else if (Size == 1)
+                {
+                    return tKeys[0];
+                }
+
+                return tKeys[1];
+            }
+        }
+
+        /// <summary>
+        /// Insert a new data item at a given key.
+        /// </summary>
+        /// <param name="key">The value which represents our data (i.e. a distance).</param>
+        /// <param name="value">The data we want to store.</param>
+        public void Insert(double key, T value)
+        {
+            // If more room is needed, double the array size.
+            if (Size >= Capacity)
+            {
+                // Double the capacity.
+                Capacity *= 2;
+
+                // Expand the data array.
+                var newData = new T[Capacity];
+                Array.Copy(tData, newData, tData.Length);
+                tData = newData;
+
+                // Expand the key array.
+                var newKeys = new double[Capacity];
+                Array.Copy(tKeys, newKeys, tKeys.Length);
+                tKeys = newKeys;
+            }
+
+            // Insert the new value at the end.
+            Size++;
+            tData[Size-1] = value;
+            tKeys[Size-1] = key;
+
+            // Ensure it is in the right place.
+            SiftInsertedValueUp();
+        }
+
+        /// <summary>
+        /// Remove the item with the smallest key from the queue.
+        /// </summary>
+        public void RemoveMin()
+        {
+            // Check for errors.
+            if (Size == 0)
+                throw new Exception();
+
+            // Remove the item by 
+            Size--;
+            tData[0] = tData[Size];
+            tKeys[0] = tKeys[Size];
+            tData[Size] = default(T);
+            SiftDownMin(0);
+        }
+
+        /// <summary>
+        /// Replace the item with the smallest key in the queue.
+        /// </summary>
+        /// <param name="key">The new minimum key.</param>
+        /// <param name="value">The new minumum data value.</param>
+        public void ReplaceMin(double key, T value)
+        {
+            // Check for errors.
+            if (Size == 0)
+                throw new Exception();
+
+            // Add the data.
+            tData[0] = value;
+            tKeys[0] = key;
+
+            // If we have more than one item.
+            if (Size > 1)
+            {
+                // Swap with pair if necessary.
+                if (tKeys[1] < key)
+                    Swap(0, 1);
+                SiftDownMin(0);
+            }
+        }
+
+        /// <summary>
+        /// Remove the item with the largest key in the queue.
+        /// </summary>
+        public void RemoveMax()
+        {
+            // If we have no items in the queue.
+            if (Size == 0)
+            {
+                throw new Exception();
+            }
+
+            // If we have one item, remove the min.
+            else if (Size == 1)
+            {
+                RemoveMin();
+                return;
+            }
+
+            // Remove the max.
+            Size--;
+            tData[1] = tData[Size];
+            tKeys[1] = tKeys[Size];
+            tData[Size] = default(T);
+            SiftDownMax(1);
+        }
+
+        /// <summary>
+        /// Swap out the item with the largest key in the queue.
+        /// </summary>
+        /// <param name="key">The new key for the largest item.</param>
+        /// <param name="value">The new data for the largest item.</param>
+        public void ReplaceMax(double key, T value)
+        {
+            if (Size == 0)
+            {
+                throw new Exception();
+            }
+            else if (Size == 1)
+            {
+                ReplaceMin(key, value);
+                return;
+            }
+
+            tData[1] = value;
+            tKeys[1] = key;
+            // Swap with pair if necessary
+            if (key < tKeys[0]) {
+                Swap(0, 1);
+            }
+            SiftDownMax(1);
+        }
+
+
+        /// <summary>
+        /// Internal helper method which swaps two values in the arrays.
+        /// This swaps both data and key entries.
+        /// </summary>
+        /// <param name="x">The first index.</param>
+        /// <param name="y">The second index.</param>
+        /// <returns>The second index.</returns>
+        private int Swap(int x, int y)
+        {
+            // Store temp.
+            T yData = tData[y];
+            double yDist = tKeys[y];
+
+            // Swap
+            tData[y] = tData[x];
+            tKeys[y] = tKeys[x];
+            tData[x] = yData;
+            tKeys[x] = yDist;
+
+            // Return.
+            return y;
+        }
+
+        /**
+         * Min-side (u % 2 == 0):
+         * - leftchild:  2u + 2
+         * - rightchild: 2u + 4
+         * - parent:     (x/2-1)&~1
+         *
+         * Max-side (u % 2 == 1):
+         * - leftchild:  2u + 1
+         * - rightchild: 2u + 3
+         * - parent:     (x/2-1)|1
+         */
+
+        /// <summary>
+        /// Place a newly inserted element a into the correct tree position.
+        /// </summary>
+        private void SiftInsertedValueUp()
+        {
+            // Work out where the element was inserted.
+            int u = Size-1;
+
+            // If it is the only element, nothing to do.
+            if (u == 0)
+            {
+            }
+
+            // If it is the second element, sort with it's pair.
+            else if (u == 1)
+            {
+                // Swap if less than paired item.
+                if  (tKeys[u] < tKeys[u-1])
+                    Swap(u, u-1);
+            }
+
+            // If it is on the max side, 
+            else if (u % 2 == 1)
+            {
+                // Already paired. Ensure pair is ordered right
+                int p = (u/2-1)|1; // The larger value of the parent pair
+                if  (tKeys[u] < tKeys[u-1])
+                { // If less than it's pair
+                    u = Swap(u, u-1); // Swap with it's pair
+                    if (tKeys[u] < tKeys[p-1])
+                    { // If smaller than smaller parent pair
+                        // Swap into min-heap side
+                        u = Swap(u, p-1);
+                        SiftUpMin(u);
+                    }
+                }
+                else
+                {
+                    if (tKeys[u] > tKeys[p])
+                    { // If larger that larger parent pair
+                        // Swap into max-heap side
+                        u = Swap(u, p);
+                        SiftUpMax(u);
+                    }
+                }
+            }
+            else
+            {
+                // Inserted in the lower-value slot without a partner
+                int p = (u/2-1)|1; // The larger value of the parent pair
+                if (tKeys[u] > tKeys[p])
+                { // If larger that larger parent pair
+                    // Swap into max-heap side
+                    u = Swap(u, p);
+                    SiftUpMax(u);
+                }
+                else if (tKeys[u] < tKeys[p-1])
+                { // If smaller than smaller parent pair
+                    // Swap into min-heap side
+                    u = Swap(u, p-1);
+                    SiftUpMin(u);
+                }
+            }
+        }
+
+        /// <summary>
+        /// Bubble elements up the min side of the tree.
+        /// </summary>
+        /// <param name="iChild">The child index.</param>
+        private void SiftUpMin(int iChild)
+        {
+            // Min-side parent: (x/2-1)&~1
+            for (int iParent = (iChild/2-1)&~1; 
+                iParent >= 0 && tKeys[iChild] < tKeys[iParent]; 
+                iChild = iParent, iParent = (iChild/2-1)&~1)
+            {
+                Swap(iChild, iParent);
+            }
+        }
+
+        /// <summary>
+        /// Bubble elements up the max side of the tree.
+        /// </summary>
+        /// <param name="iChild">The child index.</param>
+        private void SiftUpMax(int iChild)
+        {
+            // Max-side parent: (x/2-1)|1
+            for (int iParent = (iChild/2-1)|1; 
+                iParent >= 0 && tKeys[iChild] > tKeys[iParent]; 
+                iChild = iParent, iParent = (iChild/2-1)|1)
+            {
+                Swap(iChild, iParent);
+            }
+        }
+
+        /// <summary>
+        /// Bubble elements down the min side of the tree.
+        /// </summary>
+        /// <param name="iParent">The parent index.</param>
+        private void SiftDownMin(int iParent)
+        {
+            // For each child of the parent.
+            for (int iChild = iParent * 2 + 2; iChild < Size; iParent = iChild, iChild = iParent * 2 + 2)
+            {
+                // If the next child is less than the current child, select the next one.
+                if (iChild + 2 < Size && tKeys[iChild + 2] < tKeys[iChild])
+                {
+                    iChild += 2;
+                }
+
+                // If it is less than our parent swap.
+                if (tKeys[iChild] < tKeys[iParent])
+                {
+                    Swap(iParent, iChild);
+
+                    // Swap the pair if necessary.
+                    if (iChild+1 < Size && tKeys[iChild+1] < tKeys[iChild])
+                    {
+                        Swap(iChild, iChild+1);
+                    }
+                }
+                else
+                {
+                    break;
+                }
+            }
+        }
+
+        /// <summary>
+        /// Bubble elements down the max side of the tree.
+        /// </summary>
+        /// <param name="iParent"></param>
+        private void SiftDownMax(int iParent)
+        {
+            // For each child on the max side of the tree.
+            for (int iChild = iParent * 2 + 1; iChild <= Size; iParent = iChild, iChild = iParent * 2 + 1)
+            {
+                // If the child is the last one (and only has half a pair).
+                if (iChild == Size)
+                {
+                    // CHeck if we need to swap with th parent.
+                    if (tKeys[iChild - 1] > tKeys[iParent])
+                        Swap(iParent, iChild - 1);
+                    break;
+                }
+
+                // If there is only room for a right child lower pair.
+                else if (iChild + 2 == Size)
+                {
+                    // Swap the children.
+                    if (tKeys[iChild + 1] > tKeys[iChild])
+                    {
+                        // Swap with the parent.
+                        if (tKeys[iChild + 1] > tKeys[iParent])
+                           Swap(iParent, iChild + 1);
+                        break;
+                    }
+                }
+
+                // 
+                else if (iChild + 2 < Size)
+                {
+                    // If there is room for a right child upper pair
+                    if (tKeys[iChild + 2] > tKeys[iChild])
+                    {
+                        iChild += 2;
+                    }
+                }
+                if (tKeys[iChild] > tKeys[iParent])
+                {
+                    Swap(iParent, iChild);
+                    // Swap with pair if necessary
+                    if (tKeys[iChild-1] > tKeys[iChild])
+                    {
+                        Swap(iChild, iChild-1);
+                    }
+                }
+                else
+                {
+                    break;
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/IntervalHeap.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/IntervalHeap.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c08ea545eb85ebb3cc945a0cf3440c86f58caca4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/IntervalHeap.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 1e090ab286001c3488cf724a6a3325cf
+timeCreated: 1519738987
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDNode.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDNode.cs
new file mode 100644
index 0000000000000000000000000000000000000000..75e486bff6df12e24ad8f49224285d262e92daf6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDNode.cs
@@ -0,0 +1,301 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace KDTree
+{
+    /// <summary>
+    /// A KD-Tree node which supports a generic number of dimensions.  All data items
+    /// need the same number of dimensions.
+    /// This node splits based on the largest range of any dimension.
+    /// </summary>
+    /// <typeparam name="T">The generic data type this structure contains.</typeparam>
+    /// <remarks>This is based on this: https://bitbucket.org/rednaxela/knn-benchmark/src/tip/ags/utils/dataStructures/trees/thirdGenKD/ </remarks>
+    public class KDNode<T>
+    {
+        #region Internal properties and constructor
+        // All types
+        /// <summary>
+        /// The number of dimensions for this node.
+        /// </summary>
+        protected internal int iDimensions;
+
+        /// <summary>
+        /// The maximum capacity of this node.
+        /// </summary>
+        protected internal int iBucketCapacity;
+
+        // Leaf only
+        /// <summary>
+        /// The array of locations.  [index][dimension]
+        /// </summary>
+        protected internal double[][] tPoints;
+
+        /// <summary>
+        /// The array of data values. [index]
+        /// </summary>
+        protected internal T[] tData;
+
+        // Stem only
+        /// <summary>
+        /// The left and right children.
+        /// </summary>
+        protected internal KDNode<T> pLeft, pRight;
+        /// <summary>
+        /// The split dimension.
+        /// </summary>
+        protected internal int iSplitDimension;
+        /// <summary>
+        /// The split value (larger go into the right, smaller go into left)
+        /// </summary>
+        protected internal double fSplitValue;
+
+        // Bounds
+        /// <summary>
+        /// The min and max bound for this node.  All dimensions.
+        /// </summary>
+        protected internal double[] tMinBound, tMaxBound;
+
+        /// <summary>
+        /// Does this node represent only one point.
+        /// </summary>
+        protected internal bool bSinglePoint;
+
+        /// <summary>
+        /// Protected method which constructs a new KDNode.
+        /// </summary>
+        /// <param name="iDimensions">The number of dimensions for this node (all the same in the tree).</param>
+        /// <param name="iBucketCapacity">The initial capacity of the bucket.</param>
+        protected KDNode(int iDimensions, int iBucketCapacity)
+        {
+            // Variables.
+            this.iDimensions = iDimensions;
+            this.iBucketCapacity = iBucketCapacity;
+            this.Size = 0;
+            this.bSinglePoint = true;
+
+            // Setup leaf elements.
+            this.tPoints = new double[iBucketCapacity+1][];
+            this.tData = new T[iBucketCapacity+1];
+        }
+        #endregion
+
+        #region External Operations
+        /// <summary>
+        /// The number of items in this leaf node and all children.
+        /// </summary>
+        public int Size { get; private set; }
+
+        /// <summary>
+        /// Is this KDNode a leaf or not?
+        /// </summary>
+        public bool IsLeaf { get { return tPoints != null; } }
+
+        /// <summary>
+        /// Insert a new point into this leaf node.
+        /// </summary>
+        /// <param name="tPoint">The position which represents the data.</param>
+        /// <param name="kValue">The value of the data.</param>
+        public void AddPoint(double[] tPoint, T kValue)
+        {
+            // Find the correct leaf node.
+            KDNode<T> pCursor = this;
+            while (!pCursor.IsLeaf)
+            {
+                // Extend the size of the leaf.
+                pCursor.ExtendBounds(tPoint);
+                pCursor.Size++;
+
+                // If it is larger select the right, or lower,  select the left.
+                if (tPoint[pCursor.iSplitDimension] > pCursor.fSplitValue)
+                {
+                    pCursor = pCursor.pRight;
+                }
+                else
+                {
+                    pCursor = pCursor.pLeft;
+                }
+            }
+
+            // Insert it into the leaf.
+            pCursor.AddLeafPoint(tPoint, kValue);
+        }
+        #endregion
+
+        #region Internal Operations
+        /// <summary>
+        /// Insert the point into the leaf.
+        /// </summary>
+        /// <param name="tPoint">The point to insert the data at.</param>
+        /// <param name="kValue">The value at the point.</param>
+        private void AddLeafPoint(double[] tPoint, T kValue)
+        {
+            // Add the data point to this node.
+            tPoints[Size] = tPoint;
+            tData[Size] = kValue;
+            ExtendBounds(tPoint);
+            Size++;
+
+            // Split if the node is getting too large in terms of data.
+            if (Size == tPoints.Length - 1)
+            {
+                // If the node is getting too physically large.
+                if (CalculateSplit())
+                {
+                    // If the node successfully had it's split value calculated, split node.
+                    SplitLeafNode();
+                }
+                else
+                {
+                    // If the node could not be split, enlarge node data capacity.
+                    IncreaseLeafCapacity();
+                }
+            }
+        }
+
+        /// <summary>
+        /// If the point lies outside the boundaries, return false else true.
+        /// </summary>
+        /// <param name="tPoint">The point.</param>
+        /// <returns>True if the point is inside the boundaries, false outside.</returns>
+        private bool CheckBounds(double[] tPoint)
+        {
+            for (int i = 0; i < iDimensions; ++i)
+            {
+                if (tPoint[i] > tMaxBound[i]) return false;
+                if (tPoint[i] < tMinBound[i]) return false;
+            }
+            return true;
+        }
+
+        /// <summary>
+        /// Extend this node to contain a new point.
+        /// </summary>
+        /// <param name="tPoint">The point to contain.</param>
+        private void ExtendBounds(double[] tPoint)
+        {
+            // If we don't have bounds, create them using the new point then bail.
+            if (tMinBound == null) 
+            {
+                tMinBound = new double[iDimensions];
+                tMaxBound = new double[iDimensions];
+                Array.Copy(tPoint, tMinBound, iDimensions);
+                Array.Copy(tPoint, tMaxBound, iDimensions);
+                return;
+            }
+
+            // For each dimension.
+            for (int i = 0; i < iDimensions; ++i)
+            {
+                if (Double.IsNaN(tPoint[i]))
+                {
+                    if (!Double.IsNaN(tMinBound[i]) || !Double.IsNaN(tMaxBound[i]))
+                        bSinglePoint = false;
+                    
+                    tMinBound[i] = Double.NaN;
+                    tMaxBound[i] = Double.NaN;
+                }
+                else if (tMinBound[i] > tPoint[i])
+                {
+                    tMinBound[i] = tPoint[i];
+                    bSinglePoint = false;
+                }
+                else if (tMaxBound[i] < tPoint[i])
+                {
+                    tMaxBound[i] = tPoint[i];
+                    bSinglePoint = false;
+                }
+            }
+        }
+
+        /// <summary>
+        /// Double the capacity of this leaf.
+        /// </summary>
+        private void IncreaseLeafCapacity()
+        {   
+            Array.Resize<double[]>(ref tPoints, tPoints.Length * 2);
+            Array.Resize<T>(ref tData, tData.Length * 2);
+        }
+
+        /// <summary>
+        /// Work out if this leaf node should split.  If it should, a new split value and dimension is calculated
+        /// based on the dimension with the largest range.
+        /// </summary>
+        /// <returns>True if the node split, false if not.</returns>
+        private bool CalculateSplit()
+        {
+            // Don't split if we are just one point.
+            if (bSinglePoint)
+                return false;
+
+            // Find the dimension with the largest range.  This will be our split dimension.
+            double fWidth = 0;
+            for (int i = 0; i < iDimensions; i++)
+            {
+                double fDelta = (tMaxBound[i] - tMinBound[i]);
+                if (Double.IsNaN(fDelta))
+                    fDelta = 0;
+
+                if (fDelta > fWidth)
+                {
+                    iSplitDimension = i;
+                    fWidth = fDelta;
+                }
+            }
+
+            // If we are not wide (i.e. all the points are in one place), don't split.
+            if (fWidth == 0)
+                return false;
+
+            // Split in the middle of the node along the widest dimension.
+            fSplitValue = (tMinBound[iSplitDimension] + tMaxBound[iSplitDimension]) * 0.5;
+
+            // Never split on infinity or NaN.
+            if (fSplitValue == Double.PositiveInfinity)
+                fSplitValue = Double.MaxValue;
+            else if (fSplitValue == Double.NegativeInfinity)
+                fSplitValue = Double.MinValue;
+            
+            // Don't let the split value be the same as the upper value as
+            // can happen due to rounding errors!
+            if (fSplitValue == tMaxBound[iSplitDimension])
+                fSplitValue = tMinBound[iSplitDimension];
+
+            // Success
+            return true;
+        }
+
+        /// <summary>
+        /// Split this leaf node by creating left and right children, then moving all the children of
+        /// this node into the respective buckets.
+        /// </summary>
+        private void SplitLeafNode()
+        {
+            // Create the new children.
+            pRight = new KDNode<T>(iDimensions, iBucketCapacity);
+            pLeft  = new KDNode<T>(iDimensions, iBucketCapacity);
+
+            // Move each item in this leaf into the children.
+            for (int i = 0; i < Size; ++i)
+            {
+                // Store.
+                double[] tOldPoint = tPoints[i];
+                T kOldData = tData[i];
+
+                // If larger, put it in the right.
+                if (tOldPoint[iSplitDimension] > fSplitValue)
+                    pRight.AddLeafPoint(tOldPoint, kOldData);
+
+                // If smaller, put it in the left.
+                else
+                    pLeft.AddLeafPoint(tOldPoint, kOldData);
+            }
+
+            // Wipe the data from this KDNode.
+            tPoints = null;
+            tData = null;
+        }
+        #endregion
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDNode.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDNode.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1418c53ef430ff3d555b350e2bb0a8e90cea10ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDNode.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ec5d72f02adf6254aad038350ce771a3
+timeCreated: 1516636093
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDTree.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDTree.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5c739e8967f39e483261609f255381ca1c0396f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDTree.cs
@@ -0,0 +1,62 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace KDTree
+{
+
+    /// <summary>
+    /// A KDTree class represents the root of a variable-dimension KD-Tree.
+    /// </summary>
+    /// <typeparam name="T">The generic data type we want this tree to contain.</typeparam>
+    /// <remarks>This is based on this: https://bitbucket.org/rednaxela/knn-benchmark/src/tip/ags/utils/dataStructures/trees/thirdGenKD/ </remarks>
+    public class KDTree<T> : KDNode<T>
+    {
+        /// <summary>
+        /// Create a new KD-Tree given a number of dimensions.
+        /// </summary>
+        /// <param name="iDimensions">The number of data sorting dimensions. i.e. 3 for a 3D point.</param>
+        public KDTree(int iDimensions)
+            : base(iDimensions, 24)
+        {
+        }
+
+        /// <summary>
+        /// Create a new KD-Tree given a number of dimensions and initial bucket capacity.
+        /// </summary>
+        /// <param name="iDimensions">The number of data sorting dimensions. i.e. 3 for a 3D point.</param>
+        /// <param name="iBucketCapacity">The default number of items that can be stored in each node.</param>
+        public KDTree(int iDimensions, int iBucketCapacity)
+            : base(iDimensions, iBucketCapacity)
+        {
+        }
+
+        /// <summary>
+        /// Get the nearest neighbours to a point in the kd tree using a square euclidean distance function.
+        /// </summary>
+        /// <param name="tSearchPoint">The point of interest.</param>
+        /// <param name="iMaxReturned">The maximum number of points which can be returned by the iterator.</param>
+        /// <param name="fDistance">A threshold distance to apply.  Optional.  Negative values mean that it is not applied.</param>
+        /// <returns>A new nearest neighbour iterator with the given parameters.</returns>
+        public NearestNeighbour<T> NearestNeighbors(double[] tSearchPoint, int iMaxReturned, double fDistance = -1)
+        {
+            DistanceFunctions distanceFunction = new SquareEuclideanDistanceFunction();
+            return NearestNeighbors(tSearchPoint, distanceFunction, iMaxReturned, fDistance);
+        }
+
+        /// <summary>
+        /// Get the nearest neighbours to a point in the kd tree using a user defined distance function.
+        /// </summary>
+        /// <param name="tSearchPoint">The point of interest.</param>
+        /// <param name="iMaxReturned">The maximum number of points which can be returned by the iterator.</param>
+        /// <param name="kDistanceFunction">The distance function to use.</param>
+        /// <param name="fDistance">A threshold distance to apply.  Optional.  Negative values mean that it is not applied.</param>
+        /// <returns>A new nearest neighbour iterator with the given parameters.</returns>
+        public NearestNeighbour<T> NearestNeighbors(double[] tSearchPoint, DistanceFunctions kDistanceFunction, int iMaxReturned, double fDistance)
+        {
+            return new NearestNeighbour<T>(this, tSearchPoint, kDistanceFunction, iMaxReturned, fDistance);
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDTree.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDTree.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6ebec71f17ba2bf424b29e726d3623f9930aa000
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/KDTree.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c297650f28b0efc4d97523269824786d
+timeCreated: 1516636093
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/MinHeap.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/MinHeap.cs
new file mode 100644
index 0000000000000000000000000000000000000000..721777f4301feed07c7f404a267bf3999bd04ca5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/MinHeap.cs
@@ -0,0 +1,189 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace KDTree
+{
+    /// <summary>
+    /// A MinHeap is a smallest-first queue based around a binary heap so it is quick to insert / remove items.
+    /// </summary>
+    /// <typeparam name="T">The type of data this MinHeap stores.</typeparam>
+    /// <remarks>This is based on this: https://bitbucket.org/rednaxela/knn-benchmark/src/tip/ags/utils/dataStructures/trees/thirdGenKD/ </remarks>
+    public class MinHeap<T>
+    {
+        /// <summary>
+        /// The default size for a min heap.
+        /// </summary>
+        private static int DEFAULT_SIZE = 64;
+
+        /// <summary>
+        /// The data array.  This stores the data items in the heap.
+        /// </summary>
+        private T[] tData;
+
+        /// <summary>
+        /// The key array.  This determines how items are ordered. Smallest first.
+        /// </summary>
+        private double[] tKeys;
+
+        /// <summary>
+        /// Create a new min heap with the default capacity.
+        /// </summary>
+        public MinHeap() : this(DEFAULT_SIZE)
+        {
+        }
+
+        /// <summary>
+        /// Create a new min heap with a given capacity.
+        /// </summary>
+        /// <param name="iCapacity"></param>
+        public MinHeap(int iCapacity)
+        {
+            this.tData = new T[iCapacity];
+            this.tKeys = new double[iCapacity];
+            this.Capacity = iCapacity;
+            this.Size = 0;
+        }
+
+        /// <summary>
+        /// The number of items in this queue.
+        /// </summary>
+        public int Size { get; private set; }
+
+        /// <summary>
+        /// The amount of space in this queue.
+        /// </summary>
+        public int Capacity { get; private set; }
+
+        /// <summary>
+        /// Insert a new element.
+        /// </summary>
+        /// <param name="key">The key which represents its position in the priority queue (ie. distance).</param>
+        /// <param name="value">The value to be stored at the key.</param>
+        public void Insert(double key, T value)
+        {
+            // If we need more room, double the space.
+            if (Size >= Capacity)
+            {
+                // Calcualte the new capacity.
+                Capacity *= 2;
+
+                // Copy the data array.
+                var newData = new T[Capacity];
+                Array.Copy(tData, newData, tData.Length);
+                tData = newData;
+
+                // Copy the key array.
+                var newKeys = new double[Capacity];
+                Array.Copy(tKeys, newKeys, tKeys.Length);
+                tKeys = newKeys;
+            }
+
+            // Insert new value at the end
+            tData[Size] = value;
+            tKeys[Size] = key;
+            SiftUp(Size);
+            Size++;
+        }
+
+        /// <summary>
+        /// Remove the smallest element.
+        /// </summary>
+        public void RemoveMin()
+        {
+            if (Size == 0)
+                throw new Exception();
+
+            Size--;
+            tData[0] = tData[Size];
+            tKeys[0] = tKeys[Size];
+            tData[Size] = default(T);
+            SiftDown(0);
+        }
+
+        /// <summary>
+        /// Get the data stored at the minimum element.
+        /// </summary>
+        public T Min
+        {
+            get
+            {
+                if (Size == 0)
+                    throw new Exception();
+
+                return tData[0];
+            }
+        }
+
+        /// <summary>
+        /// Get the key which represents the minimum element.
+        /// </summary>
+        public double MinKey
+        {
+            get
+            {
+                if (Size == 0)
+                    throw new Exception();
+
+                return tKeys[0];
+            }
+        }
+
+        /// <summary>
+        /// Bubble a child item up the tree.
+        /// </summary>
+        /// <param name="iChild"></param>
+        private void SiftUp(int iChild)
+        {
+            // For each parent above the child, if the parent is smaller then bubble it up.
+            for (int iParent = (iChild - 1) / 2; 
+                iChild != 0 && tKeys[iChild] < tKeys[iParent]; 
+                iChild = iParent, iParent = (iChild - 1) / 2)
+            {
+                T kData = tData[iParent];
+                double dDist = tKeys[iParent];
+
+                tData[iParent] = tData[iChild];
+                tKeys[iParent] = tKeys[iChild];
+
+                tData[iChild] = kData;
+                tKeys[iChild] = dDist;
+            }
+        }
+
+        /// <summary>
+        /// Bubble a parent down through the children so it goes in the right place.
+        /// </summary>
+        /// <param name="iParent">The index of the parent.</param>
+        private void SiftDown(int iParent)
+        {
+            // For each child.
+            for (int iChild = iParent * 2 + 1; iChild < Size; iParent = iChild, iChild = iParent * 2 + 1)
+            {
+                // If the child is larger, select the next child.
+                if (iChild + 1 < Size && tKeys[iChild] > tKeys[iChild + 1])
+                    iChild++;
+
+                // If the parent is larger than the largest child, swap.
+                if (tKeys[iParent] > tKeys[iChild])
+                {
+                    // Swap the points
+                    T pData = tData[iParent];
+                    double pDist = tKeys[iParent];
+
+                    tData[iParent] = tData[iChild];
+                    tKeys[iParent] = tKeys[iChild];
+
+                    tData[iChild] = pData;
+                    tKeys[iChild] = pDist;
+                }
+
+                // TODO: REMOVE THE BREAK
+                else
+                {
+                    break;
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/MinHeap.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/MinHeap.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..497398cbe6b5bcf96efe8343a23919ff8724eb0d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/MinHeap.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b3dd3caca8a74224cab6c8dc36751097
+timeCreated: 1516636092
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/NearestNeighbour.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/NearestNeighbour.cs
new file mode 100644
index 0000000000000000000000000000000000000000..cb4b74f882b15a1ae4f7e8cd68de77062098d071
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/NearestNeighbour.cs
@@ -0,0 +1,247 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace KDTree
+{
+    /// <summary>
+    /// A NearestNeighbour iterator for the KD-tree which intelligently iterates and captures relevant data in the search space.
+    /// </summary>
+    /// <typeparam name="T">The type of data the iterator should handle.</typeparam>
+    public class NearestNeighbour<T> : IEnumerator<T>, IEnumerable<T>
+    {
+        /// <summary>The point from which are searching in n-dimensional space.</summary>
+        private double[] tSearchPoint;
+        /// <summary>A distance function which is used to compare nodes and value positions.</summary>
+        private DistanceFunctions kDistanceFunction;
+        /// <summary>The tree nodes which have yet to be evaluated.</summary>
+        private MinHeap<KDNode<T>> pPending;
+        /// <summary>The values which have been evaluated and selected.</summary>
+        private IntervalHeap<T> pEvaluated;
+        /// <summary>The root of the kd tree to begin searching from.</summary>
+        private KDNode<T> pRoot = null;
+
+        /// <summary>The max number of points we can return through this iterator.</summary>
+        private int iMaxPointsReturned = 0;
+        /// <summary>The number of points we can still test before conclusion.</summary>
+        private int iPointsRemaining;
+        /// <summary>Threshold to apply to tree iteration.  Negative numbers mean no threshold applied.</summary>
+        private double fThreshold;
+
+        /// <summary>Current value distance.</summary>
+        private double _CurrentDistance = -1;
+        /// <summary>Current value reference.</summary>
+        private T _Current = default(T);
+
+        /// <summary>
+        /// Construct a new nearest neighbour iterator.
+        /// </summary>
+        /// <param name="pRoot">The root of the tree to begin searching from.</param>
+        /// <param name="tSearchPoint">The point in n-dimensional space to search.</param>
+        /// <param name="kDistance">The distance function used to evaluate the points.</param>
+        /// <param name="iMaxPoints">The max number of points which can be returned by this iterator.  Capped to max in tree.</param>
+        /// <param name="fThreshold">Threshold to apply to the search space.  Negative numbers indicate that no threshold is applied.</param>
+        public NearestNeighbour(KDNode<T> pRoot, double[] tSearchPoint, DistanceFunctions kDistance, int iMaxPoints, double fThreshold)
+        {
+            // Check the dimensionality of the search point.
+            if (tSearchPoint.Length != pRoot.iDimensions)
+                throw new Exception("Dimensionality of search point and kd-tree are not the same.");
+
+            // Store the search point.
+            this.tSearchPoint = new double[tSearchPoint.Length];
+            Array.Copy(tSearchPoint, this.tSearchPoint, tSearchPoint.Length);
+
+            // Store the point count, distance function and tree root.
+            this.iPointsRemaining = Math.Min(iMaxPoints, pRoot.Size);
+            this.fThreshold = fThreshold;
+            this.kDistanceFunction = kDistance;
+            this.pRoot = pRoot;
+            this.iMaxPointsReturned = iMaxPoints;
+            _CurrentDistance = -1;
+
+            // Create an interval heap for the points we check.
+            this.pEvaluated = new IntervalHeap<T>();
+
+            // Create a min heap for the things we need to check.
+            this.pPending = new MinHeap<KDNode<T>>();
+            this.pPending.Insert(0, pRoot);
+        }
+
+        /// <summary>
+        /// Check for the next iterator item.
+        /// </summary>
+        /// <returns>True if we have one, false if not.</returns>
+        public bool MoveNext()
+        {
+            // Bail if we are finished.
+            if (iPointsRemaining == 0)
+            {
+                _Current = default(T);
+                return false;
+            }
+
+            // While we still have paths to evaluate.
+            while (pPending.Size > 0 && (pEvaluated.Size == 0 || (pPending.MinKey < pEvaluated.MinKey)))
+            {
+                // If there are pending paths possibly closer than the nearest evaluated point, check it out
+                KDNode<T> pCursor = pPending.Min;
+                pPending.RemoveMin();
+
+                // Descend the tree, recording paths not taken
+                while (!pCursor.IsLeaf)
+                {
+                    KDNode<T> pNotTaken;
+
+                    // If the seach point is larger, select the right path.
+                    if (tSearchPoint[pCursor.iSplitDimension] > pCursor.fSplitValue)
+                    {
+                        pNotTaken = pCursor.pLeft;
+                        pCursor = pCursor.pRight;
+                    }
+                    else
+                    {
+                        pNotTaken = pCursor.pRight;
+                        pCursor = pCursor.pLeft;
+                    }
+
+                    // Calculate the shortest distance between the search point and the min and max bounds of the kd-node.
+                    double fDistance = kDistanceFunction.DistanceToRectangle(tSearchPoint, pNotTaken.tMinBound, pNotTaken.tMaxBound);
+
+                    // If it is greater than the threshold, skip.
+                    if (fThreshold >= 0 && fDistance > fThreshold)
+                    {
+                        continue;
+                    }
+
+                    // Only add the path we need more points or the node is closer than furthest point on list so far.
+                    if (pEvaluated.Size < iPointsRemaining || fDistance <= pEvaluated.MaxKey)
+                    {
+                        pPending.Insert(fDistance, pNotTaken);
+                    }
+                }
+
+                // If all the points in this KD node are in one place.
+                if (pCursor.bSinglePoint)
+                {
+                    // Work out the distance between this point and the search point.
+                    double fDistance = kDistanceFunction.Distance(pCursor.tPoints[0], tSearchPoint);
+
+                    // Skip if the point exceeds the threshold.
+                    // Technically this should never happen, but be prescise.
+                    if (fThreshold >= 0 && fDistance >= fThreshold)
+                        continue;
+
+                    // Add the point if either need more points or it's closer than furthest on list so far.
+                    if (pEvaluated.Size < iPointsRemaining || fDistance <= pEvaluated.MaxKey)
+                    {
+                        for (int i = 0; i < pCursor.Size; ++i)
+                        {
+                            // If we don't need any more, replace max
+                            if (pEvaluated.Size == iPointsRemaining)
+                                pEvaluated.ReplaceMax(fDistance, pCursor.tData[i]);
+
+                            // Otherwise insert.
+                            else
+                                pEvaluated.Insert(fDistance, pCursor.tData[i]);
+                        }
+                    }
+                }
+
+                // If the points in the KD node are spread out.
+                else
+                {
+                    // Treat the distance of each point seperately.
+                    for (int i = 0; i < pCursor.Size; ++i)
+                    {
+                        // Compute the distance between the points.
+                        double fDistance = kDistanceFunction.Distance(pCursor.tPoints[i], tSearchPoint);
+
+                        // Skip if it exceeds the threshold.
+                        if (fThreshold >= 0 && fDistance >= fThreshold)
+                            continue;
+
+                        // Insert the point if we have more to take.
+                        if (pEvaluated.Size < iPointsRemaining)
+                            pEvaluated.Insert(fDistance, pCursor.tData[i]);
+
+                        // Otherwise replace the max.
+                        else if (fDistance < pEvaluated.MaxKey)
+                            pEvaluated.ReplaceMax(fDistance, pCursor.tData[i]);
+                    }
+                }
+            }
+
+            // Select the point with the smallest distance.
+            if (pEvaluated.Size == 0)
+                return false;
+
+            iPointsRemaining--;
+            _CurrentDistance = pEvaluated.MinKey;
+            _Current = pEvaluated.Min;
+            pEvaluated.RemoveMin();
+            return true;
+        }
+
+        /// <summary>
+        /// Reset the iterator.
+        /// </summary>
+        public void Reset()
+        {
+            // Store the point count and the distance function.
+            this.iPointsRemaining = Math.Min(iMaxPointsReturned, pRoot.Size);
+            _CurrentDistance = -1;
+
+            // Create an interval heap for the points we check.
+            this.pEvaluated = new IntervalHeap<T>();
+
+            // Create a min heap for the things we need to check.
+            this.pPending = new MinHeap<KDNode<T>>();
+            this.pPending.Insert(0, pRoot);
+        }
+
+		public T Current
+		{
+			get { return _Current; }
+		}
+
+        /// <summary>
+        /// Return the distance of the current value to the search point.
+        /// </summary>
+        public double CurrentDistance
+        {
+            get { return _CurrentDistance; }
+        }
+
+        /// <summary>
+        /// Return the current value referenced by the iterator as an object.
+        /// </summary>
+        object IEnumerator.Current
+        {
+            get { return _Current; }
+        }
+  
+        /// <summary>
+        /// Return the current value referenced by the iterator.
+        /// </summary>
+        T IEnumerator<T>.Current
+        {
+            get { return _Current; }
+        }
+
+        public void Dispose()
+        {
+        }
+
+        IEnumerator IEnumerable.GetEnumerator()
+        {
+            return GetEnumerator();
+        }
+
+        public IEnumerator<T> GetEnumerator()
+        {
+            return this;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/NearestNeighbour.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/NearestNeighbour.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7c0fe0485753d6065491922ea794fd56900970a6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTree/NearestNeighbour.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 838799301f7b90c4c9ddad55847c8093
+timeCreated: 1516636092
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTreeCollection.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTreeCollection.cs
new file mode 100644
index 0000000000000000000000000000000000000000..50e4d34487125d00525d717e53e43c483df63e31
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTreeCollection.cs
@@ -0,0 +1,38 @@
+namespace Mapbox.Unity.MeshGeneration
+{
+	using UnityEngine;
+	using KDTree;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+
+	/// <summary>
+	/// KdTree Collection is a feature collection using KdTree mainly for distance based searchs like "find all buildings 100m around
+	/// player" or "find 10 closest buildings to this point".
+	/// KdTree structures focus on search performance so querying for features will be very fast using this collection. On the other
+	/// hand it's not good for dynamic/moving entities but we don't have such features on map so it's one of the best options for maps.
+	/// </summary>
+
+	[CreateAssetMenu(menuName = "Mapbox/Feature Collections/Kd Tree Collection")]
+	public class KdTreeCollection : FeatureCollectionBase
+	{
+		private KDTree<VectorEntity> _entities;
+		public int Count;
+
+		public override void Initialize()
+		{
+			base.Initialize();
+			_entities = new KDTree.KDTree<VectorEntity>(2);
+		}
+
+		public override void AddFeature(double[] position, VectorEntity ve)
+		{
+			_entities.AddPoint(position, ve);
+			Count = _entities.Size;
+		}
+
+		public NearestNeighbour<VectorEntity> NearestNeighbors(double[] v, int maxCount, float range)
+		{
+			return _entities.NearestNeighbors(v, maxCount, range);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTreeCollection.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTreeCollection.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1da05fb378bd43ddb3ebf4da6ca2eaec97fb31c7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/KdTreeCollection.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 82ed8ed837e25084bbe8a37d53c5b77b
+timeCreated: 1519741039
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/MeshData.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/MeshData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ae45ea03521a7ab4c6b05186646f34dd138e6d6a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/MeshData.cs
@@ -0,0 +1,49 @@
+namespace Mapbox.Unity.MeshGeneration.Data
+{
+	using System;
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Utils;
+
+	// TODO: Do we need this class? Why not just use `Mesh`?
+	public class MeshData
+	{
+		public Vector3 PositionInTile;
+		public List<int> Edges;
+		public Vector2 MercatorCenter;
+		public RectD TileRect;
+		public List<Vector3> Vertices;
+		public List<Vector3> Normals;
+		public List<Vector4> Tangents;
+		public List<List<int>> Triangles;
+		public List<List<Vector2>> UV;
+
+		public MeshData()
+		{
+			Edges = new List<int>();
+			Vertices = new List<Vector3>();
+			Normals = new List<Vector3>();
+			Tangents = new List<Vector4>();
+			Triangles = new List<List<int>>();
+			UV = new List<List<Vector2>>();
+			UV.Add(new List<Vector2>());
+		}
+
+		internal void Clear()
+		{
+			Edges.Clear();
+			Vertices.Clear();
+			Normals.Clear();
+			Tangents.Clear();
+
+			foreach (var item in Triangles)
+			{
+				item.Clear();
+			}
+			foreach (var item in UV)
+			{
+				item.Clear();
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/MeshData.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/MeshData.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..80a6a34da9891b351af0ef40de9bdbadd1d783ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/MeshData.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2dc52b40d4a914f4d88ef8d5547272b5
+timeCreated: 1478552106
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/UnityTile.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/UnityTile.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a6dbd5ce6a9f7527f1a2c004ff8fdb1dab8768ad
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/UnityTile.cs
@@ -0,0 +1,402 @@
+using Mapbox.Unity.Map.Interfaces;
+
+namespace Mapbox.Unity.MeshGeneration.Data
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Enums;
+	using Mapbox.Unity.Utilities;
+	using Utils;
+	using Mapbox.Map;
+	using System;
+	using Mapbox.Unity.Map;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Factories;
+
+	public class UnityTile : MonoBehaviour
+	{
+		public TileTerrainType ElevationType;
+
+		[SerializeField]
+		private Texture2D _rasterData;
+		public VectorTile VectorData { get; private set; }
+		private Texture2D _heightTexture;
+		public float[] HeightData;
+
+		private Texture2D _loadingTexture;
+		//keeping track of tile objects to be able to cancel them safely if tile is destroyed before data fetching finishes
+		private List<Tile> _tiles = new List<Tile>();
+		[SerializeField] private float _tileScale;
+
+		public bool IsRecycled = false;
+
+		#region CachedUnityComponents
+		MeshRenderer _meshRenderer;
+		public MeshRenderer MeshRenderer
+		{
+			get
+			{
+				if (_meshRenderer == null)
+				{
+					_meshRenderer = GetComponent<MeshRenderer>();
+					if (_meshRenderer == null)
+					{
+						_meshRenderer = gameObject.AddComponent<MeshRenderer>();
+					}
+				}
+				return _meshRenderer;
+			}
+		}
+
+		private MeshFilter _meshFilter;
+		public MeshFilter MeshFilter
+		{
+			get
+			{
+				if (_meshFilter == null)
+				{
+					_meshFilter = GetComponent<MeshFilter>();
+					if (_meshFilter == null)
+					{
+						_meshFilter = gameObject.AddComponent<MeshFilter>();
+						_meshFilter.sharedMesh = new Mesh();
+						ElevationType = TileTerrainType.None;
+					}
+				}
+				return _meshFilter;
+			}
+		}
+
+		private Collider _collider;
+		public Collider Collider
+		{
+			get
+			{
+				if (_collider == null)
+				{
+					_collider = GetComponent<Collider>();
+				}
+				return _collider;
+			}
+		}
+		#endregion
+
+		#region Tile Positon/Scale Properties
+		public RectD Rect { get; private set; }
+		public int InitialZoom { get; private set; }
+		public int CurrentZoom { get; private set; }
+
+		public float TileScale
+		{
+			get { return _tileScale; }
+			private set { _tileScale = value; }
+		}
+
+		public UnwrappedTileId UnwrappedTileId { get; private set; }
+		public CanonicalTileId CanonicalTileId { get; private set; }
+
+		private float _relativeScale;
+		#endregion
+
+		[SerializeField]
+		private TilePropertyState _rasterDataState;
+		public TilePropertyState RasterDataState
+		{
+			get
+			{
+				return _rasterDataState;
+			}
+			internal set
+			{
+				if (_rasterDataState != value)
+				{
+					_rasterDataState = value;
+					OnRasterDataChanged(this);
+				}
+			}
+		}
+		[SerializeField]
+		private TilePropertyState _heightDataState;
+		public TilePropertyState HeightDataState
+		{
+			get
+			{
+				return _heightDataState;
+			}
+			internal set
+			{
+				if (_heightDataState != value)
+				{
+					_heightDataState = value;
+					OnHeightDataChanged(this);
+				}
+			}
+		}
+		[SerializeField]
+		private TilePropertyState _vectorDataState;
+		public TilePropertyState VectorDataState
+		{
+			get
+			{
+				return _vectorDataState;
+			}
+			internal set
+			{
+				if (_vectorDataState != value)
+				{
+					_vectorDataState = value;
+					OnVectorDataChanged(this);
+				}
+			}
+		}
+		private TilePropertyState _tileState = TilePropertyState.None;
+		public TilePropertyState TileState
+		{
+			get
+			{
+				return _tileState;
+			}
+			set
+			{
+				if (_tileState != value)
+				{
+					_tileState = value;
+				}
+			}
+		}
+
+		public event Action<UnityTile> OnHeightDataChanged = delegate { };
+		public event Action<UnityTile> OnRasterDataChanged = delegate { };
+		public event Action<UnityTile> OnVectorDataChanged = delegate { };
+
+		private bool _isInitialized = false;
+
+
+		internal void Initialize(IMapReadable map, UnwrappedTileId tileId, float scale, int zoom, Texture2D loadingTexture = null)
+		{
+			gameObject.hideFlags = HideFlags.DontSave;
+
+			ElevationType = TileTerrainType.None;
+			TileScale = scale;
+			_relativeScale = 1 / Mathf.Cos(Mathf.Deg2Rad * (float)map.CenterLatitudeLongitude.x);
+			Rect = Conversions.TileBounds(tileId);
+			UnwrappedTileId = tileId;
+			CanonicalTileId = tileId.Canonical;
+			_loadingTexture = loadingTexture;
+
+			float scaleFactor = 1.0f;
+			if (_isInitialized == false)
+			{
+				_isInitialized = true;
+				InitialZoom = zoom;
+			}
+			CurrentZoom = zoom;
+			scaleFactor = Mathf.Pow(2, (map.InitialZoom - zoom));
+			gameObject.transform.localScale = new Vector3(scaleFactor, scaleFactor, scaleFactor);
+			gameObject.SetActive(true);
+
+			IsRecycled = false;
+
+
+			// Setup Loading as initial state - Unregistered
+			// When tile registers with factories, it will set the appropriate state.
+			// None, if Factory source is None, Loading otherwise.
+		}
+
+		internal void Recycle()
+		{
+			if (_loadingTexture && MeshRenderer != null && MeshRenderer.sharedMaterial != null)
+			{
+				MeshRenderer.sharedMaterial.mainTexture = _loadingTexture;
+			}
+
+			gameObject.SetActive(false);
+			IsRecycled = true;
+
+			// Reset internal state.
+			RasterDataState = TilePropertyState.Unregistered;
+			HeightDataState = TilePropertyState.Unregistered;
+			VectorDataState = TilePropertyState.Unregistered;
+			TileState = TilePropertyState.Unregistered;
+
+			OnHeightDataChanged = delegate { };
+			OnRasterDataChanged = delegate { };
+			OnVectorDataChanged = delegate { };
+
+			Cancel();
+			_tiles.Clear();
+		}
+
+		public void SetHeightData(byte[] data, float heightMultiplier = 1f, bool useRelative = false, bool addCollider = false)
+		{
+			if (HeightDataState != TilePropertyState.Unregistered)
+			{
+				//reset height data
+				if(data == null)
+				{
+					HeightData = new float[256 * 256];
+					HeightDataState = TilePropertyState.None;
+					return;
+				}
+
+				// HACK: compute height values for terrain. We could probably do this without a texture2d.
+				if (_heightTexture == null)
+				{
+					_heightTexture = new Texture2D(0, 0);
+				}
+
+				_heightTexture.LoadImage(data);
+				byte[] rgbData = _heightTexture.GetRawTextureData();
+
+				// Get rid of this temporary texture. We don't need to bloat memory.
+				_heightTexture.LoadImage(null);
+
+				if (HeightData == null)
+				{
+					HeightData = new float[256 * 256];
+				}
+
+				var relativeScale = useRelative ? _relativeScale : 1f;
+				for (int xx = 0; xx < 256; ++xx)
+				{
+					for (int yy = 0; yy < 256; ++yy)
+					{
+						float r = rgbData[(xx * 256 + yy) * 4 + 1];
+						float g = rgbData[(xx * 256 + yy) * 4 + 2];
+						float b = rgbData[(xx * 256 + yy) * 4 + 3];
+						//the formula below is the same as Conversions.GetAbsoluteHeightFromColor but it's inlined for performance
+						HeightData[xx * 256 + yy] = relativeScale * heightMultiplier * (-10000f + ((r * 65536f + g * 256f + b) * 0.1f));
+					}
+				}
+
+				if (addCollider && gameObject.GetComponent<MeshCollider>() == null)
+				{
+					gameObject.AddComponent<MeshCollider>();
+				}
+
+				HeightDataState = TilePropertyState.Loaded;
+			}
+		}
+
+		public void SetRasterData(byte[] data, bool useMipMap = true, bool useCompression = false)
+		{
+			// Don't leak the texture, just reuse it.
+			if (RasterDataState != TilePropertyState.Unregistered)
+			{
+				//reset image on null data
+				if (data == null)
+				{
+					MeshRenderer.material.mainTexture = null;
+					return;
+				}
+
+				if (_rasterData == null)
+				{
+					_rasterData = new Texture2D(0, 0, TextureFormat.RGB24, useMipMap);
+					_rasterData.wrapMode = TextureWrapMode.Clamp;
+				}
+
+				_rasterData.LoadImage(data);
+				if (useCompression)
+				{
+					// High quality = true seems to decrease image quality?
+					_rasterData.Compress(false);
+				}
+
+				MeshRenderer.sharedMaterial.mainTexture = _rasterData;
+
+				RasterDataState = TilePropertyState.Loaded;
+			}
+		}
+
+		public void SetVectorData(VectorTile vectorTile)
+		{
+			if (VectorDataState != TilePropertyState.Unregistered)
+			{
+				VectorData = vectorTile;
+			}
+		}
+
+		/// <summary>
+		/// Method to query elevation data in any point in the tile using [0-1] range inputs.
+		/// Input values are clamped for safety and QueryHeightDataNonclamped method should be used for
+		/// higher performance usage.
+		/// </summary>
+		/// <param name="x"></param>
+		/// <param name="y"></param>
+		/// <returns></returns>
+		public float QueryHeightData(float x, float y)
+		{
+			if (HeightData != null)
+			{
+				return HeightData[(int)(Mathf.Clamp01(y) * 255) * 256 + (int)(Mathf.Clamp01(x) * 255)] * _tileScale;
+			}
+
+			return 0;
+		}
+
+		/// <summary>
+		///  Method to query elevation data in any point in the tile using [0-1] range inputs.
+		/// Input values aren't clamped for improved performance and assuring they are in [0-1] range
+		/// is left to caller.
+		/// </summary>
+		/// <param name="x"></param>
+		/// <param name="y"></param>
+		/// <returns></returns>
+		public float QueryHeightDataNonclamped(float x, float y)
+		{
+			if (HeightData != null)
+			{
+				return HeightData[(int)(y * 255) * 256 + (int)(x * 255)] * _tileScale;
+			}
+
+			return 0;
+		}
+
+		public void SetLoadingTexture(Texture2D texture)
+		{
+			MeshRenderer.material.mainTexture = texture;
+		}
+
+		public Texture2D GetRasterData()
+		{
+			return _rasterData;
+		}
+
+		internal void AddTile(Tile tile)
+		{
+			_tiles.Add(tile);
+		}
+
+		public void ClearAssets()
+		{
+			if (Application.isEditor && !Application.isPlaying)
+			{
+				DestroyImmediate(_heightTexture, true);
+				DestroyImmediate(_rasterData, true);
+				DestroyImmediate(_meshFilter.sharedMesh);
+				DestroyImmediate(_meshRenderer.sharedMaterial);
+			}
+		}
+
+		public void Cancel()
+		{
+			for (int i = 0, _tilesCount = _tiles.Count; i < _tilesCount; i++)
+			{
+				_tiles[i].Cancel();
+			}
+		}
+
+		protected virtual void OnDestroy()
+		{
+			Cancel();
+			if (_heightTexture != null)
+			{
+				_heightTexture.Destroy();
+			}
+			if (_rasterData != null)
+			{
+				_rasterData.Destroy();
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/UnityTile.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/UnityTile.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1eb217bd4738181a4875d4fc9f3fd72737175cf6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/UnityTile.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: def0795d2b7c06547bcfdb57ec6f201b
+timeCreated: 1478541275
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/VectorFeatureUnity.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/VectorFeatureUnity.cs
new file mode 100644
index 0000000000000000000000000000000000000000..506a273d4fb7d293d0cefdaa9686788002a698e7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/VectorFeatureUnity.cs
@@ -0,0 +1,119 @@
+namespace Mapbox.Unity.MeshGeneration.Data
+{
+	using Mapbox.VectorTile;
+	using System.Collections.Generic;
+	using Mapbox.VectorTile.Geometry;
+	using UnityEngine;
+	using Mapbox.Utils;
+	using Mapbox.Unity.Utilities;
+
+	public class VectorFeatureUnity
+	{
+		public VectorTileFeature Data;
+		public Dictionary<string, object> Properties;
+		public List<List<Vector3>> Points = new List<List<Vector3>>();
+		public UnityTile Tile;
+
+		private double _rectSizex;
+		private double _rectSizey;
+		private int _geomCount;
+		private int _pointCount;
+		private List<Vector3> _newPoints = new List<Vector3>();
+		private List<List<Point2d<float>>> _geom;
+
+		public VectorFeatureUnity()
+		{
+			Points = new List<List<Vector3>>();
+		}
+
+		public VectorFeatureUnity(VectorTileFeature feature, UnityTile tile, float layerExtent, bool buildingsWithUniqueIds = false)
+		{
+			Data = feature;
+			Properties = Data.GetProperties();
+			Points.Clear();
+			Tile = tile;
+
+			//this is a temp hack until we figure out how streets ids works
+			if (buildingsWithUniqueIds == true) //ids from building dataset is big ulongs 
+			{
+				_geom = feature.Geometry<float>(); //and we're not clipping by passing no parameters
+			}
+			else //streets ids, will require clipping
+			{
+				_geom = feature.Geometry<float>(0); //passing zero means clip at tile edge
+			}
+
+			_rectSizex = tile.Rect.Size.x;
+			_rectSizey = tile.Rect.Size.y;
+
+			_geomCount = _geom.Count;
+			for (int i = 0; i < _geomCount; i++)
+			{
+				_pointCount = _geom[i].Count;
+				_newPoints = new List<Vector3>(_pointCount);
+				for (int j = 0; j < _pointCount; j++)
+				{
+					var point = _geom[i][j];
+					_newPoints.Add(new Vector3((float)(point.X / layerExtent * _rectSizex - (_rectSizex / 2)) * tile.TileScale, 0, (float)((layerExtent - point.Y) / layerExtent * _rectSizey - (_rectSizey / 2)) * tile.TileScale));
+				}
+				Points.Add(_newPoints);
+			}
+		}
+
+		public VectorFeatureUnity(VectorTileFeature feature, List<List<Point2d<float>>> geom, UnityTile tile, float layerExtent, bool buildingsWithUniqueIds = false)
+		{
+			Data = feature;
+			Properties = Data.GetProperties();
+			Points.Clear();
+			Tile = tile;
+			_geom = geom;
+
+			_rectSizex = tile.Rect.Size.x;
+			_rectSizey = tile.Rect.Size.y;
+
+			_geomCount = _geom.Count;
+			for (int i = 0; i < _geomCount; i++)
+			{
+				_pointCount = _geom[i].Count;
+				_newPoints = new List<Vector3>(_pointCount);
+				for (int j = 0; j < _pointCount; j++)
+				{
+					var point = _geom[i][j];
+					_newPoints.Add(new Vector3((float)(point.X / layerExtent * _rectSizex - (_rectSizex / 2)) * tile.TileScale, 0, (float)((layerExtent - point.Y) / layerExtent * _rectSizey - (_rectSizey / 2)) * tile.TileScale));
+				}
+				Points.Add(_newPoints);
+			}
+		}
+
+		public bool ContainsLatLon(Vector2d coord)
+		{
+			//first check tile
+			var coordinateTileId = Conversions.LatitudeLongitudeToTileId(
+				coord.x, coord.y, Tile.CurrentZoom);
+
+			if (Points.Count > 0)
+			{
+				var from = Conversions.LatLonToMeters(coord.x, coord.y);
+
+				var to = new Vector2d((Points[0][0].x / Tile.TileScale) + Tile.Rect.Center.x, (Points[0][0].z / Tile.TileScale) + Tile.Rect.Center.y);
+				var dist = Vector2d.Distance(from, to);
+				if (Mathd.Abs(dist) < 50)
+				{
+					return true;
+				}
+			}
+
+			if ((!coordinateTileId.Canonical.Equals(Tile.CanonicalTileId)))
+			{
+				return false;
+			}
+
+			//then check polygon
+			var point = Conversions.LatitudeLongitudeToVectorTilePosition(coord, Tile.CurrentZoom);
+			var output = PolygonUtils.PointInPolygon(new Point2d<float>(point.x, point.y), _geom);
+
+			return output;
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/VectorFeatureUnity.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/VectorFeatureUnity.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0fc790bac3910efa5dd75cf5b4d2cdf969f93e85
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Data/VectorFeatureUnity.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 161842d5b19bcf24a842752aadb1da26
+timeCreated: 1485209878
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ba6dfc61ac1f4451db6fa4353b8d1d94cd4fcf20
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 665b654cd42daed428aacdad0c045d85
+folderAsset: yes
+timeCreated: 1485206853
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums/TilePropertyState.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums/TilePropertyState.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b58c10f535af5e2cfb0c2447e93022ac7a6e8920
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums/TilePropertyState.cs
@@ -0,0 +1,12 @@
+namespace Mapbox.Unity.MeshGeneration.Enums
+{
+	public enum TilePropertyState
+	{
+		Unregistered,
+		None,
+		Loading,
+		Loaded,
+		Error,
+		Cancelled,
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums/TilePropertyState.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums/TilePropertyState.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4b830200faba581f2af3cd1009828820108c04d5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Enums/TilePropertyState.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 63187d4e1f6f0ad40ae6e6a5da6ebef1
+timeCreated: 1485206857
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eb49dc6a575ee9ee7ea96eb911cfd167b3b8ae36
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ed0cb36528ae4584b9d01d98fee861f5
+folderAsset: yes
+timeCreated: 1494961030
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/AbstractTileFactory.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/AbstractTileFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..351b5efce1f5c8a6687745672634f71c245618d0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/AbstractTileFactory.cs
@@ -0,0 +1,132 @@
+namespace Mapbox.Unity.MeshGeneration.Factories
+{
+	using Mapbox.Platform;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.Map;
+	using System.Collections.Generic;
+
+	/// <summary>
+	/// Factories
+	/// Factories corresponds to Mapbox Api endpoints for the most part.Terrain factory uses terrain rgb api,
+	/// Image factory uses raster image api and vector tile factory uses vector data api.
+	/// Only exception to this at the moment is Directions factory, which is a monobehaviour in Drive demo scene
+	/// but we’ll probably rework that in the future as well.
+	/// Factories do the api calls.They are responsible for reporting progress and logging/reporting any network issue.
+	/// They can also keep track of tiles if necessary (i.e.update/refresh data after initial creation)
+	/// Factories processes the received data in different ways.
+	/// Terrain factories creates the mesh from the received data (or a flat terrain depending the settings)
+	/// MapImage factory applies received image to tile game object.
+	/// Vector Tile Factory deals with a much more complex and detailed data compared to other two so it doesn’t do the
+	/// whole processing itself and uses some subclasses (LayerVisualizers) to do it.
+	/// Creating a custom factory is a good idea if you want to fetch raw data and process is in a totally different
+	/// custom way, like creating terrain and then cut off water areas from terrain mesh.
+	/// Vector Tile factory, for example, is built to be flexible and work with multiple vector layers. But if you
+	/// don’t need that all, you can create a custom version of it and process what you need in a much more concrete
+	/// and performant way.
+	/// Another example here would be custom terrain mesh. Current terrain factories work with a custom sized grid
+	/// and apply height data on that. By creating a custom terrain factory, you can have a custom mesh instead of a grid,
+	/// optimize and minimize vertex count etc.
+	/// </summary>
+	public abstract class AbstractTileFactory : ScriptableObject
+	{
+		protected IFileSource _fileSource;
+
+		protected LayerProperties _options;
+
+		public LayerProperties Options
+		{
+			get { return _options; }
+		}
+
+		protected HashSet<UnityTile> _tilesWaitingResponse;
+		protected HashSet<UnityTile> _tilesWaitingProcessing;
+
+		public virtual void SetOptions(LayerProperties options)
+		{
+			_options = options;
+		}
+
+		protected virtual void OnErrorOccurred(UnityTile tile, TileErrorEventArgs e)
+		{
+			EventHandler<TileErrorEventArgs> handler = OnTileError;
+			if (handler != null)
+			{
+				handler(this, e);
+			}
+		}
+
+		public virtual void Initialize(IFileSource fileSource)
+		{
+			_fileSource = fileSource;
+			_tilesWaitingResponse = new HashSet<UnityTile>();
+			_tilesWaitingProcessing = new HashSet<UnityTile>();
+			OnInitialized();
+		}
+
+		public virtual void Register(UnityTile tile)
+		{
+			OnRegistered(tile);
+		}
+
+		public virtual void PostProcess(UnityTile tile)
+		{
+			OnPostProcess(tile);
+		}
+		public virtual void Unregister(UnityTile tile)
+		{
+			OnUnregistered(tile);
+		}
+
+		public virtual void UnbindEvents()
+		{
+			OnUnbindEvents();
+		}
+
+		public virtual void UpdateTileProperty(UnityTile tile, LayerUpdateArgs updateArgs)
+		{
+			updateArgs.property.UpdateProperty(tile);
+
+			if (updateArgs.property.NeedsForceUpdate())
+			{
+				Register(tile);
+			}
+		}
+
+		protected abstract void OnInitialized();
+
+		protected abstract void OnRegistered(UnityTile tile);
+		protected abstract void OnPostProcess(UnityTile tile);
+		protected abstract void OnUnregistered(UnityTile tile);
+		protected abstract void OnUnbindEvents();
+
+		#region Events
+		public event EventHandler<TileErrorEventArgs> OnTileError;
+		protected virtual void OnErrorOccurred(TileErrorEventArgs e)
+		{
+			EventHandler<TileErrorEventArgs> handler = OnTileError;
+			if (handler != null)
+			{
+				handler(this, e);
+			}
+		}
+
+		public event EventHandler TileFactoryHasChanged;
+		protected virtual void UpdateTileFactory(object sender, System.EventArgs args)
+		{
+			System.EventHandler handler = TileFactoryHasChanged;
+			if (handler != null)
+			{
+				handler(this, args);
+			}
+		}
+		#endregion
+
+		public virtual void Clear()
+		{
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/AbstractTileFactory.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/AbstractTileFactory.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7ea3e75037f31f302944457018fc21e94ed0b7e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/AbstractTileFactory.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 14c4d9b107de24a028e1bd452df7ae29
+timeCreated: 1494972519
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/DirectionsFactory.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/DirectionsFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e345cd7e8b722684d419472efd6283fab16b0c60
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/DirectionsFactory.cs
@@ -0,0 +1,165 @@
+namespace Mapbox.Unity.MeshGeneration.Factories
+{
+	using UnityEngine;
+	using Mapbox.Directions;
+	using System.Collections.Generic;
+	using System.Linq;
+	using Mapbox.Unity.Map;
+	using Data;
+	using Modifiers;
+	using Mapbox.Utils;
+	using Mapbox.Unity.Utilities;
+	using System.Collections;
+
+	public class DirectionsFactory : MonoBehaviour
+	{
+		[SerializeField]
+		AbstractMap _map;
+
+		[SerializeField]
+		MeshModifier[] MeshModifiers;
+		[SerializeField]
+		Material _material;
+
+		[SerializeField]
+		Transform[] _waypoints;
+		private List<Vector3> _cachedWaypoints;
+
+		[SerializeField]
+		[Range(1,10)]
+		private float UpdateFrequency = 2;
+
+
+
+		private Directions _directions;
+		private int _counter;
+
+		GameObject _directionsGO;
+		private bool _recalculateNext;
+
+		protected virtual void Awake()
+		{
+			if (_map == null)
+			{
+				_map = FindObjectOfType<AbstractMap>();
+			}
+			_directions = MapboxAccess.Instance.Directions;
+			_map.OnInitialized += Query;
+			_map.OnUpdated += Query;
+		}
+
+		public void Start()
+		{
+			_cachedWaypoints = new List<Vector3>(_waypoints.Length);
+			foreach (var item in _waypoints)
+			{
+				_cachedWaypoints.Add(item.position);
+			}
+			_recalculateNext = false;
+
+			foreach (var modifier in MeshModifiers)
+			{
+				modifier.Initialize();
+			}
+
+			StartCoroutine(QueryTimer());
+		}
+
+		protected virtual void OnDestroy()
+		{
+			_map.OnInitialized -= Query;
+			_map.OnUpdated -= Query;
+		}
+
+		void Query()
+		{
+			var count = _waypoints.Length;
+			var wp = new Vector2d[count];
+			for (int i = 0; i < count; i++)
+			{
+				wp[i] = _waypoints[i].GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
+			}
+			var _directionResource = new DirectionResource(wp, RoutingProfile.Driving);
+			_directionResource.Steps = true;
+			_directions.Query(_directionResource, HandleDirectionsResponse);
+		}
+
+		public IEnumerator QueryTimer()
+		{
+			while (true)
+			{
+				yield return new WaitForSeconds(UpdateFrequency);
+				for (int i = 0; i < _waypoints.Length; i++)
+				{
+					if (_waypoints[i].position != _cachedWaypoints[i])
+					{
+						_recalculateNext = true;
+						_cachedWaypoints[i] = _waypoints[i].position;
+					}
+				}
+
+				if (_recalculateNext)
+				{
+					Query();
+					_recalculateNext = false;
+				}
+			}
+		}
+
+		void HandleDirectionsResponse(DirectionsResponse response)
+		{
+			if (response == null || null == response.Routes || response.Routes.Count < 1)
+			{
+				return;
+			}
+
+			var meshData = new MeshData();
+			var dat = new List<Vector3>();
+			foreach (var point in response.Routes[0].Geometry)
+			{
+				dat.Add(Conversions.GeoToWorldPosition(point.x, point.y, _map.CenterMercator, _map.WorldRelativeScale).ToVector3xz());
+			}
+
+			var feat = new VectorFeatureUnity();
+			feat.Points.Add(dat);
+
+			foreach (MeshModifier mod in MeshModifiers.Where(x => x.Active))
+			{
+				mod.Run(feat, meshData, _map.WorldRelativeScale);
+			}
+
+			CreateGameObject(meshData);
+		}
+
+		GameObject CreateGameObject(MeshData data)
+		{
+			if (_directionsGO != null)
+			{
+				_directionsGO.Destroy();
+			}
+			_directionsGO = new GameObject("direction waypoint " + " entity");
+			var mesh = _directionsGO.AddComponent<MeshFilter>().mesh;
+			mesh.subMeshCount = data.Triangles.Count;
+
+			mesh.SetVertices(data.Vertices);
+			_counter = data.Triangles.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				var triangle = data.Triangles[i];
+				mesh.SetTriangles(triangle, i);
+			}
+
+			_counter = data.UV.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				var uv = data.UV[i];
+				mesh.SetUVs(i, uv);
+			}
+
+			mesh.RecalculateNormals();
+			_directionsGO.AddComponent<MeshRenderer>().material = _material;
+			return _directionsGO;
+		}
+	}
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/DirectionsFactory.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/DirectionsFactory.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dc67308b50d6f38ca8ca0745ad9451a921f76445
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/DirectionsFactory.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 44d601772d842a94cb5ab933dca6bd4f
+timeCreated: 1485217963
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/ImageDataFetcher.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/ImageDataFetcher.cs
new file mode 100644
index 0000000000000000000000000000000000000000..73384e6c967778f8f3c28f38fffe340e35ea25e1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/ImageDataFetcher.cs
@@ -0,0 +1,54 @@
+using Mapbox.Map;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.MeshGeneration.Enums;
+using System;
+using System.Collections.Generic;
+
+public class ImageDataFetcher : DataFetcher
+{
+	public Action<UnityTile, RasterTile> DataRecieved = (t, s) => { };
+	public Action<UnityTile, RasterTile, TileErrorEventArgs> FetchingError = (t, r, s) => { };
+
+	//tile here should be totally optional and used only not to have keep a dictionary in terrain factory base
+	public override void FetchData(DataFetcherParameters parameters)
+	{
+		var imageDataParameters = parameters as ImageDataFetcherParameters;
+		if(imageDataParameters == null)
+		{
+			return;
+		}
+		RasterTile rasterTile;
+		if (imageDataParameters.tilesetId.StartsWith("mapbox://", StringComparison.Ordinal))
+		{
+			rasterTile = imageDataParameters.useRetina ? new RetinaRasterTile() : new RasterTile();
+		}
+		else
+		{
+			rasterTile = imageDataParameters.useRetina ? new ClassicRetinaRasterTile() : new ClassicRasterTile();
+		}
+
+		if (imageDataParameters.tile != null)
+		{
+			imageDataParameters.tile.AddTile(rasterTile);
+		}
+
+		rasterTile.Initialize(_fileSource, imageDataParameters.tile.CanonicalTileId, imageDataParameters.tilesetId, () =>
+		{
+			if (imageDataParameters.tile.CanonicalTileId != rasterTile.Id)
+			{
+				//this means tile object is recycled and reused. Returned data doesn't belong to this tile but probably the previous one. So we're trashing it.
+				return;
+			}
+
+			if (rasterTile.HasError)
+			{
+				FetchingError(imageDataParameters.tile, rasterTile, new TileErrorEventArgs(imageDataParameters.tile.CanonicalTileId, rasterTile.GetType(), imageDataParameters.tile, rasterTile.Exceptions));
+			}
+			else
+			{
+				DataRecieved(imageDataParameters.tile, rasterTile);
+			}
+
+		});
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/ImageDataFetcher.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/ImageDataFetcher.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..675df3a5c3837712219450b21f8bb24bbb73d594
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/ImageDataFetcher.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6293dc8bcca4970409cf9f4e93d178b5
+timeCreated: 1524268181
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/MapImageFactory.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/MapImageFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..35cb8d2e176d793a1d41414b6e1747d8effd2740
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/MapImageFactory.cs
@@ -0,0 +1,172 @@
+namespace Mapbox.Unity.MeshGeneration.Factories
+{
+	using System;
+	using Mapbox.Map;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Enums;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.Map;
+	using System.Collections.Generic;
+
+	public enum MapImageType
+	{
+		BasicMapboxStyle,
+		Custom,
+		None
+	}
+
+	/// <summary>
+	/// Uses raster image services to create materials & textures for terrain
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Factories/Image Factory")]
+	public class MapImageFactory : AbstractTileFactory
+	{
+		[SerializeField]
+		ImageryLayerProperties _properties;
+		protected ImageDataFetcher DataFetcher;
+
+		public ImageryLayerProperties Properties
+		{
+			get
+			{
+				return _properties;
+			}
+		}
+
+		public string TilesetId
+		{
+			get
+			{
+				return _properties.sourceOptions.Id;
+			}
+
+			set
+			{
+				_properties.sourceOptions.Id = value;
+			}
+		}
+
+		#region UnityMethods
+		protected virtual void OnDestroy()
+		{
+			//unregister events
+			if (DataFetcher != null)
+			{
+				DataFetcher.DataRecieved -= OnImageRecieved;
+				DataFetcher.FetchingError -= OnDataError;
+			}
+		}
+		#endregion
+
+		#region DataFetcherEvents
+		private void OnImageRecieved(UnityTile tile, RasterTile rasterTile)
+		{
+			if (tile != null)
+			{
+				_tilesWaitingResponse.Remove(tile);
+
+				if (tile.RasterDataState != TilePropertyState.Unregistered)
+				{
+					tile.SetRasterData(rasterTile.Data, _properties.rasterOptions.useMipMap, _properties.rasterOptions.useCompression);
+				}
+			}
+		}
+
+		//merge this with OnErrorOccurred?
+		protected virtual void OnDataError(UnityTile tile, RasterTile rasterTile, TileErrorEventArgs e)
+		{
+			if (tile != null)
+			{
+				if (tile.RasterDataState != TilePropertyState.Unregistered)
+				{
+					tile.RasterDataState = TilePropertyState.Error;
+					_tilesWaitingResponse.Remove(tile);
+					OnErrorOccurred(e);
+				}
+
+			}
+		}
+		#endregion
+
+		#region AbstractFactoryOverrides
+		protected override void OnInitialized()
+		{
+			DataFetcher = ScriptableObject.CreateInstance<ImageDataFetcher>();
+			DataFetcher.DataRecieved += OnImageRecieved;
+			DataFetcher.FetchingError += OnDataError;
+		}
+
+		public override void SetOptions(LayerProperties options)
+		{
+			_properties = (ImageryLayerProperties)options;
+		}
+
+		protected override void OnRegistered(UnityTile tile)
+		{
+			if (_properties.sourceType == ImagerySourceType.None)
+			{
+				tile.SetRasterData(null);
+				tile.RasterDataState = TilePropertyState.None;
+				return;
+			}
+			else
+			{
+				tile.RasterDataState = TilePropertyState.Loading;
+				if (_properties.sourceType != ImagerySourceType.Custom)
+				{
+					_properties.sourceOptions.layerSource = MapboxDefaultImagery.GetParameters(_properties.sourceType);
+				}
+				ImageDataFetcherParameters parameters = new ImageDataFetcherParameters()
+				{
+					canonicalTileId = tile.CanonicalTileId,
+					tile = tile,
+					tilesetId = TilesetId,
+					useRetina = _properties.rasterOptions.useRetina
+				};
+				DataFetcher.FetchData(parameters);
+			}
+		}
+
+		/// <summary>
+		/// Method to be called when a tile error has occurred.
+		/// </summary>
+		/// <param name="e"><see cref="T:Mapbox.Map.TileErrorEventArgs"/> instance/</param>
+		protected override void OnErrorOccurred(UnityTile tile, TileErrorEventArgs e)
+		{
+			base.OnErrorOccurred(tile, e);
+			if (tile != null)
+			{
+				tile.RasterDataState = TilePropertyState.Error;
+			}
+		}
+
+		protected override void OnUnregistered(UnityTile tile)
+		{
+			if (_tilesWaitingResponse != null && _tilesWaitingResponse.Contains(tile))
+			{
+				_tilesWaitingResponse.Remove(tile);
+			}
+		}
+
+		public override void Clear()
+		{
+			DestroyImmediate(DataFetcher);
+		}
+
+		protected override void OnPostProcess(UnityTile tile)
+		{
+
+		}
+
+		public override void UnbindEvents()
+		{
+			base.UnbindEvents();
+		}
+
+		protected override void OnUnbindEvents()
+		{
+		}
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/MapImageFactory.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/MapImageFactory.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..602193bf18dcd10b4dcbe2fd417a52b50c86e83f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/MapImageFactory.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2b10536479dade041b6db9893fdf723a
+timeCreated: 1481718773
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {fileID: 2800000, guid: 2ac69ccfbca692443a02f68e1a689694, type: 3}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainDataFetcher.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainDataFetcher.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6bde8abe6b0ee2a5d10f4b9694705ebdbe12c17e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainDataFetcher.cs
@@ -0,0 +1,77 @@
+using Mapbox.Map;
+using Mapbox.Unity;
+using Mapbox.Unity.Map;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.MeshGeneration.Enums;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class DataFetcherParameters
+{
+	public CanonicalTileId canonicalTileId;
+	public string tilesetId;
+	public UnityTile tile;
+}
+
+public class ImageDataFetcherParameters : DataFetcherParameters
+{
+	public bool useRetina = true;
+}
+
+public class TerrainDataFetcherParameters : DataFetcherParameters
+{
+}
+
+public class VectorDataFetcherParameters : DataFetcherParameters
+{
+	public bool useOptimizedStyle = false;
+	public Style style = null;
+}
+
+public abstract class DataFetcher : ScriptableObject
+{
+	protected MapboxAccess _fileSource;
+
+	public void OnEnable()
+	{
+		_fileSource = MapboxAccess.Instance;
+	}
+
+	public abstract void FetchData(DataFetcherParameters parameters);
+}
+
+public class TerrainDataFetcher : DataFetcher
+{
+	public Action<UnityTile, RawPngRasterTile> DataRecieved = (t, s) => { };
+	public Action<UnityTile, RawPngRasterTile, TileErrorEventArgs> FetchingError = (t, r, s) => { };
+
+	//tile here should be totally optional and used only not to have keep a dictionary in terrain factory base
+	public override void FetchData(DataFetcherParameters parameters)
+	{
+		var terrainDataParameters = parameters as TerrainDataFetcherParameters;
+		if(terrainDataParameters == null)
+		{
+			return;
+		}
+		var pngRasterTile = new RawPngRasterTile();
+		pngRasterTile.Initialize(_fileSource, terrainDataParameters.canonicalTileId, terrainDataParameters.tilesetId, () =>
+		{
+			if (terrainDataParameters.tile.CanonicalTileId != pngRasterTile.Id)
+			{
+				//this means tile object is recycled and reused. Returned data doesn't belong to this tile but probably the previous one. So we're trashing it.
+				return;
+			}
+
+			if (pngRasterTile.HasError)
+			{
+				FetchingError(terrainDataParameters.tile, pngRasterTile, new TileErrorEventArgs(terrainDataParameters.canonicalTileId, pngRasterTile.GetType(), null, pngRasterTile.Exceptions));
+			}
+			else
+			{
+				DataRecieved(terrainDataParameters.tile, pngRasterTile);
+			}
+		});
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainDataFetcher.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainDataFetcher.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4ae6c7131f0f922b5952fdd9a041c8062c337ad8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainDataFetcher.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c823321064d5b2f4db21c4fdbd6b1c1f
+timeCreated: 1523880895
+licenseType: Free
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainFactoryBase.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainFactoryBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..87ad15cbb250f97e5bb9919feac52a0d84a0131f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainFactoryBase.cs
@@ -0,0 +1,153 @@
+using Mapbox.Unity.MeshGeneration.Factories;
+using System.Collections;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.Map;
+using Mapbox.Map;
+using Mapbox.Unity.MeshGeneration.Enums;
+using Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies;
+using System;
+using System.Collections.Generic;
+
+namespace Mapbox.Unity.MeshGeneration.Factories
+{
+	public class TerrainFactoryBase : AbstractTileFactory
+	{
+		public TerrainStrategy Strategy;
+		[SerializeField]
+		protected ElevationLayerProperties _elevationOptions = new ElevationLayerProperties();
+		protected TerrainDataFetcher DataFetcher;
+
+		public TerrainDataFetcher GetFetcher()
+		{
+			return DataFetcher;
+		}
+
+		public ElevationLayerProperties Properties
+		{
+			get
+			{
+				return _elevationOptions;
+			}
+		}
+
+		#region UnityMethods
+		private void OnDestroy()
+		{
+			if (DataFetcher != null)
+			{
+				DataFetcher.DataRecieved -= OnTerrainRecieved;
+				DataFetcher.FetchingError -= OnDataError;
+			}
+		}
+		#endregion
+
+		#region AbstractFactoryOverrides
+		protected override void OnInitialized()
+		{
+			Strategy.Initialize(_elevationOptions);
+			DataFetcher = ScriptableObject.CreateInstance<TerrainDataFetcher>();
+			DataFetcher.DataRecieved += OnTerrainRecieved;
+			DataFetcher.FetchingError += OnDataError;
+		}
+
+		public override void SetOptions(LayerProperties options)
+		{
+			_elevationOptions = (ElevationLayerProperties)options;
+			Strategy.Initialize(_elevationOptions);
+		}
+
+		protected override void OnRegistered(UnityTile tile)
+		{
+			if (Properties.sourceType == ElevationSourceType.None)
+			{
+				tile.SetHeightData(null);
+				tile.MeshFilter.sharedMesh.Clear();
+				tile.ElevationType = TileTerrainType.None;
+				tile.HeightDataState = TilePropertyState.None;
+				return;
+			}
+
+			if (Strategy is IElevationBasedTerrainStrategy)
+			{
+				tile.HeightDataState = TilePropertyState.Loading;
+				TerrainDataFetcherParameters parameters = new TerrainDataFetcherParameters()
+				{
+					canonicalTileId = tile.CanonicalTileId,
+					tilesetId = _elevationOptions.sourceOptions.Id,
+					tile = tile
+				};
+				DataFetcher.FetchData(parameters);
+			}
+			else
+			{
+				//reseting height data
+				tile.SetHeightData(null);
+				Strategy.RegisterTile(tile);
+				tile.HeightDataState = TilePropertyState.Loaded;
+			}
+		}
+
+		protected override void OnUnregistered(UnityTile tile)
+		{
+			if (_tilesWaitingResponse != null && _tilesWaitingResponse.Contains(tile))
+			{
+				_tilesWaitingResponse.Remove(tile);
+			}
+			Strategy.UnregisterTile(tile);
+		}
+
+		public override void Clear()
+		{
+			DestroyImmediate(DataFetcher);
+		}
+
+		protected override void OnPostProcess(UnityTile tile)
+		{
+			Strategy.PostProcessTile(tile);
+		}
+
+		public override void UnbindEvents()
+		{
+			base.UnbindEvents();
+		}
+
+		protected override void OnUnbindEvents()
+		{
+		}
+		#endregion
+
+		#region DataFetcherEvents
+		private void OnTerrainRecieved(UnityTile tile, RawPngRasterTile pngRasterTile)
+		{
+			if (tile != null)
+			{
+				_tilesWaitingResponse.Remove(tile);
+
+				if (tile.HeightDataState != TilePropertyState.Unregistered)
+				{
+					tile.SetHeightData(pngRasterTile.Data, _elevationOptions.requiredOptions.exaggerationFactor, _elevationOptions.modificationOptions.useRelativeHeight, _elevationOptions.colliderOptions.addCollider);
+					Strategy.RegisterTile(tile);
+				}
+
+
+			}
+		}
+
+		private void OnDataError(UnityTile tile, RawPngRasterTile rawTile, TileErrorEventArgs e)
+		{
+			base.OnErrorOccurred(tile, e);
+			if (tile != null)
+			{
+				_tilesWaitingResponse.Remove(tile);
+				if (tile.HeightDataState != TilePropertyState.Unregistered)
+				{
+					Strategy.DataErrorOccurred(tile, e);
+					tile.HeightDataState = TilePropertyState.Error;
+				}
+			}
+		}
+		#endregion
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainFactoryBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainFactoryBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..46bd98e24410057594f63e41da04c0cde4b69074
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainFactoryBase.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: af9867f09d360f2409d9d08a0ff16906
+timeCreated: 1522684959
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4783427d9d296596520d5573d2449eed107bce51
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9a7ab3f3c54be5140aecaed29e7e4f65
+folderAsset: yes
+timeCreated: 1522755730
+licenseType: Free
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d9195c90a9f58eafa99c6f01d7e4a32887490489
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainStrategy.cs
@@ -0,0 +1,416 @@
+using System.Collections.Generic;
+using System.Diagnostics;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.Map;
+using Mapbox.Map;
+using Mapbox.Utils;
+using Debug = UnityEngine.Debug;
+
+namespace Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies
+{
+	public class MeshDataArray
+	{
+		public Vector3[] Vertices;
+		public Vector3[] Normals;
+		public int[] Triangles;
+		public Vector2[] Uvs;
+	}
+
+	public class ElevatedTerrainStrategy : TerrainStrategy, IElevationBasedTerrainStrategy
+	{
+		private Dictionary<UnwrappedTileId, Mesh> _meshData;
+		private MeshData _currentTileMeshData;
+		private Dictionary<UnityTile, MeshDataArray> _cachedMeshDataArrays;
+		private Dictionary<UnwrappedTileId, MeshDataArray> _dataArrays;
+		private Dictionary<int, MeshDataArray> _meshSamples;
+
+		private List<Vector3> _newVertexList;
+		private List<Vector3> _newNormalList;
+		private List<Vector2> _newUvList;
+		private List<int> _newTriangleList;
+		private Vector3 _newDir;
+		private int _vertA, _vertB, _vertC;
+		private int _counter;
+
+		public override int RequiredVertexCount
+		{
+			get { return _elevationOptions.modificationOptions.sampleCount * _elevationOptions.modificationOptions.sampleCount; }
+		}
+
+		public override void Initialize(ElevationLayerProperties elOptions)
+		{
+			base.Initialize(elOptions);
+
+			_meshSamples = new Dictionary<int, MeshDataArray>();
+			_dataArrays = new Dictionary<UnwrappedTileId, MeshDataArray>();
+			_cachedMeshDataArrays = new Dictionary<UnityTile, MeshDataArray>();
+
+			_meshData = new Dictionary<UnwrappedTileId, Mesh>();
+			_currentTileMeshData = new MeshData();
+			var sampleCountSquare = _elevationOptions.modificationOptions.sampleCount * _elevationOptions.modificationOptions.sampleCount;
+			_newVertexList = new List<Vector3>(sampleCountSquare);
+			_newNormalList = new List<Vector3>(sampleCountSquare);
+			_newUvList = new List<Vector2>(sampleCountSquare);
+			_newTriangleList = new List<int>();
+		}
+
+		public override void RegisterTile(UnityTile tile)
+		{
+			if (_elevationOptions.unityLayerOptions.addToLayer && tile.gameObject.layer != _elevationOptions.unityLayerOptions.layerId)
+			{
+				tile.gameObject.layer = _elevationOptions.unityLayerOptions.layerId;
+			}
+
+			if (tile.MeshFilter.sharedMesh.vertexCount != RequiredVertexCount || !_cachedMeshDataArrays.ContainsKey(tile))
+			{
+				tile.MeshFilter.sharedMesh.Clear();
+
+				if (_meshSamples.ContainsKey(_elevationOptions.modificationOptions.sampleCount))
+				{
+					var newMesh = _meshSamples[_elevationOptions.modificationOptions.sampleCount];
+					tile.MeshFilter.sharedMesh.vertices = newMesh.Vertices;
+					tile.MeshFilter.sharedMesh.normals = newMesh.Normals;
+					tile.MeshFilter.sharedMesh.triangles = newMesh.Triangles;
+					tile.MeshFilter.sharedMesh.uv = newMesh.Uvs;
+				}
+				else
+				{
+					//TODO remoev tile dependency from CreateBaseMesh method
+					var newMesh = CreateBaseMesh(tile, _elevationOptions.modificationOptions.sampleCount);
+					_meshSamples.Add(_elevationOptions.modificationOptions.sampleCount, newMesh);
+					tile.MeshFilter.sharedMesh.vertices = newMesh.Vertices;
+					tile.MeshFilter.sharedMesh.normals = newMesh.Normals;
+					tile.MeshFilter.sharedMesh.triangles = newMesh.Triangles;
+					tile.MeshFilter.sharedMesh.uv = newMesh.Uvs;
+				}
+
+				if (!_dataArrays.ContainsKey(tile.UnwrappedTileId))
+				{
+					_dataArrays.Add(tile.UnwrappedTileId, new MeshDataArray()
+					{
+						Normals = tile.MeshFilter.sharedMesh.normals,
+						Vertices = tile.MeshFilter.sharedMesh.vertices,
+						Triangles = tile.MeshFilter.sharedMesh.triangles
+					});
+				}
+			}
+			else
+			{
+				_dataArrays.Add(tile.UnwrappedTileId, _cachedMeshDataArrays[tile]);
+				_cachedMeshDataArrays.Remove(tile);
+			}
+
+			tile.ElevationType = TileTerrainType.Elevated;
+
+			GenerateTerrainMesh(tile);
+		}
+
+		public override void UnregisterTile(UnityTile tile)
+		{
+			_meshData.Remove(tile.UnwrappedTileId);
+			if (_dataArrays.ContainsKey(tile.UnwrappedTileId))
+			{
+				_cachedMeshDataArrays.Add(tile, _dataArrays[tile.UnwrappedTileId]);
+				_dataArrays.Remove(tile.UnwrappedTileId);
+			}
+		}
+
+		public override void DataErrorOccurred(UnityTile t, TileErrorEventArgs e)
+		{
+			ResetToFlatMesh(t);
+		}
+
+		public override void PostProcessTile(UnityTile tile)
+		{
+
+		}
+
+		#region mesh gen
+
+		private MeshDataArray CreateBaseMesh(UnityTile tile, int sampleCount)
+		{
+			//TODO use arrays instead of lists
+			_newVertexList.Clear();
+			_newNormalList.Clear();
+			_newUvList.Clear();
+			_newTriangleList.Clear();
+
+			for (float y = 0; y < sampleCount; y++)
+			{
+				var yrat = y / (sampleCount - 1);
+				for (float x = 0; x < sampleCount; x++)
+				{
+					var xrat = x / (sampleCount - 1);
+
+					var xx = Mathd.Lerp(tile.Rect.Min.x, tile.Rect.Max.x, xrat);
+					var yy = Mathd.Lerp(tile.Rect.Min.y, tile.Rect.Max.y, yrat);
+
+					_newVertexList.Add(new Vector3(
+						(float) (xx - tile.Rect.Center.x) * tile.TileScale,
+						0,
+						(float) (yy - tile.Rect.Center.y) * tile.TileScale));
+					_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Up);
+					_newUvList.Add(new Vector2(x * 1f / (sampleCount - 1), 1 - (y * 1f / (sampleCount - 1))));
+				}
+			}
+
+			int vertA, vertB, vertC;
+			for (int y = 0; y < sampleCount - 1; y++)
+			{
+				for (int x = 0; x < sampleCount - 1; x++)
+				{
+					vertA = (y * sampleCount) + x;
+					vertB = (y * sampleCount) + x + sampleCount + 1;
+					vertC = (y * sampleCount) + x + sampleCount;
+					_newTriangleList.Add(vertA);
+					_newTriangleList.Add(vertB);
+					_newTriangleList.Add(vertC);
+
+					vertA = (y * sampleCount) + x;
+					vertB = (y * sampleCount) + x + 1;
+					vertC = (y * sampleCount) + x + sampleCount + 1;
+					_newTriangleList.Add(vertA);
+					_newTriangleList.Add(vertB);
+					_newTriangleList.Add(vertC);
+				}
+			}
+
+			var mesh = new MeshDataArray();
+			mesh.Vertices = _newVertexList.ToArray();
+			mesh.Normals = _newNormalList.ToArray();
+			mesh.Uvs = _newUvList.ToArray();
+			mesh.Triangles = _newTriangleList.ToArray();
+			return mesh;
+		}
+
+		private Vector3[] _verts;
+		private Vector3[] _normals;
+		private Vector3[] _targetVerts;
+		private Vector3[] _targetNormals;
+
+
+		private void GenerateTerrainMesh(UnityTile tile)
+		{
+			_verts = _dataArrays[tile.UnwrappedTileId].Vertices;
+			_normals = _dataArrays[tile.UnwrappedTileId].Normals;
+
+			var _sampleCount = _elevationOptions.modificationOptions.sampleCount;
+			var hd = tile.HeightData;
+			var ts = tile.TileScale;
+			for (float y = 0; y < _sampleCount; y++)
+			{
+				for (float x = 0; x < _sampleCount; x++)
+				{
+					_verts[(int) (y * _sampleCount + x)] = new Vector3(
+						_verts[(int) (y * _sampleCount + x)].x,
+						hd[((int)((1 - y / (_sampleCount - 1)) * 255) * 256) + ((int)(x / (_sampleCount - 1) * 255))] * ts,
+						_verts[(int) (y * _sampleCount + x)].z);
+					_normals[(int) (y * _sampleCount + x)] = Mapbox.Unity.Constants.Math.Vector3Zero;
+				}
+			}
+
+			FixStitches(tile.UnwrappedTileId, _verts, _normals);
+
+			tile.MeshFilter.sharedMesh.vertices = _verts;
+			tile.MeshFilter.sharedMesh.RecalculateNormals();
+
+			tile.MeshFilter.sharedMesh.RecalculateBounds();
+
+			if (!_meshData.ContainsKey(tile.UnwrappedTileId))
+			{
+				_meshData.Add(tile.UnwrappedTileId, tile.MeshFilter.sharedMesh);
+			}
+
+			if (_elevationOptions.colliderOptions.addCollider)
+			{
+				var meshCollider = tile.Collider as MeshCollider;
+				if (meshCollider)
+				{
+					meshCollider.sharedMesh = tile.MeshFilter.sharedMesh;
+				}
+			}
+		}
+
+		private void ResetToFlatMesh(UnityTile tile)
+		{
+			if (tile.MeshFilter.sharedMesh.vertexCount == 0)
+			{
+				CreateBaseMesh(tile, _elevationOptions.modificationOptions.sampleCount);
+			}
+			else
+			{
+				tile.MeshFilter.sharedMesh.GetVertices(_currentTileMeshData.Vertices);
+				tile.MeshFilter.sharedMesh.GetNormals(_currentTileMeshData.Normals);
+
+				_counter = _currentTileMeshData.Vertices.Count;
+				for (int i = 0; i < _counter; i++)
+				{
+					_currentTileMeshData.Vertices[i] = new Vector3(
+						_currentTileMeshData.Vertices[i].x,
+						0,
+						_currentTileMeshData.Vertices[i].z);
+					_currentTileMeshData.Normals[i] = Mapbox.Unity.Constants.Math.Vector3Up;
+				}
+
+				tile.MeshFilter.sharedMesh.SetVertices(_currentTileMeshData.Vertices);
+				tile.MeshFilter.sharedMesh.SetNormals(_currentTileMeshData.Normals);
+
+				tile.MeshFilter.sharedMesh.RecalculateBounds();
+			}
+		}
+
+		/// <summary>
+		/// Checkes all neighbours of the given tile and stitches the edges to achieve a smooth mesh surface.
+		/// </summary>
+		/// <param name="tileId">UnwrappedTileId of the tile being processed.</param>
+		/// <param name="mesh"></param>
+		private void FixStitches(UnwrappedTileId tileId, Vector3[] verts, Vector3[] normals)
+		{
+			var _sampleCount = _elevationOptions.modificationOptions.sampleCount;
+			var meshVertCount = verts.Length;
+
+			if (_dataArrays.ContainsKey(tileId.North))
+			{
+				_targetVerts = _dataArrays[tileId.North].Vertices;
+				_targetNormals = _dataArrays[tileId.North].Normals;
+
+				for (int i = 0; i < _sampleCount; i++)
+				{
+					//just snapping the y because vertex pos is relative and we'll have to do tile pos + vertex pos for x&z otherwise
+					verts[i] = new Vector3(
+						verts[i].x,
+						_targetVerts[meshVertCount - _sampleCount + i].y,
+						verts[i].z);
+
+					normals[i] = new Vector3(_targetNormals[meshVertCount - _sampleCount + i].x,
+						_targetNormals[meshVertCount - _sampleCount + i].y,
+						_targetNormals[meshVertCount - _sampleCount + i].z);
+				}
+			}
+
+			if (_dataArrays.ContainsKey(tileId.South))
+			{
+				_targetVerts = _dataArrays[tileId.South].Vertices;
+				_targetNormals = _dataArrays[tileId.South].Normals;
+
+				for (int i = 0; i < _sampleCount; i++)
+				{
+					verts[meshVertCount - _sampleCount + i] = new Vector3(
+						verts[meshVertCount - _sampleCount + i].x,
+						_targetVerts[i].y,
+						verts[meshVertCount - _sampleCount + i].z);
+
+					normals[meshVertCount - _sampleCount + i] = new Vector3(
+						_targetNormals[i].x,
+						_targetNormals[i].y,
+						_targetNormals[i].z);
+				}
+			}
+
+			if (_dataArrays.ContainsKey(tileId.West))
+			{
+				_targetVerts = _dataArrays[tileId.West].Vertices;
+				_targetNormals = _dataArrays[tileId.West].Normals;
+
+				for (int i = 0; i < _sampleCount; i++)
+				{
+					verts[i * _sampleCount] = new Vector3(
+						verts[i * _sampleCount].x,
+						_targetVerts[i * _sampleCount + _sampleCount - 1].y,
+						verts[i * _sampleCount].z);
+
+					normals[i * _sampleCount] = new Vector3(
+						_targetNormals[i * _sampleCount + _sampleCount - 1].x,
+						_targetNormals[i * _sampleCount + _sampleCount - 1].y,
+						_targetNormals[i * _sampleCount + _sampleCount - 1].z);
+				}
+			}
+
+			if (_dataArrays.ContainsKey(tileId.East))
+			{
+				_targetVerts = _dataArrays[tileId.East].Vertices;
+				_targetNormals = _dataArrays[tileId.East].Normals;
+
+				for (int i = 0; i < _sampleCount; i++)
+				{
+					verts[i * _sampleCount + _sampleCount - 1] = new Vector3(
+						verts[i * _sampleCount + _sampleCount - 1].x,
+						_targetVerts[i * _sampleCount].y,
+						verts[i * _sampleCount + _sampleCount - 1].z);
+
+					normals[i * _sampleCount + _sampleCount - 1] = new Vector3(
+						_targetNormals[i * _sampleCount].x,
+						_targetNormals[i * _sampleCount].y,
+						_targetNormals[i * _sampleCount].z);
+				}
+			}
+
+			if (_dataArrays.ContainsKey(tileId.NorthWest))
+			{
+				_targetVerts = _dataArrays[tileId.NorthWest].Vertices;
+				_targetNormals = _dataArrays[tileId.NorthWest].Normals;
+
+				verts[0] = new Vector3(
+					verts[0].x,
+					_targetVerts[meshVertCount - 1].y,
+					verts[0].z);
+
+				normals[0] = new Vector3(
+					_targetNormals[meshVertCount - 1].x,
+					_targetNormals[meshVertCount - 1].y,
+					_targetNormals[meshVertCount - 1].z);
+			}
+
+			if (_dataArrays.ContainsKey(tileId.NorthEast))
+			{
+				_targetVerts = _dataArrays[tileId.NorthEast].Vertices;
+				_targetNormals = _dataArrays[tileId.NorthEast].Normals;
+
+				verts[_sampleCount - 1] = new Vector3(
+					verts[_sampleCount - 1].x,
+					_targetVerts[meshVertCount - _sampleCount].y,
+					verts[_sampleCount - 1].z);
+
+				normals[_sampleCount - 1] = new Vector3(
+					_targetNormals[meshVertCount - _sampleCount].x,
+					_targetNormals[meshVertCount - _sampleCount].y,
+					_targetNormals[meshVertCount - _sampleCount].z);
+			}
+
+			if (_dataArrays.ContainsKey(tileId.SouthWest))
+			{
+				_targetVerts = _dataArrays[tileId.SouthWest].Vertices;
+				_targetNormals = _dataArrays[tileId.SouthWest].Normals;
+
+				verts[meshVertCount - _sampleCount] = new Vector3(
+					verts[meshVertCount - _sampleCount].x,
+					_targetVerts[_sampleCount - 1].y,
+					verts[meshVertCount - _sampleCount].z);
+
+				normals[meshVertCount - _sampleCount] = new Vector3(
+					_targetNormals[_sampleCount - 1].x,
+					_targetNormals[_sampleCount - 1].y,
+					_targetNormals[_sampleCount - 1].z);
+			}
+
+			if (_dataArrays.ContainsKey(tileId.SouthEast))
+			{
+				_targetVerts = _dataArrays[tileId.SouthEast].Vertices;
+				_targetNormals = _dataArrays[tileId.SouthEast].Normals;
+
+				verts[meshVertCount - 1] = new Vector3(
+					verts[meshVertCount - 1].x,
+					_targetVerts[0].y,
+					verts[meshVertCount - 1].z);
+
+				normals[meshVertCount - 1] = new Vector3(
+					_targetNormals[0].x,
+					_targetNormals[0].y,
+					_targetNormals[0].z);
+			}
+		}
+
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e7bed03256e88f12a32d8e1a695e16dde9633c1d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainStrategy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ea9b70aa9455c614f8701116ede4599d
+timeCreated: 1522755494
+licenseType: Free
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainWithSidesStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainWithSidesStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c101ce22443431e37da0b64a85461c003c04f978
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainWithSidesStrategy.cs
@@ -0,0 +1,534 @@
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.Map;
+using Mapbox.Map;
+using Mapbox.Utils;
+
+namespace Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies
+{
+	public class ElevatedTerrainWithSidesStrategy : TerrainStrategy, IElevationBasedTerrainStrategy
+	{
+		Mesh _stitchTarget;
+
+		protected Dictionary<UnwrappedTileId, Mesh> _meshData;
+		private MeshData _currentTileMeshData;
+		private MeshData _stitchTargetMeshData;
+
+		private List<Vector3> _newVertexList;
+		private List<Vector3> _newNormalList;
+		private List<Vector2> _newUvList;
+		private List<int> _newTriangleList;
+		private Vector3 _newDir;
+		private int _vertA, _vertB, _vertC;
+		private int _counter;
+		public override int RequiredVertexCount
+		{
+			get { return _elevationOptions.modificationOptions.sampleCount * _elevationOptions.modificationOptions.sampleCount
+			             + (4 * _elevationOptions.modificationOptions.sampleCount); }
+		}
+
+		public override void Initialize(ElevationLayerProperties elOptions)
+		{
+			_elevationOptions = elOptions;
+
+			_meshData = new Dictionary<UnwrappedTileId, Mesh>();
+			_currentTileMeshData = new MeshData();
+			_stitchTargetMeshData = new MeshData();
+			var sampleCountSquare = _elevationOptions.modificationOptions.sampleCount * _elevationOptions.modificationOptions.sampleCount;
+			_newVertexList = new List<Vector3>(sampleCountSquare);
+			_newNormalList = new List<Vector3>(sampleCountSquare);
+			_newUvList = new List<Vector2>(sampleCountSquare);
+			_newTriangleList = new List<int>();
+		}
+
+		public override void RegisterTile(UnityTile tile)
+		{
+			if (_elevationOptions.unityLayerOptions.addToLayer && tile.gameObject.layer != _elevationOptions.unityLayerOptions.layerId)
+			{
+				tile.gameObject.layer = _elevationOptions.unityLayerOptions.layerId;
+			}
+
+			if (tile.RasterDataState != Enums.TilePropertyState.Loaded)
+			{
+				if (_elevationOptions.sideWallOptions.isActive)
+				{
+					var firstMat = tile.MeshRenderer.materials[0];
+					tile.MeshRenderer.materials = new Material[2]
+					{
+						firstMat,
+						_elevationOptions.sideWallOptions.wallMaterial
+					};
+				}
+			}
+
+			if (tile.MeshFilter.sharedMesh.vertexCount != RequiredVertexCount)
+			{
+				CreateBaseMesh(tile);
+			}
+
+			if (_elevationOptions.colliderOptions.addCollider && tile.Collider == null)
+			{
+				tile.gameObject.AddComponent<MeshCollider>();
+			}
+
+			GenerateTerrainMesh(tile);
+		}
+
+		public override void DataErrorOccurred(UnityTile t, TileErrorEventArgs e)
+		{
+			ResetToFlatMesh(t);
+		}
+		
+		private void CreateBaseMesh(UnityTile tile)
+		{
+			//TODO use arrays instead of lists
+			_newVertexList.Clear();
+			_newNormalList.Clear();
+			_newUvList.Clear();
+			_newTriangleList.Clear();
+
+			var _sampleCount = _elevationOptions.modificationOptions.sampleCount;
+			for (float y = 0; y < _sampleCount; y++)
+			{
+				var yrat = y / (_sampleCount - 1);
+				for (float x = 0; x < _sampleCount; x++)
+				{
+					var xrat = x / (_sampleCount - 1);
+
+					var xx = Mathd.Lerp(tile.Rect.Min.x, tile.Rect.Max.x, xrat);
+					var yy = Mathd.Lerp(tile.Rect.Min.y, tile.Rect.Max.y, yrat);
+
+					_newVertexList.Add(new Vector3(
+						(float)(xx - tile.Rect.Center.x) * tile.TileScale,
+						0,
+						(float)(yy - tile.Rect.Center.y) * tile.TileScale));
+					_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Up);
+					_newUvList.Add(new Vector2(x * 1f / (_sampleCount - 1), 1 - (y * 1f / (_sampleCount - 1))));
+				}
+			}
+
+			int vertA, vertB, vertC;
+			for (int y = 0; y < _sampleCount - 1; y++)
+			{
+				for (int x = 0; x < _sampleCount - 1; x++)
+				{
+					vertA = (y * _sampleCount) + x;
+					vertB = (y * _sampleCount) + x + _sampleCount + 1;
+					vertC = (y * _sampleCount) + x + _sampleCount;
+					_newTriangleList.Add(vertA);
+					_newTriangleList.Add(vertB);
+					_newTriangleList.Add(vertC);
+
+					vertA = (y * _sampleCount) + x;
+					vertB = (y * _sampleCount) + x + 1;
+					vertC = (y * _sampleCount) + x + _sampleCount + 1;
+					_newTriangleList.Add(vertA);
+					_newTriangleList.Add(vertB);
+					_newTriangleList.Add(vertC);
+				}
+			}
+
+			var sideVertBase = _newVertexList.Count;
+
+			var lastRow = (_sampleCount - 1) * _sampleCount;
+			var baseTriList = new List<int>();
+			for (int x = 0; x < _sampleCount; x++)
+			{
+				//side wall
+				//024
+				//135
+				_newVertexList.Add(_newVertexList[x]);
+				_newVertexList.Add(new Vector3(
+					_newVertexList[x].x,
+					-_elevationOptions.sideWallOptions.wallHeight,
+					_newVertexList[x].z));
+				_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Forward);
+				_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Forward);
+				_newUvList.Add(new Vector2(_newUvList[x * _sampleCount].y, 1));
+				_newUvList.Add(new Vector2(_newUvList[x * _sampleCount].y, 0));
+
+				//---
+
+				_newVertexList.Add(_newVertexList[x * _sampleCount]);
+				_newVertexList.Add(new Vector3(
+						_newVertexList[x * _sampleCount].x,
+					-_elevationOptions.sideWallOptions.wallHeight,
+						_newVertexList[x * _sampleCount].z));
+				_newNormalList.Add(Vector3.left);
+				_newNormalList.Add(Vector3.left);
+				_newUvList.Add(new Vector2(_newUvList[x * _sampleCount].y, 1));
+				_newUvList.Add(new Vector2(_newUvList[x * _sampleCount].y, 0));
+
+				//---
+
+				_newVertexList.Add(_newVertexList[(x + 1) * _sampleCount - 1]);
+				_newVertexList.Add(new Vector3(
+						_newVertexList[(x + 1) * _sampleCount - 1].x,
+					-_elevationOptions.sideWallOptions.wallHeight,
+						_newVertexList[(x + 1) * _sampleCount - 1].z));
+				_newNormalList.Add(Vector3.right);
+				_newNormalList.Add(Vector3.right);
+				_newUvList.Add(new Vector2(_newUvList[x * _sampleCount].y, 1));
+				_newUvList.Add(new Vector2(_newUvList[x * _sampleCount].y, 0));
+
+				//---
+
+				_newVertexList.Add(_newVertexList[lastRow + x]);
+				_newVertexList.Add(new Vector3(
+					_newVertexList[lastRow + x].x,
+					-_elevationOptions.sideWallOptions.wallHeight,
+					_newVertexList[lastRow + x].z));
+				_newNormalList.Add(Vector3.back);
+				_newNormalList.Add(Vector3.back);
+				_newUvList.Add(new Vector2(_newUvList[x * _sampleCount].y, 1));
+				_newUvList.Add(new Vector2(_newUvList[x * _sampleCount].y, 0));
+
+				if (x > 0)
+				{
+					baseTriList.Add(sideVertBase + 8 * x);
+					baseTriList.Add(sideVertBase + 8 * x - 8);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 1);
+
+					baseTriList.Add(sideVertBase + 8 * x);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 1);
+					baseTriList.Add(sideVertBase + 8 * x + 1);
+
+					//---
+
+					baseTriList.Add(sideVertBase + 8 * x + 2);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 1 + 2);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 2);
+
+					baseTriList.Add(sideVertBase + 8 * x + 2);
+					baseTriList.Add(sideVertBase + 8 * x + 1 + 2);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 1 + 2);
+
+					//---
+
+					baseTriList.Add(sideVertBase + 8 * x + 4);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 4);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 1 + 4);
+
+					baseTriList.Add(sideVertBase + 8 * x + 4);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 1 + 4);
+					baseTriList.Add(sideVertBase + 8 * x + 1 + 4);
+
+					//---
+
+					baseTriList.Add(sideVertBase + 8 * x + 6);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 1 + 6);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 6);
+
+					baseTriList.Add(sideVertBase + 8 * x + 6);
+					baseTriList.Add(sideVertBase + 8 * x + 1 + 6);
+					baseTriList.Add(sideVertBase + 8 * x - 8 + 1 + 6);
+				}
+			}
+
+
+			var mesh = tile.MeshFilter.mesh;
+			mesh.SetVertices(_newVertexList);
+			mesh.SetNormals(_newNormalList);
+			mesh.SetUVs(0, _newUvList);
+			mesh.subMeshCount = 2;
+			mesh.SetTriangles(_newTriangleList, 0);
+			mesh.SetTriangles(baseTriList, 1);
+		}
+
+		public override void UnregisterTile(UnityTile tile)
+		{
+			_meshData.Remove(tile.UnwrappedTileId);
+		}
+
+		/// <summary>
+		/// Creates the non-flat terrain mesh, using a grid by defined resolution (_sampleCount). Vertex order goes right & up. Normals are calculated manually and UV map is fitted/stretched 1-1.
+		/// Any additional scripts or logic, like MeshCollider or setting layer, can be done here.
+		/// </summary>
+		/// <param name="tile"></param>
+		// <param name="heightMultiplier">Multiplier for queried height value</param>
+		private void GenerateTerrainMesh(UnityTile tile)
+		{
+			tile.MeshFilter.sharedMesh.GetVertices(_currentTileMeshData.Vertices);
+			tile.MeshFilter.sharedMesh.GetNormals(_currentTileMeshData.Normals);
+
+			var _sampleCount = _elevationOptions.modificationOptions.sampleCount;
+			int sideStart = _sampleCount * _sampleCount;
+			for (float y = 0; y < _sampleCount; y++)
+			{
+				for (float x = 0; x < _sampleCount; x++)
+				{
+					_currentTileMeshData.Vertices[(int)(y * _sampleCount + x)] = new Vector3(
+						_currentTileMeshData.Vertices[(int)(y * _sampleCount + x)].x,
+						tile.QueryHeightData(x / (_sampleCount - 1), 1 - y / (_sampleCount - 1)),
+						_currentTileMeshData.Vertices[(int)(y * _sampleCount + x)].z);
+					_currentTileMeshData.Normals[(int)(y * _sampleCount + x)] = Mapbox.Unity.Constants.Math.Vector3Zero;
+
+					if (y == 0)
+					{
+						_currentTileMeshData.Vertices[(int)(sideStart + 8 * x)] = _currentTileMeshData.Vertices[(int)(y * _sampleCount + x)];
+					}
+					else if (y == _sampleCount - 1)
+					{
+						_currentTileMeshData.Vertices[(int)(sideStart + 8 * x + 6)] = _currentTileMeshData.Vertices[(int)(y * _sampleCount + x)];
+					}
+
+					if (x == 0)
+					{
+						_currentTileMeshData.Vertices[(int)(sideStart + 8 * y + 2)] = _currentTileMeshData.Vertices[(int)(y * _sampleCount + x)];
+					}
+					else if (x == _sampleCount - 1)
+					{
+						_currentTileMeshData.Vertices[(int)(sideStart + 8 * y + 4)] = _currentTileMeshData.Vertices[(int)(y * _sampleCount + x)];
+					}
+				}
+			}
+
+			tile.MeshFilter.sharedMesh.SetVertices(_currentTileMeshData.Vertices);
+
+			for (int y = 0; y < _sampleCount - 1; y++)
+			{
+				for (int x = 0; x < _sampleCount - 1; x++)
+				{
+					_vertA = (y * _sampleCount) + x;
+					_vertB = (y * _sampleCount) + x + _sampleCount + 1;
+					_vertC = (y * _sampleCount) + x + _sampleCount;
+					_newDir = Vector3.Cross(_currentTileMeshData.Vertices[_vertB] - _currentTileMeshData.Vertices[_vertA], _currentTileMeshData.Vertices[_vertC] - _currentTileMeshData.Vertices[_vertA]);
+					_currentTileMeshData.Normals[_vertA] += _newDir;
+					_currentTileMeshData.Normals[_vertB] += _newDir;
+					_currentTileMeshData.Normals[_vertC] += _newDir;
+
+					_vertA = (y * _sampleCount) + x;
+					_vertB = (y * _sampleCount) + x + 1;
+					_vertC = (y * _sampleCount) + x + _sampleCount + 1;
+					_newDir = Vector3.Cross(_currentTileMeshData.Vertices[_vertB] - _currentTileMeshData.Vertices[_vertA], _currentTileMeshData.Vertices[_vertC] - _currentTileMeshData.Vertices[_vertA]);
+					_currentTileMeshData.Normals[_vertA] += _newDir;
+					_currentTileMeshData.Normals[_vertB] += _newDir;
+					_currentTileMeshData.Normals[_vertC] += _newDir;
+				}
+			}
+
+			FixStitches(tile.UnwrappedTileId, _currentTileMeshData);
+
+			tile.MeshFilter.sharedMesh.SetNormals(_currentTileMeshData.Normals);
+			tile.MeshFilter.sharedMesh.SetVertices(_currentTileMeshData.Vertices);
+
+			tile.MeshFilter.sharedMesh.RecalculateBounds();
+
+			if (!_meshData.ContainsKey(tile.UnwrappedTileId))
+			{
+				_meshData.Add(tile.UnwrappedTileId, tile.MeshFilter.mesh);
+			}
+
+			if (_elevationOptions.colliderOptions.addCollider)
+			{
+				var meshCollider = tile.Collider as MeshCollider;
+				if (meshCollider)
+				{
+					meshCollider.sharedMesh = tile.MeshFilter.mesh;
+				}
+			}
+		}
+
+		private void ResetToFlatMesh(UnityTile tile)
+		{
+			if (tile.MeshFilter.sharedMesh.vertexCount == 0)
+			{
+				CreateBaseMesh(tile);
+			}
+			else
+			{
+				tile.MeshFilter.sharedMesh.GetVertices(_currentTileMeshData.Vertices);
+				tile.MeshFilter.sharedMesh.GetNormals(_currentTileMeshData.Normals);
+
+				_counter = _currentTileMeshData.Vertices.Count;
+				for (int i = 0; i < _counter; i++)
+				{
+					_currentTileMeshData.Vertices[i] = new Vector3(
+						_currentTileMeshData.Vertices[i].x,
+						0,
+						_currentTileMeshData.Vertices[i].z);
+					_currentTileMeshData.Normals[i] = Mapbox.Unity.Constants.Math.Vector3Up;
+				}
+
+				tile.MeshFilter.sharedMesh.SetVertices(_currentTileMeshData.Vertices);
+				tile.MeshFilter.sharedMesh.SetNormals(_currentTileMeshData.Normals);
+
+				tile.MeshFilter.sharedMesh.RecalculateBounds();
+			}
+		}
+
+		/// <summary>
+		/// Checkes all neighbours of the given tile and stitches the edges to achieve a smooth mesh surface.
+		/// </summary>
+		/// <param name="tileId"></param>
+		/// <param name="mesh"></param>
+		private void FixStitches(UnwrappedTileId tileId, MeshData mesh)
+		{
+			var _sampleCount = _elevationOptions.modificationOptions.sampleCount;
+			var meshVertCount = _sampleCount * _sampleCount;
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.North, out _stitchTarget);
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+				for (int i = 0; i < _sampleCount; i++)
+				{
+					//just snapping the y because vertex pos is relative and we'll have to do tile pos + vertex pos for x&z otherwise
+					mesh.Vertices[i] = new Vector3(
+						mesh.Vertices[i].x,
+						_stitchTargetMeshData.Vertices[meshVertCount - _sampleCount + i].y,
+						mesh.Vertices[i].z);
+					mesh.Vertices[meshVertCount + (8 * i)] = mesh.Vertices[i];
+
+					mesh.Normals[i] = new Vector3(_stitchTargetMeshData.Normals[meshVertCount - _sampleCount + i].x,
+						_stitchTargetMeshData.Normals[meshVertCount - _sampleCount + i].y,
+						_stitchTargetMeshData.Normals[meshVertCount - _sampleCount + i].z);
+				}
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.South, out _stitchTarget);
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+				for (int i = 0; i < _sampleCount; i++)
+				{
+					mesh.Vertices[meshVertCount - _sampleCount + i] = new Vector3(
+						mesh.Vertices[meshVertCount - _sampleCount + i].x,
+						_stitchTargetMeshData.Vertices[i].y,
+						mesh.Vertices[meshVertCount - _sampleCount + i].z);
+					mesh.Vertices[meshVertCount + 6 + (8 * i)] = mesh.Vertices[meshVertCount - _sampleCount + i];
+
+					mesh.Normals[meshVertCount - _sampleCount + i] = new Vector3(
+						_stitchTargetMeshData.Normals[i].x,
+						_stitchTargetMeshData.Normals[i].y,
+						_stitchTargetMeshData.Normals[i].z);
+				}
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.West, out _stitchTarget);
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				for (int i = 0; i < _sampleCount; i++)
+				{
+					mesh.Vertices[i * _sampleCount] = new Vector3(
+						mesh.Vertices[i * _sampleCount].x,
+						_stitchTargetMeshData.Vertices[i * _sampleCount + _sampleCount - 1].y,
+						mesh.Vertices[i * _sampleCount].z);
+					mesh.Vertices[meshVertCount + 2 + (8 * i)] = mesh.Vertices[i * _sampleCount];
+
+					mesh.Normals[i * _sampleCount] = new Vector3(
+						_stitchTargetMeshData.Normals[i * _sampleCount + _sampleCount - 1].x,
+						_stitchTargetMeshData.Normals[i * _sampleCount + _sampleCount - 1].y,
+						_stitchTargetMeshData.Normals[i * _sampleCount + _sampleCount - 1].z);
+				}
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.East, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				for (int i = 0; i < _sampleCount; i++)
+				{
+					mesh.Vertices[i * _sampleCount + _sampleCount - 1] = new Vector3(
+						mesh.Vertices[i * _sampleCount + _sampleCount - 1].x,
+						_stitchTargetMeshData.Vertices[i * _sampleCount].y,
+						mesh.Vertices[i * _sampleCount + _sampleCount - 1].z);
+					mesh.Vertices[meshVertCount + 4 + (8 * i)] = mesh.Vertices[i * _sampleCount + _sampleCount - 1];
+
+					mesh.Normals[i * _sampleCount + _sampleCount - 1] = new Vector3(
+						_stitchTargetMeshData.Normals[i * _sampleCount].x,
+						_stitchTargetMeshData.Normals[i * _sampleCount].y,
+						_stitchTargetMeshData.Normals[i * _sampleCount].z);
+				}
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.NorthWest, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				mesh.Vertices[0] = new Vector3(
+					mesh.Vertices[0].x,
+					_stitchTargetMeshData.Vertices[meshVertCount - 1].y,
+					mesh.Vertices[0].z);
+
+				mesh.Normals[0] = new Vector3(
+					_stitchTargetMeshData.Normals[meshVertCount - 1].x,
+					_stitchTargetMeshData.Normals[meshVertCount - 1].y,
+					_stitchTargetMeshData.Normals[meshVertCount - 1].z);
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.NorthEast, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				mesh.Vertices[_sampleCount - 1] = new Vector3(
+					mesh.Vertices[_sampleCount - 1].x,
+					_stitchTargetMeshData.Vertices[meshVertCount - _sampleCount].y,
+					mesh.Vertices[_sampleCount - 1].z);
+
+				mesh.Normals[_sampleCount - 1] = new Vector3(
+					_stitchTargetMeshData.Normals[meshVertCount - _sampleCount].x,
+					_stitchTargetMeshData.Normals[meshVertCount - _sampleCount].y,
+					_stitchTargetMeshData.Normals[meshVertCount - _sampleCount].z);
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.SouthWest, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				mesh.Vertices[meshVertCount - _sampleCount] = new Vector3(
+					mesh.Vertices[meshVertCount - _sampleCount].x,
+					_stitchTargetMeshData.Vertices[_sampleCount - 1].y,
+					mesh.Vertices[meshVertCount - _sampleCount].z);
+
+				mesh.Normals[meshVertCount - _sampleCount] = new Vector3(
+					_stitchTargetMeshData.Normals[_sampleCount - 1].x,
+					_stitchTargetMeshData.Normals[_sampleCount - 1].y,
+					_stitchTargetMeshData.Normals[_sampleCount - 1].z);
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.SouthEast, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+				mesh.Vertices[meshVertCount - 1] = new Vector3(
+					mesh.Vertices[meshVertCount - 1].x,
+					_stitchTargetMeshData.Vertices[0].y,
+					mesh.Vertices[meshVertCount - 1].z);
+
+				mesh.Normals[meshVertCount - 1] = new Vector3(
+					_stitchTargetMeshData.Normals[0].x,
+					_stitchTargetMeshData.Normals[0].y,
+					_stitchTargetMeshData.Normals[0].z);
+			}
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainWithSidesStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainWithSidesStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..50b57ad4dd982a4f840ebfed8a42b4e6373679b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevatedTerrainWithSidesStrategy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 3d67aa1b17136294b92c1a5f4d9d867a
+timeCreated: 1522755493
+licenseType: Free
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevationBasedTerrainStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevationBasedTerrainStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..df752acc9be4a8ad2fff44870fdce5f983003e86
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevationBasedTerrainStrategy.cs
@@ -0,0 +1,4 @@
+public interface IElevationBasedTerrainStrategy
+{
+
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevationBasedTerrainStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevationBasedTerrainStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..559c10ba996ed7960d39e3bf9d2dfd91cf534203
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/ElevationBasedTerrainStrategy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 0629e9d95db9602439cbd191b7c35260
+timeCreated: 1522756350
+licenseType: Free
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatSphereTerrainStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatSphereTerrainStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fc5b2194030b27aac64c493c01b97f7a408876d2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatSphereTerrainStrategy.cs
@@ -0,0 +1,109 @@
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.Map;
+using Mapbox.Utils;
+using Mapbox.Unity.Utilities;
+
+namespace Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies
+{
+
+	public class FlatSphereTerrainStrategy : TerrainStrategy
+	{
+		public float Radius { get { return _elevationOptions.modificationOptions.earthRadius; } }
+		public override int RequiredVertexCount
+		{
+			get { return _elevationOptions.modificationOptions.sampleCount * _elevationOptions.modificationOptions.sampleCount; }
+		}
+
+		public override void Initialize(ElevationLayerProperties elOptions)
+		{
+			_elevationOptions = elOptions;
+		}
+
+		public override void RegisterTile(UnityTile tile)
+		{
+			if (_elevationOptions.unityLayerOptions.addToLayer && tile.gameObject.layer != _elevationOptions.unityLayerOptions.layerId)
+			{
+				tile.gameObject.layer = _elevationOptions.unityLayerOptions.layerId;
+			}
+
+			if ((int)tile.ElevationType != (int)ElevationLayerType.GlobeTerrain ||
+				tile.MeshFilter.sharedMesh.vertexCount != RequiredVertexCount)
+			{
+				tile.MeshFilter.sharedMesh.Clear();
+				tile.ElevationType = TileTerrainType.Globe;
+			}
+
+			GenerateTerrainMesh(tile);
+		}
+
+		void GenerateTerrainMesh(UnityTile tile)
+		{
+			var verts = new List<Vector3>();
+			var _sampleCount = _elevationOptions.modificationOptions.sampleCount;
+			var _radius = _elevationOptions.modificationOptions.earthRadius;
+			for (float x = 0; x < _sampleCount; x++)
+			{
+				for (float y = 0; y < _sampleCount; y++)
+				{
+					var xx = Mathf.Lerp((float)tile.Rect.Min.x, ((float)tile.Rect.Min.x + (float)tile.Rect.Size.x),
+						x / (_sampleCount - 1));
+					var yy = Mathf.Lerp((float)tile.Rect.Max.y, ((float)tile.Rect.Max.y + (float)tile.Rect.Size.y),
+						y / (_sampleCount - 1));
+
+					var ll = Conversions.MetersToLatLon(new Vector2d(xx, yy));
+
+					var latitude = (float)(Mathf.Deg2Rad * ll.x);
+					var longitude = (float)(Mathf.Deg2Rad * ll.y);
+
+					float xPos = (_radius) * Mathf.Cos(latitude) * Mathf.Cos(longitude);
+					float zPos = (_radius) * Mathf.Cos(latitude) * Mathf.Sin(longitude);
+					float yPos = (_radius) * Mathf.Sin(latitude);
+
+					var pp = new Vector3(xPos, yPos, zPos);
+					verts.Add(pp);
+				}
+			}
+
+			var trilist = new List<int>();
+			for (int y = 0; y < _sampleCount - 1; y++)
+			{
+				for (int x = 0; x < _sampleCount - 1; x++)
+				{
+					trilist.Add((y * _sampleCount) + x);
+					trilist.Add((y * _sampleCount) + x + _sampleCount + 1);
+					trilist.Add((y * _sampleCount) + x + _sampleCount);
+
+					trilist.Add((y * _sampleCount) + x);
+					trilist.Add((y * _sampleCount) + x + 1);
+					trilist.Add((y * _sampleCount) + x + _sampleCount + 1);
+				}
+			}
+
+			var uvlist = new List<Vector2>();
+			var step = 1f / (_sampleCount - 1);
+			for (int i = 0; i < _sampleCount; i++)
+			{
+				for (int j = 0; j < _sampleCount; j++)
+				{
+					uvlist.Add(new Vector2(i * step, (j * step)));
+				}
+			}
+
+			tile.MeshFilter.sharedMesh.SetVertices(verts);
+			tile.MeshFilter.sharedMesh.SetTriangles(trilist, 0);
+			tile.MeshFilter.sharedMesh.SetUVs(0, uvlist);
+			tile.MeshFilter.sharedMesh.RecalculateBounds();
+			tile.MeshFilter.sharedMesh.RecalculateNormals();
+
+			tile.transform.localPosition = Mapbox.Unity.Constants.Math.Vector3Zero;
+		}
+
+		public override void UnregisterTile(UnityTile tile)
+		{
+
+		}
+	}
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatSphereTerrainStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatSphereTerrainStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fe3959cae474558d08cdd9ba894fbfe8aec6e7cf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatSphereTerrainStrategy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 830e93932f0e72840a1f6d588dce1a4a
+timeCreated: 1522755493
+licenseType: Free
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatTerrainStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatTerrainStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6a05ab310dc2c5c487af0f1f836d9cbc38b85629
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatTerrainStrategy.cs
@@ -0,0 +1,187 @@
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.Map;
+using Mapbox.Unity.Utilities;
+
+namespace Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies
+{
+	public class FlatTerrainStrategy : TerrainStrategy
+	{
+		MeshDataArray _cachedQuad;
+
+		public override int RequiredVertexCount
+		{
+			get { return 4; }
+		}
+
+		public override void Initialize(ElevationLayerProperties elOptions)
+		{
+			_elevationOptions = elOptions;
+		}
+
+		public override void RegisterTile(UnityTile tile)
+		{
+			if (_elevationOptions.unityLayerOptions.addToLayer && tile.gameObject.layer != _elevationOptions.unityLayerOptions.layerId)
+			{
+				tile.gameObject.layer = _elevationOptions.unityLayerOptions.layerId;
+			}
+
+			if (tile.RasterDataState != Enums.TilePropertyState.Loaded ||
+			    tile.MeshFilter.sharedMesh.vertexCount != RequiredVertexCount)
+			{
+				if (_elevationOptions.sideWallOptions.isActive)
+				{
+					var firstMat = tile.MeshRenderer.materials[0];
+					tile.MeshRenderer.materials = new Material[2]
+					{
+						firstMat,
+						_elevationOptions.sideWallOptions.wallMaterial
+					};
+				}
+			}
+
+			if ((int)tile.ElevationType != (int)ElevationLayerType.FlatTerrain)
+			{
+				tile.MeshFilter.sharedMesh.Clear();
+				// HACK: This is here in to make the system trigger a finished state.
+				GetQuad(tile, _elevationOptions.sideWallOptions.isActive);
+				tile.ElevationType = TileTerrainType.Flat;
+			}
+		}
+
+		private void GetQuad(UnityTile tile, bool buildSide)
+		{
+			if (_cachedQuad != null)
+			{
+				var mesh = tile.MeshFilter.sharedMesh;
+				mesh.vertices = _cachedQuad.Vertices;
+				mesh.normals = _cachedQuad.Normals;
+				mesh.triangles = _cachedQuad.Triangles;
+				mesh.uv = _cachedQuad.Uvs;
+			}
+			else
+			{
+				if (buildSide)
+				{
+					BuildQuadWithSides(tile);
+				}
+				else
+				{
+					BuildQuad(tile);
+				}
+			}
+		}
+
+		private void BuildQuad(UnityTile tile)
+		{
+			var unityMesh = tile.MeshFilter.sharedMesh;
+			var verts = new Vector3[4];
+			var norms = new Vector3[4];
+			verts[0] = tile.TileScale * ((tile.Rect.Min - tile.Rect.Center).ToVector3xz());
+			verts[1] = tile.TileScale * (new Vector3((float)(tile.Rect.Max.x - tile.Rect.Center.x), 0, (float)(tile.Rect.Min.y - tile.Rect.Center.y)));
+			verts[2] = tile.TileScale * ((tile.Rect.Max - tile.Rect.Center).ToVector3xz());
+			verts[3] = tile.TileScale * (new Vector3((float)(tile.Rect.Min.x - tile.Rect.Center.x), 0, (float)(tile.Rect.Max.y - tile.Rect.Center.y)));
+			norms[0] = Mapbox.Unity.Constants.Math.Vector3Up;
+			norms[1] = Mapbox.Unity.Constants.Math.Vector3Up;
+			norms[2] = Mapbox.Unity.Constants.Math.Vector3Up;
+			norms[3] = Mapbox.Unity.Constants.Math.Vector3Up;
+
+			unityMesh.vertices = verts;
+			unityMesh.normals = norms;
+
+			var trilist = new int[6] { 0, 1, 2, 0, 2, 3 };
+			unityMesh.triangles = trilist;
+
+			var uvlist = new Vector2[4]
+			{
+					new Vector2(0,1),
+					new Vector2(1,1),
+					new Vector2(1,0),
+					new Vector2(0,0)
+			};
+			unityMesh.uv = uvlist;
+			_cachedQuad = new MeshDataArray()
+			{
+				Vertices =  verts,
+				Normals = norms,
+				Triangles = trilist,
+				Uvs = uvlist
+			};
+		}
+
+		private void BuildQuadWithSides(UnityTile tile)
+		{
+			var unityMesh = tile.MeshFilter.sharedMesh;
+			var verts = new Vector3[20];
+			var norms = new Vector3[20];
+			verts[0] = tile.TileScale * ((tile.Rect.Min - tile.Rect.Center).ToVector3xz());
+			verts[1] = tile.TileScale * (new Vector3((float)(tile.Rect.Max.x - tile.Rect.Center.x), 0, (float)(tile.Rect.Min.y - tile.Rect.Center.y)));
+			verts[2] = tile.TileScale * ((tile.Rect.Max - tile.Rect.Center).ToVector3xz());
+			verts[3] = tile.TileScale * (new Vector3((float)(tile.Rect.Min.x - tile.Rect.Center.x), 0, (float)(tile.Rect.Max.y - tile.Rect.Center.y)));
+			norms[0] = Mapbox.Unity.Constants.Math.Vector3Up;
+			norms[1] = Mapbox.Unity.Constants.Math.Vector3Up;
+			norms[2] = Mapbox.Unity.Constants.Math.Vector3Up;
+			norms[3] = Mapbox.Unity.Constants.Math.Vector3Up;
+
+			//verts goes
+			//01
+			//32
+			unityMesh.subMeshCount = 2;
+			Vector3 norm = Mapbox.Unity.Constants.Math.Vector3Up;
+			for (int i = 0; i < 4; i++)
+			{
+				verts[4 * (i + 1)] = verts[i];
+				verts[4 * (i + 1) + 1] = verts[i + 1];
+				verts[4 * (i + 1) + 2] = verts[i] + new Vector3(0, -_elevationOptions.sideWallOptions.wallHeight, 0);
+				verts[4 * (i + 1) + 3] = verts[i + 1] + new Vector3(0, -_elevationOptions.sideWallOptions.wallHeight, 0);
+
+				norm = Vector3.Cross(verts[4 * (i + 1) + 1] - verts[4 * (i + 1) + 2], verts[4 * (i + 1)] - verts[4 * (i + 1) + 1]).normalized;
+				norms[4 * (i + 1)] = norm;
+				norms[4 * (i + 1) + 1] = norm;
+				norms[4 * (i + 1) + 2] = norm;
+				norms[4 * (i + 1) + 3] = norm;
+			}
+
+			unityMesh.vertices = verts;
+			unityMesh.normals = norms;
+
+			var trilist = new List<int>(6) { 0, 1, 2, 0, 2, 3 };
+			unityMesh.SetTriangles(trilist, 0);
+
+			trilist = new List<int>(8);
+			for (int i = 0; i < 4; i++)
+			{
+				trilist.Add(4 * (i + 1));
+				trilist.Add(4 * (i + 1) + 2);
+				trilist.Add(4 * (i + 1) + 1);
+
+				trilist.Add(4 * (i + 1) + 1);
+				trilist.Add(4 * (i + 1) + 2);
+				trilist.Add(4 * (i + 1) + 3);
+			}
+			unityMesh.SetTriangles(trilist, 1);
+
+			var uvlist = new Vector2[20];
+			uvlist[0] = new Vector2(0, 1);
+			uvlist[1] = new Vector2(1, 1);
+			uvlist[2] = new Vector2(1, 0);
+			uvlist[3] = new Vector2(0, 0);
+			for (int i = 4; i < 20; i += 4)
+			{
+				uvlist[i] = new Vector2(1, 1);
+				uvlist[i + 1] = new Vector2(0, 1);
+				uvlist[i + 2] = new Vector2(1, 0);
+				uvlist[i + 3] = new Vector2(0, 0);
+			}
+			unityMesh.uv = uvlist;
+			_cachedQuad = new MeshDataArray()
+			{
+				Vertices =  verts,
+				Normals = norms,
+				Triangles = trilist.ToArray(),
+				Uvs = uvlist
+			};
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatTerrainStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatTerrainStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ebccf8e01af6f7113209a26ff83e15f9eaca7b8d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/FlatTerrainStrategy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: dc77d6f0c5be2cb49bf8014f58feeb43
+timeCreated: 1522755493
+licenseType: Free
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/LowPolyTerrainStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/LowPolyTerrainStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b750405333b070d6ede8f2c7747c38103fe64b3b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/LowPolyTerrainStrategy.cs
@@ -0,0 +1,403 @@
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.Map;
+using Mapbox.Map;
+using Mapbox.Utils;
+using UnityEngine.Rendering;
+
+namespace Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies
+{
+	public class LowPolyTerrainStrategy : TerrainStrategy, IElevationBasedTerrainStrategy
+	{
+		protected Dictionary<UnwrappedTileId, Mesh> _meshData;
+		private Mesh _stitchTarget;
+		private MeshData _currentTileMeshData;
+		private MeshData _stitchTargetMeshData;
+		private List<Vector3> _newVertexList;
+		private List<Vector3> _newNormalList;
+		private List<Vector2> _newUvList;
+		private List<int> _newTriangleList;
+		private Vector3 _newDir;
+		private int _vertA, _vertB, _vertC;
+		private int _counter;
+
+
+		public override void Initialize(ElevationLayerProperties elOptions)
+		{
+			_elevationOptions = elOptions;
+			_meshData = new Dictionary<UnwrappedTileId, Mesh>();
+			_currentTileMeshData = new MeshData();
+			_stitchTargetMeshData = new MeshData();
+			var sampleCountSquare = _elevationOptions.modificationOptions.sampleCount * _elevationOptions.modificationOptions.sampleCount;
+			_newVertexList = new List<Vector3>(sampleCountSquare);
+			_newNormalList = new List<Vector3>(sampleCountSquare);
+			_newUvList = new List<Vector2>(sampleCountSquare);
+			_newTriangleList = new List<int>();
+		}
+
+		public override void UnregisterTile(UnityTile tile)
+		{
+			_meshData.Remove(tile.UnwrappedTileId);
+		}
+
+		public override void RegisterTile(UnityTile tile)
+		{
+			if (_elevationOptions.unityLayerOptions.addToLayer && tile.gameObject.layer != _elevationOptions.unityLayerOptions.layerId)
+			{
+				tile.gameObject.layer = _elevationOptions.unityLayerOptions.layerId;
+			}
+			if ((int)tile.ElevationType != (int)ElevationLayerType.LowPolygonTerrain ||
+			    tile.MeshFilter.sharedMesh.vertexCount != RequiredVertexCount)
+			{
+				tile.MeshFilter.sharedMesh.Clear();
+				CreateBaseMesh(tile);
+				tile.ElevationType = TileTerrainType.LowPoly;
+			}
+
+			GenerateTerrainMesh(tile);
+		}
+
+		private void CreateBaseMesh(UnityTile tile)
+		{
+			//TODO use arrays instead of lists
+			_newVertexList.Clear();
+			_newNormalList.Clear();
+			_newUvList.Clear();
+			_newTriangleList.Clear();
+
+			var cap = (_elevationOptions.modificationOptions.sampleCount - 1);
+			for (float y = 0; y < cap; y++)
+			{
+				for (float x = 0; x < cap; x++)
+				{
+					var x1 = tile.TileScale * (float)(Mathd.Lerp(tile.Rect.Min.x, tile.Rect.Max.x, x / cap) - tile.Rect.Center.x);
+					var y1 = tile.TileScale * (float)(Mathd.Lerp(tile.Rect.Min.y, tile.Rect.Max.y, y / cap) - tile.Rect.Center.y);
+					var x2 = tile.TileScale * (float)(Mathd.Lerp(tile.Rect.Min.x, tile.Rect.Max.x, (x + 1) / cap) - tile.Rect.Center.x);
+					var y2 = tile.TileScale * (float)(Mathd.Lerp(tile.Rect.Min.y, tile.Rect.Max.y, (y + 1) / cap) - tile.Rect.Center.y);
+
+					var triStart = _newVertexList.Count;
+					_newVertexList.Add(new Vector3(x1, 0, y1));
+					_newVertexList.Add(new Vector3(x2, 0, y1));
+					_newVertexList.Add(new Vector3(x1, 0, y2));
+					//--
+					_newVertexList.Add(new Vector3(x2, 0, y1));
+					_newVertexList.Add(new Vector3(x2, 0, y2));
+					_newVertexList.Add(new Vector3(x1, 0, y2));
+
+					_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Up);
+					_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Up);
+					_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Up);
+					//--
+					_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Up);
+					_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Up);
+					_newNormalList.Add(Mapbox.Unity.Constants.Math.Vector3Up);
+
+
+					_newUvList.Add(new Vector2(x / cap, 1 - y / cap));
+					_newUvList.Add(new Vector2((x + 1) / cap, 1 - y / cap));
+					_newUvList.Add(new Vector2(x / cap, 1 - (y + 1) / cap));
+					//--
+					_newUvList.Add(new Vector2((x + 1) / cap, 1 - y / cap));
+					_newUvList.Add(new Vector2((x + 1) / cap, 1 - (y + 1) / cap));
+					_newUvList.Add(new Vector2(x / cap, 1 - (y + 1) / cap));
+
+					_newTriangleList.Add(triStart);
+					_newTriangleList.Add(triStart + 1);
+					_newTriangleList.Add(triStart + 2);
+					//--
+					_newTriangleList.Add(triStart + 3);
+					_newTriangleList.Add(triStart + 4);
+					_newTriangleList.Add(triStart + 5);
+				}
+			}
+
+
+			var mesh = tile.MeshFilter.sharedMesh;
+			mesh.indexFormat = IndexFormat.UInt32;
+			mesh.SetVertices(_newVertexList);
+			mesh.SetNormals(_newNormalList);
+			mesh.SetUVs(0, _newUvList);
+			mesh.SetTriangles(_newTriangleList, 0);
+			mesh.RecalculateBounds();
+		}
+
+
+		/// <summary>
+		/// Creates the non-flat terrain mesh, using a grid by defined resolution (_sampleCount). Vertex order goes right & up. Normals are calculated manually and UV map is fitted/stretched 1-1.
+		/// Any additional scripts or logic, like MeshCollider or setting layer, can be done here.
+		/// </summary>
+		/// <param name="tile"></param>
+		// <param name="heightMultiplier">Multiplier for queried height value</param>
+		private void GenerateTerrainMesh(UnityTile tile)
+		{
+			tile.MeshFilter.sharedMesh.GetVertices(_currentTileMeshData.Vertices);
+			tile.MeshFilter.sharedMesh.GetNormals(_currentTileMeshData.Normals);
+
+			var cap = (_elevationOptions.modificationOptions.sampleCount - 1);
+			for (float y = 0; y < cap; y++)
+			{
+				for (float x = 0; x < cap; x++)
+				{
+					_currentTileMeshData.Vertices[(int)(y * cap + x) * 6] = new Vector3(
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6].x,
+						tile.QueryHeightData(x / cap, 1 - y / cap),
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6].z);
+
+					_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 1] = new Vector3(
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 1].x,
+						tile.QueryHeightData((x + 1) / cap, 1 - y / cap),
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 1].z);
+
+					_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 2] = new Vector3(
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 2].x,
+						tile.QueryHeightData(x / cap, 1 - (y + 1) / cap),
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 2].z);
+
+					//--
+
+					_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 3] = new Vector3(
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 3].x,
+						tile.QueryHeightData((x + 1) / cap, 1 - y / cap),
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 3].z);
+
+					_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 4] = new Vector3(
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 4].x,
+						tile.QueryHeightData((x + 1) / cap, 1 - (y + 1) / cap),
+						_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 4].z);
+
+					_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 5] = new Vector3(
+					   _currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 5].x,
+					   tile.QueryHeightData(x / cap, 1 - (y + 1) / cap),
+					   _currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 5].z);
+
+
+
+					_newDir = Vector3.Cross(_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 1] - _currentTileMeshData.Vertices[(int)(y * cap + x) * 6], _currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 2] - _currentTileMeshData.Vertices[(int)(y * cap + x) * 6]);
+					_currentTileMeshData.Normals[(int)(y * cap + x) * 6 + 0] = _newDir;
+					_currentTileMeshData.Normals[(int)(y * cap + x) * 6 + 1] = _newDir;
+					_currentTileMeshData.Normals[(int)(y * cap + x) * 6 + 2] = _newDir;
+					//--
+					_newDir = Vector3.Cross(_currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 4] - _currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 3], _currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 5] - _currentTileMeshData.Vertices[(int)(y * cap + x) * 6 + 3]);
+					_currentTileMeshData.Normals[(int)(y * cap + x) * 6 + 3] = _newDir;
+					_currentTileMeshData.Normals[(int)(y * cap + x) * 6 + 4] = _newDir;
+					_currentTileMeshData.Normals[(int)(y * cap + x) * 6 + 5] = _newDir;
+				}
+			}
+			FixStitches(tile.UnwrappedTileId, _currentTileMeshData);
+			tile.MeshFilter.sharedMesh.SetVertices(_currentTileMeshData.Vertices);
+			tile.MeshFilter.sharedMesh.SetNormals(_currentTileMeshData.Normals);
+			tile.MeshFilter.sharedMesh.RecalculateBounds();
+
+			if (!_meshData.ContainsKey(tile.UnwrappedTileId))
+			{
+				_meshData.Add(tile.UnwrappedTileId, tile.MeshFilter.sharedMesh);
+			}
+
+			if (_elevationOptions.colliderOptions.addCollider)
+			{
+				var meshCollider = tile.Collider as MeshCollider;
+				if (meshCollider)
+				{
+					meshCollider.sharedMesh = tile.MeshFilter.sharedMesh;
+				}
+			}
+		}
+
+		private void ResetToFlatMesh(UnityTile tile)
+		{
+			tile.MeshFilter.sharedMesh.GetVertices(_currentTileMeshData.Vertices);
+			tile.MeshFilter.sharedMesh.GetNormals(_currentTileMeshData.Normals);
+
+			_counter = _currentTileMeshData.Vertices.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				_currentTileMeshData.Vertices[i] = new Vector3(
+					_currentTileMeshData.Vertices[i].x,
+					0,
+					_currentTileMeshData.Vertices[i].z);
+				_currentTileMeshData.Normals[i] = Mapbox.Unity.Constants.Math.Vector3Up;
+			}
+
+			tile.MeshFilter.sharedMesh.SetVertices(_currentTileMeshData.Vertices);
+			tile.MeshFilter.sharedMesh.SetNormals(_currentTileMeshData.Normals);
+		}
+
+		/// <summary>
+		/// Checkes all neighbours of the given tile and stitches the edges to achieve a smooth mesh surface.
+		/// </summary>
+		/// <param name="tileId"></param>
+		/// <param name="mesh"></param>
+		private void FixStitches(UnwrappedTileId tileId, MeshData mesh)
+		{
+			var meshVertCount = mesh.Vertices.Count;
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.North, out _stitchTarget);
+			var cap = _elevationOptions.modificationOptions.sampleCount - 1;
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				for (int i = 0; i < cap; i++)
+				{
+					mesh.Vertices[6 * i] = new Vector3(
+						mesh.Vertices[6 * i].x,
+						_stitchTargetMeshData.Vertices[6 * cap * (cap - 1) + 6 * i + 2].y,
+						mesh.Vertices[6 * i].z);
+					mesh.Vertices[6 * i + 1] = new Vector3(
+						mesh.Vertices[6 * i + 1].x,
+						_stitchTargetMeshData.Vertices[6 * cap * (cap - 1) + 6 * i + 4].y,
+						mesh.Vertices[6 * i + 1].z);
+					mesh.Vertices[6 * i + 3] = new Vector3(
+						mesh.Vertices[6 * i + 3].x,
+						_stitchTargetMeshData.Vertices[6 * cap * (cap - 1) + 6 * i + 4].y,
+						mesh.Vertices[6 * i + 3].z);
+				}
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.South, out _stitchTarget);
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				for (int i = 0; i < cap; i++)
+				{
+					mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 2] = new Vector3(
+						mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 2].x,
+						_stitchTargetMeshData.Vertices[6 * i].y,
+						mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 2].z);
+					mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 5] = new Vector3(
+						mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 5].x,
+						_stitchTargetMeshData.Vertices[6 * i].y,
+						mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 5].z);
+					mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 4] = new Vector3(
+						mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 4].x,
+						_stitchTargetMeshData.Vertices[6 * i + 3].y,
+						mesh.Vertices[6 * cap * (cap - 1) + 6 * i + 4].z);
+				}
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.West, out _stitchTarget);
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				for (int i = 0; i < cap; i++)
+				{
+					mesh.Vertices[6 * cap * i] = new Vector3(
+						mesh.Vertices[6 * cap * i].x,
+						_stitchTargetMeshData.Vertices[6 * cap * i + 6 * cap - 5].y,
+						mesh.Vertices[6 * cap * i].z);
+
+					mesh.Vertices[6 * cap * i + 2] = new Vector3(
+						mesh.Vertices[6 * cap * i + 2].x,
+						_stitchTargetMeshData.Vertices[6 * cap * i + 6 * cap - 2].y,
+						mesh.Vertices[6 * cap * i + 2].z);
+
+					mesh.Vertices[6 * cap * i + 5] = new Vector3(
+						mesh.Vertices[6 * cap * i + 5].x,
+						_stitchTargetMeshData.Vertices[6 * cap * i + 6 * cap - 2].y,
+						mesh.Vertices[6 * cap * i + 5].z);
+				}
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.East, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				for (int i = 0; i < cap; i++)
+				{
+					mesh.Vertices[6 * cap * i + 6 * cap - 5] = new Vector3(
+						mesh.Vertices[6 * cap * i + 6 * cap - 5].x,
+						_stitchTargetMeshData.Vertices[6 * cap * i].y,
+						mesh.Vertices[6 * cap * i + 6 * cap - 5].z);
+
+					mesh.Vertices[6 * cap * i + 6 * cap - 3] = new Vector3(
+						mesh.Vertices[6 * cap * i + 6 * cap - 3].x,
+						_stitchTargetMeshData.Vertices[6 * cap * i].y,
+						mesh.Vertices[6 * cap * i + 6 * cap - 3].z);
+
+					mesh.Vertices[6 * cap * i + 6 * cap - 2] = new Vector3(
+						mesh.Vertices[6 * cap * i + 6 * cap - 2].x,
+						_stitchTargetMeshData.Vertices[6 * cap * i + 5].y,
+						mesh.Vertices[6 * cap * i + 6 * cap - 2].z);
+				}
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.NorthWest, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				mesh.Vertices[0] = new Vector3(
+					mesh.Vertices[0].x,
+					_stitchTargetMeshData.Vertices[meshVertCount - 2].y,
+					mesh.Vertices[0].z);
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.NorthEast, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				mesh.Vertices[6 * cap - 5] = new Vector3(
+					mesh.Vertices[6 * cap - 5].x,
+					_stitchTargetMeshData.Vertices[6 * (cap - 1) * cap + 2].y,
+					mesh.Vertices[6 * cap - 5].z);
+
+				mesh.Vertices[6 * cap - 3] = new Vector3(
+					mesh.Vertices[6 * cap - 3].x,
+					_stitchTargetMeshData.Vertices[6 * (cap - 1) * cap + 2].y,
+					mesh.Vertices[6 * cap - 3].z);
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.SouthWest, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				mesh.Vertices[6 * (cap - 1) * cap + 2] = new Vector3(
+					mesh.Vertices[6 * (cap - 1) * cap + 2].x,
+					_stitchTargetMeshData.Vertices[6 * cap - 5].y,
+					mesh.Vertices[6 * (cap - 1) * cap + 2].z);
+
+				mesh.Vertices[6 * (cap - 1) * cap + 5] = new Vector3(
+					mesh.Vertices[6 * (cap - 1) * cap + 5].x,
+					_stitchTargetMeshData.Vertices[6 * cap - 5].y,
+					mesh.Vertices[6 * (cap - 1) * cap + 5].z);
+			}
+
+			_stitchTarget = null;
+			_meshData.TryGetValue(tileId.SouthEast, out _stitchTarget);
+
+			if (_stitchTarget != null)
+			{
+				_stitchTarget.GetVertices(_stitchTargetMeshData.Vertices);
+				_stitchTarget.GetNormals(_stitchTargetMeshData.Normals);
+
+				mesh.Vertices[6 * cap * cap - 2] = new Vector3(
+					mesh.Vertices[6 * cap * cap - 2].x,
+					_stitchTargetMeshData.Vertices[0].y,
+					mesh.Vertices[6 * cap * cap - 2].z);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/LowPolyTerrainStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/LowPolyTerrainStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..34c188ab20df983625a85d31f43c17612873a583
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/LowPolyTerrainStrategy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2e1d75acbfaded5459635c6030b0f915
+timeCreated: 1522755493
+licenseType: Free
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/TerrainStrategy.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/TerrainStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0c37854a57e6269af0ffabfffb89156b3d8795e8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/TerrainStrategy.cs
@@ -0,0 +1,45 @@
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+using System;
+using Mapbox.Unity.Map;
+using System.Collections.ObjectModel;
+using Mapbox.Map;
+
+namespace Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies
+{
+	public class TerrainStrategy
+	{
+		[SerializeField]
+		protected ElevationLayerProperties _elevationOptions = new ElevationLayerProperties();
+
+		public virtual int RequiredVertexCount
+		{
+			get { return 0; }
+		}
+
+		public virtual void Initialize(ElevationLayerProperties elOptions)
+		{
+			_elevationOptions = elOptions;
+		}
+
+		public virtual void RegisterTile(UnityTile tile)
+		{
+
+		}
+
+		public virtual void PostProcessTile(UnityTile tile)
+		{
+
+		}
+
+		public virtual void UnregisterTile(UnityTile tile)
+		{
+
+		}
+
+		public virtual void DataErrorOccurred(UnityTile tile, TileErrorEventArgs e)
+		{
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/TerrainStrategy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/TerrainStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..149de6769f5dce5d0740806d1cae08b4794bb556
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TerrainStrategies/TerrainStrategy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 33b4040c296ec314793ac7182cc3e81c
+timeCreated: 1522755493
+licenseType: Free
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TileProcessFinishedEventArgs.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TileProcessFinishedEventArgs.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6304858fecd8f5f7dc256dbe094cf7c5bdbb3ae5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TileProcessFinishedEventArgs.cs
@@ -0,0 +1,17 @@
+namespace Mapbox.Unity.MeshGeneration.Factories
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+
+	public class TileProcessFinishedEventArgs : EventArgs
+	{
+		public AbstractTileFactory Factory;
+		public UnityTile Tile;
+
+		public TileProcessFinishedEventArgs(AbstractTileFactory vectorTileFactory, UnityTile tile)
+		{
+			Factory = vectorTileFactory;
+			Tile = tile;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TileProcessFinishedEventArgs.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TileProcessFinishedEventArgs.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..40cbeb914dd3e5ace89275e07dc2c8a53c7031fc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/TileProcessFinishedEventArgs.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2e9e504493544ff4baa22317cd678f87
+timeCreated: 1532126963
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorDataFetcher.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorDataFetcher.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5b54bb733d58630c1ab44ea26998fa13e275503f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorDataFetcher.cs
@@ -0,0 +1,38 @@
+using Mapbox.Map;
+using Mapbox.Unity.Map;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.MeshGeneration.Enums;
+using System;
+public class VectorDataFetcher : DataFetcher
+{
+	public Action<UnityTile, VectorTile> DataRecieved = (t, s) => { };
+	public Action<UnityTile, VectorTile, TileErrorEventArgs> FetchingError = (t, r, s) => { };
+
+	//tile here should be totally optional and used only not to have keep a dictionary in terrain factory base
+	public override void FetchData(DataFetcherParameters parameters)
+	{
+		var vectorDaraParameters = parameters as VectorDataFetcherParameters;
+		if(vectorDaraParameters == null)
+		{
+			return;
+		}
+		var vectorTile = (vectorDaraParameters.useOptimizedStyle) ? new VectorTile(vectorDaraParameters.style.Id, vectorDaraParameters.style.Modified) : new VectorTile();
+		vectorDaraParameters.tile.AddTile(vectorTile);
+		vectorTile.Initialize(_fileSource, vectorDaraParameters.tile.CanonicalTileId, vectorDaraParameters.tilesetId, () =>
+		{
+			if (vectorDaraParameters.tile.CanonicalTileId != vectorTile.Id)
+			{
+				//this means tile object is recycled and reused. Returned data doesn't belong to this tile but probably the previous one. So we're trashing it.
+				return;
+			}
+			if (vectorTile.HasError)
+			{
+				FetchingError(vectorDaraParameters.tile, vectorTile, new TileErrorEventArgs(vectorDaraParameters.tile.CanonicalTileId, vectorTile.GetType(), vectorDaraParameters.tile, vectorTile.Exceptions));
+			}
+			else
+			{
+				DataRecieved(vectorDaraParameters.tile, vectorTile);
+			}
+		});
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorDataFetcher.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorDataFetcher.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..597604299d153a445523c9133a55394477b9d97d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorDataFetcher.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b666b1dbd8d5d6444a8fc9945c0106ce
+timeCreated: 1524487271
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorTileFactory.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorTileFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c3f71213da1fceadc14576ae5701f217b9fd7912
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorTileFactory.cs
@@ -0,0 +1,516 @@
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Enums;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.MeshGeneration.Interfaces;
+using Mapbox.Map;
+using Mapbox.Unity.Map;
+using System;
+
+namespace Mapbox.Unity.MeshGeneration.Factories
+{
+	/// <summary>
+	///	Vector Tile Factory
+	/// Vector data is much more detailed compared to terrain and image data so we have a different structure to process
+	/// vector data(compared to other factories). First of all, how does the vector data itself structured? Vector tile
+	/// data contains 'vector layers' as immediate children.And then each of these vector layers contains a number of
+	/// 'features' inside.I.e.vector data for a tile has 'building', 'road', 'landuse' etc layers. Then building layer
+	/// has a number of polygon features, road layer has line features etc.
+	/// Similar to this, vector tile factory contains bunch of 'layer visualizers' and each one of them corresponds to
+	/// one (or more) vector layers in data.So when data is received, factory goes through all layers inside and passes
+	/// them to designated layer visualizers.We're using layer name as key here, to find the designated layer visualizer,
+	/// like 'building', 'road'. (vector tile factory visual would help here). If it can't find a layer visualizer for
+	/// that layer, it'll be skipped and not processed at all.If all you need is 1-2 layers, it's indeed a big waste to
+	/// pull whole vector data and you can use 'Style Optimized Vector Tile Factory' to pull only the layer you want to use.
+	/// </summary>
+	//[CreateAssetMenu(menuName = "Mapbox/Factories/Vector Tile Factory")]
+	public class VectorTileFactory : AbstractTileFactory
+	{
+		#region Private/Protected Fields
+		private Dictionary<string, List<LayerVisualizerBase>> _layerBuilder;
+		private VectorLayerProperties _properties;
+		private Dictionary<UnityTile, HashSet<LayerVisualizerBase>> _layerProgress;
+		protected VectorDataFetcher DataFetcher;
+		#endregion
+
+		#region Properties
+		public string TilesetId
+		{
+			get
+			{
+				return _properties.sourceOptions.Id;
+			}
+
+			set
+			{
+				_properties.sourceOptions.Id = value;
+			}
+		}
+
+		public VectorLayerProperties Properties
+		{
+			get
+			{
+				return _properties;
+			}
+		}
+		#endregion
+
+		#region Public Methods
+		public void RedrawSubLayer(UnityTile tile, LayerVisualizerBase visualizer)
+		{
+			CreateFeatureWithBuilder(tile, visualizer.SubLayerProperties.coreOptions.layerName, visualizer);
+		}
+
+		public void UnregisterLayer(UnityTile tile, LayerVisualizerBase visualizer)
+		{
+			if (_layerProgress.ContainsKey(tile))
+			{
+				_layerProgress.Remove(tile);
+			}
+			if (_tilesWaitingProcessing.Contains(tile))
+			{
+				_tilesWaitingProcessing.Remove(tile);
+			}
+
+			if (visualizer != null)
+			{
+				visualizer.UnregisterTile(tile);
+			}
+		}
+		#endregion
+
+		#region Public Layer Operation Api Methods for
+		public virtual LayerVisualizerBase AddVectorLayerVisualizer(VectorSubLayerProperties subLayer)
+		{
+			//if its of type prefabitemoptions then separate the visualizer type
+			LayerVisualizerBase visualizer = CreateInstance<VectorLayerVisualizer>();
+
+			//TODO : FIX THIS !!
+			visualizer.LayerVisualizerHasChanged += UpdateTileFactory;
+
+			// Set honorBuildingSettings - need to set here in addition to the UI.
+			// Not setting it here can lead to wrong filtering.
+
+			bool isPrimitiveTypeValidForBuidingIds = (subLayer.coreOptions.geometryType == VectorPrimitiveType.Polygon) || (subLayer.coreOptions.geometryType == VectorPrimitiveType.Custom);
+			bool isSourceValidForBuildingIds = _properties.sourceType != VectorSourceType.MapboxStreets;
+
+			subLayer.honorBuildingIdSetting = isPrimitiveTypeValidForBuidingIds && isSourceValidForBuildingIds;
+			// Setup visualizer.
+			((VectorLayerVisualizer)visualizer).SetProperties(subLayer);
+
+			visualizer.Initialize();
+			if (visualizer == null)
+			{
+				return visualizer;
+			}
+
+			if (_layerBuilder.ContainsKey(visualizer.Key))
+			{
+				_layerBuilder[visualizer.Key].Add(visualizer);
+			}
+			else
+			{
+				_layerBuilder.Add(visualizer.Key, new List<LayerVisualizerBase> { visualizer });
+			}
+			return visualizer;
+		}
+
+		public virtual LayerVisualizerBase AddPOIVectorLayerVisualizer(PrefabItemOptions poiSubLayer)
+		{
+			LayerVisualizerBase visualizer = CreateInstance<LocationPrefabsLayerVisualizer>();
+			poiSubLayer.performanceOptions = _properties.performanceOptions;
+			((LocationPrefabsLayerVisualizer)visualizer).SetProperties((PrefabItemOptions)poiSubLayer);
+
+			visualizer.LayerVisualizerHasChanged += UpdateTileFactory;
+
+			visualizer.Initialize();
+			if (visualizer == null)
+			{
+				return null;
+			}
+
+			if (_layerBuilder.ContainsKey(visualizer.Key))
+			{
+				_layerBuilder[visualizer.Key].Add(visualizer);
+			}
+			else
+			{
+				_layerBuilder.Add(visualizer.Key, new List<LayerVisualizerBase>() { visualizer });
+			}
+
+			return visualizer;
+		}
+
+		public virtual LayerVisualizerBase FindVectorLayerVisualizer(VectorSubLayerProperties subLayer)
+		{
+			if (_layerBuilder.ContainsKey(subLayer.Key))
+			{
+				var visualizer = _layerBuilder[subLayer.Key].Find((obj) => obj.SubLayerProperties == subLayer);
+				return visualizer;
+			}
+			return null;
+		}
+
+		public virtual void RemoveVectorLayerVisualizer(LayerVisualizerBase subLayer)
+		{
+			subLayer.Clear();
+			if (_layerBuilder.ContainsKey(subLayer.Key))
+			{
+				if (Properties.vectorSubLayers.Contains(subLayer.SubLayerProperties))
+				{
+					Properties.vectorSubLayers.Remove(subLayer.SubLayerProperties);
+				}
+				else if (subLayer.SubLayerProperties is PrefabItemOptions && Properties.locationPrefabList.Contains(subLayer.SubLayerProperties as PrefabItemOptions))
+				{
+					Properties.locationPrefabList.Remove(subLayer.SubLayerProperties as PrefabItemOptions);
+				}
+				subLayer.LayerVisualizerHasChanged -= UpdateTileFactory;
+				subLayer.UnbindSubLayerEvents();
+				_layerBuilder[subLayer.Key].Remove(subLayer);
+			}
+		}
+		#endregion
+
+		#region AbstractFactoryOverrides
+		/// <summary>
+		/// Set up sublayers using VectorLayerVisualizers.
+		/// </summary>
+		protected override void OnInitialized()
+		{
+			_layerProgress = new Dictionary<UnityTile, HashSet<LayerVisualizerBase>>();
+			_layerBuilder = new Dictionary<string, List<LayerVisualizerBase>>();
+
+			DataFetcher = ScriptableObject.CreateInstance<VectorDataFetcher>();
+			DataFetcher.DataRecieved += OnVectorDataRecieved;
+			DataFetcher.FetchingError += OnDataError;
+
+			CreatePOILayerVisualizers();
+
+			CreateLayerVisualizers();
+		}
+
+		protected override void OnRegistered(UnityTile tile)
+		{
+			if (string.IsNullOrEmpty(TilesetId) || _properties.sourceOptions.isActive == false || (_properties.vectorSubLayers.Count + _properties.locationPrefabList.Count) == 0)
+			{
+				tile.VectorDataState = TilePropertyState.None;
+				return;
+			}
+			tile.VectorDataState = TilePropertyState.Loading;
+			_tilesWaitingResponse.Add(tile);
+			VectorDataFetcherParameters parameters = new VectorDataFetcherParameters()
+			{
+				canonicalTileId = tile.CanonicalTileId,
+				tilesetId = TilesetId,
+				tile = tile,
+				useOptimizedStyle = _properties.useOptimizedStyle,
+				style = _properties.optimizedStyle
+			};
+			DataFetcher.FetchData(parameters);
+		}
+
+		protected override void OnUnregistered(UnityTile tile)
+		{
+			if (_layerProgress != null && _layerProgress.ContainsKey(tile))
+			{
+				_layerProgress.Remove(tile);
+			}
+			if (_tilesWaitingResponse != null && _tilesWaitingProcessing.Contains(tile))
+			{
+				_tilesWaitingProcessing.Remove(tile);
+			}
+
+			if (_layerBuilder != null)
+			{
+				foreach (var layer in _layerBuilder.Values)
+				{
+					foreach (var visualizer in layer)
+					{
+						visualizer.UnregisterTile(tile);
+					}
+				}
+			}
+		}
+
+		public override void Clear()
+		{
+			DestroyImmediate(DataFetcher);
+			if (_layerBuilder != null)
+			{
+				foreach (var layerList in _layerBuilder.Values)
+				{
+					foreach (var layerVisualizerBase in layerList)
+					{
+						layerVisualizerBase.Clear();
+						DestroyImmediate(layerVisualizerBase);
+					}
+				}
+
+				_layerProgress.Clear();
+				_tilesWaitingResponse.Clear();
+				_tilesWaitingProcessing.Clear();
+			}
+		}
+
+		public override void SetOptions(LayerProperties options)
+		{
+			_properties = (VectorLayerProperties)options;
+			if (_layerBuilder != null)
+			{
+				RemoveAllLayerVisualiers();
+
+				CreatePOILayerVisualizers();
+
+				CreateLayerVisualizers();
+			}
+		}
+
+		public override void UpdateTileProperty(UnityTile tile, LayerUpdateArgs updateArgs)
+		{
+			updateArgs.property.UpdateProperty(tile);
+
+			if (updateArgs.property.NeedsForceUpdate())
+			{
+				Unregister(tile);
+			}
+			Register(tile);
+		}
+
+		protected override void UpdateTileFactory(object sender, EventArgs args)
+		{
+			VectorLayerUpdateArgs layerUpdateArgs = args as VectorLayerUpdateArgs;
+			layerUpdateArgs.factory = this;
+			base.UpdateTileFactory(sender, layerUpdateArgs);
+		}
+
+		/// <summary>
+		/// Method to be called when a tile error has occurred.
+		/// </summary>
+		/// <param name="e"><see cref="T:Mapbox.Map.TileErrorEventArgs"/> instance/</param>
+		protected override void OnErrorOccurred(UnityTile tile, TileErrorEventArgs e)
+		{
+			base.OnErrorOccurred(tile, e);
+		}
+
+		protected override void OnPostProcess(UnityTile tile)
+		{
+
+		}
+
+		public override void UnbindEvents()
+		{
+			base.UnbindEvents();
+		}
+
+		protected override void OnUnbindEvents()
+		{
+			if (_layerBuilder != null)
+			{
+				foreach (var layer in _layerBuilder.Values)
+				{
+					foreach (var visualizer in layer)
+					{
+						visualizer.LayerVisualizerHasChanged -= UpdateTileFactory;
+						visualizer.UnbindSubLayerEvents();
+					}
+				}
+			}
+		}
+		#endregion
+
+		#region DataFetcherEvents
+		private void OnVectorDataRecieved(UnityTile tile, Mapbox.Map.VectorTile vectorTile)
+		{
+			if (tile != null)
+			{
+				_tilesWaitingResponse.Remove(tile);
+				if (tile.VectorDataState != TilePropertyState.Unregistered)
+				{
+					tile.SetVectorData(vectorTile);
+
+					// FIXME: we can make the request BEFORE getting a response from these!
+					if (tile.HeightDataState == TilePropertyState.Loading ||
+							tile.RasterDataState == TilePropertyState.Loading)
+					{
+						tile.OnHeightDataChanged += DataChangedHandler;
+						tile.OnRasterDataChanged += DataChangedHandler;
+					}
+					else
+					{
+						CreateMeshes(tile);
+					}
+				}
+			}
+		}
+
+		private void DataChangedHandler(UnityTile tile)
+		{
+			if (tile.VectorDataState != TilePropertyState.Unregistered &&
+				tile.RasterDataState != TilePropertyState.Loading &&
+				tile.HeightDataState != TilePropertyState.Loading)
+			{
+				CreateMeshes(tile);
+			}
+		}
+
+		private void OnDataError(UnityTile tile, Mapbox.Map.VectorTile vectorTile, TileErrorEventArgs e)
+		{
+			if (tile != null)
+			{
+				_tilesWaitingResponse.Remove(tile);
+				if (tile.VectorDataState != TilePropertyState.Unregistered)
+				{
+					tile.SetVectorData(null);
+					tile.VectorDataState = TilePropertyState.Error;
+					OnErrorOccurred(e);
+				}
+			}
+
+		}
+		#endregion
+
+		#region Private Methods
+		private void CreateMeshes(UnityTile tile)
+		{
+			var nameList = new List<string>();
+			var builderList = new List<LayerVisualizerBase>();
+
+			foreach (var layerName in tile.VectorData.Data.LayerNames())
+			{
+				if (_layerBuilder.ContainsKey(layerName))
+				{
+					//two loops; first one to add it to waiting/tracking list, second to start it
+					foreach (var builder in _layerBuilder[layerName])
+					{
+						nameList.Add(layerName);
+						builderList.Add(builder);
+						TrackFeatureWithBuilder(tile, layerName, builder);
+					}
+				}
+			}
+			for (int i = 0; i < nameList.Count; i++)
+			{
+				CreateFeatureWithBuilder(tile, nameList[i], builderList[i]);
+			}
+
+			builderList.Clear();
+			//emptylayer for visualizers that don't depend on outside data sources
+			string emptyLayer = "";
+			if (_layerBuilder.ContainsKey(emptyLayer))
+			{
+				//two loops; first one to add it to waiting/tracking list, second to start it
+				foreach (var builder in _layerBuilder[emptyLayer])
+				{
+					builderList.Add(builder);
+					TrackFeatureWithBuilder(tile, emptyLayer, builder);
+				}
+			}
+			for (int i = 0; i < builderList.Count; i++)
+			{
+				CreateFeatureWithBuilder(tile, emptyLayer, builderList[i]);
+			}
+
+			if (!_layerProgress.ContainsKey(tile))
+			{
+				tile.VectorDataState = TilePropertyState.Loaded;
+			}
+		}
+
+		private void TrackFeatureWithBuilder(UnityTile tile, string layerName, LayerVisualizerBase builder)
+		{
+			if (builder.Active)
+			{
+				if (_layerProgress.ContainsKey(tile))
+				{
+					_layerProgress[tile].Add(builder);
+				}
+				else
+				{
+					_layerProgress.Add(tile, new HashSet<LayerVisualizerBase> {builder});
+					if (!_tilesWaitingProcessing.Contains(tile))
+					{
+						_tilesWaitingProcessing.Add(tile);
+					}
+				}
+			}
+		}
+
+		private void CreateFeatureWithBuilder(UnityTile tile, string layerName, LayerVisualizerBase builder)
+		{
+			if (builder.Active)
+			{
+				if (_layerProgress.ContainsKey(tile))
+				{
+					_layerProgress[tile].Add(builder);
+				}
+				else
+				{
+					_layerProgress.Add(tile, new HashSet<LayerVisualizerBase> { builder });
+					if (!_tilesWaitingProcessing.Contains(tile))
+					{
+						_tilesWaitingProcessing.Add(tile);
+					}
+				}
+				if (layerName != "")
+				{
+					builder.Create(tile.VectorData.Data.GetLayer(layerName), tile, DecreaseProgressCounter);
+				}
+				else
+				{
+					//just pass the first available layer - we should create a static null layer for this
+					builder.Create(tile.VectorData.Data.GetLayer(tile.VectorData.Data.LayerNames()[0]), tile, DecreaseProgressCounter);
+				}
+			}
+		}
+
+		private void DecreaseProgressCounter(UnityTile tile, LayerVisualizerBase builder)
+		{
+			if (_layerProgress.ContainsKey(tile))
+			{
+				if (_layerProgress[tile].Contains(builder))
+				{
+					_layerProgress[tile].Remove(builder);
+
+				}
+				if (_layerProgress[tile].Count == 0)
+				{
+					_layerProgress.Remove(tile);
+					_tilesWaitingProcessing.Remove(tile);
+					tile.VectorDataState = TilePropertyState.Loaded;
+				}
+			}
+		}
+
+		private void CreatePOILayerVisualizers()
+		{
+			foreach (var item in _properties.locationPrefabList)
+			{
+				AddPOIVectorLayerVisualizer(item);
+			}
+		}
+
+		private void CreateLayerVisualizers()
+		{
+			foreach (var sublayer in _properties.vectorSubLayers)
+			{
+				AddVectorLayerVisualizer(sublayer);
+			}
+		}
+
+		private void RemoveAllLayerVisualiers()
+		{
+			//Clearing gameobjects pooled and managed by modifiers to prevent zombie gameobjects.
+			foreach (var pairs in _layerBuilder)
+			{
+				foreach (var layerVisualizerBase in pairs.Value)
+				{
+					layerVisualizerBase.Clear();
+				}
+			}
+			_layerBuilder.Clear();
+		}
+		#endregion
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorTileFactory.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorTileFactory.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..13811a73ea56505631d3f9af374e70a9451b415d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Factories/VectorTileFactory.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 63d97cb1cfb3f1b499c24763afa54873
+timeCreated: 1520300453
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6f54b6fe22ad23a7080f1aca1848d7e939b7567c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 32e94cd9a75b25c439ca153c42fcb598
+folderAsset: yes
+timeCreated: 1485210114
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/FilterBase.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/FilterBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..da36c2f5f4cfbdcca1f65beb3f8355669d4f608d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/FilterBase.cs
@@ -0,0 +1,26 @@
+namespace Mapbox.Unity.MeshGeneration.Filters
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+
+	public interface ILayerFeatureFilterComparer
+	{
+		bool Try(VectorFeatureUnity feature);
+	}
+
+	public class FilterBase : ILayerFeatureFilterComparer
+	{
+		public virtual string Key { get { return ""; } }
+
+		public virtual bool Try(VectorFeatureUnity feature)
+		{
+			return true;
+		}
+
+		public virtual void Initialize()
+		{
+
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/FilterBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/FilterBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..02aa3cb1d78602576d1b589489a35898c1edbfcf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/FilterBase.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7495b32b05d97be4a8666ab6af32cdee
+timeCreated: 1485210126
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/HeightFilter.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/HeightFilter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..925c489bb03f1bbd40be1521c18b20cdc457c9e5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/HeightFilter.cs
@@ -0,0 +1,32 @@
+namespace Mapbox.Unity.MeshGeneration.Filters
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public class HeightFilter : FilterBase
+	{
+		public enum HeightFilterOptions
+		{
+			Above,
+			Below
+		}
+
+		public override string Key { get { return "height"; } }
+		[SerializeField]
+		private float _height;
+		[SerializeField]
+		private HeightFilterOptions _type;
+
+		public override bool Try(VectorFeatureUnity feature)
+		{
+			var hg = System.Convert.ToSingle(feature.Properties[Key]);
+			if (_type == HeightFilterOptions.Above && hg > _height)
+				return true;
+			if (_type == HeightFilterOptions.Below && hg < _height)
+				return true;
+
+			return false;
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/HeightFilter.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/HeightFilter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2d6cacc1f890c5c233101f8fe3336454a7ccb7b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/HeightFilter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ae03e6a279b82f94a81883a2698db813
+timeCreated: 1485210126
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/TypeFilter.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/TypeFilter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..266dcc39eef1b66a8d0e4f26f79099e329125d3d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/TypeFilter.cs
@@ -0,0 +1,580 @@
+namespace Mapbox.Unity.MeshGeneration.Filters
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+	using System.Linq;
+	using System.Collections.Generic;
+	using Mapbox.Unity.Map;
+
+	public class TypeFilter : FilterBase
+	{
+		public override string Key { get { return "type"; } }
+		[SerializeField]
+		private string[] _types;
+		[SerializeField]
+		private TypeFilterType _behaviour;
+
+		public override bool Try(VectorFeatureUnity feature)
+		{
+			var check = false;
+			for (int i = 0; i < _types.Length; i++)
+			{
+				if (_types[i].ToLowerInvariant() == feature.Properties["type"].ToString().ToLowerInvariant())
+				{
+					check = true;
+				}
+			}
+			return _behaviour == TypeFilterType.Include ? check : !check;
+		}
+
+		public enum TypeFilterType
+		{
+			Include,
+			Exclude
+		}
+	}
+
+	public enum LayerFilterOperationType
+	{
+		Contains,
+		IsEqual,
+		IsGreater,
+		IsLess,
+		IsInRange,
+	}
+
+	public enum LayerFilterCombinerOperationType
+	{
+		Any,
+		All,
+		None,
+	}
+
+	[Serializable]
+	public class LayerFilterCombiner : ILayerFeatureFilterComparer
+	{
+		public List<ILayerFeatureFilterComparer> Filters;
+
+		public LayerFilterCombinerOperationType Type;
+
+		public bool Try(VectorFeatureUnity feature)
+		{
+			switch (Type)
+			{
+				case LayerFilterCombinerOperationType.Any:
+					return Filters.Any(m => m.Try(feature));
+				case LayerFilterCombinerOperationType.All:
+					return Filters.All(m => m.Try(feature));
+				case LayerFilterCombinerOperationType.None:
+					return !Filters.Any(m => m.Try(feature));
+				default:
+					return false;
+			}
+		}
+	}
+
+	public class LayerFilterComparer : ILayerFeatureFilterComparer
+	{
+		public virtual bool Try(VectorFeatureUnity feature)
+		{
+			return true;
+		}
+
+		public static ILayerFeatureFilterComparer AnyOf(params ILayerFeatureFilterComparer[] filters)
+		{
+			return new LayerFilterCombiner
+			{
+				Type = LayerFilterCombinerOperationType.Any,
+				Filters = filters.ToList(),
+			};
+		}
+
+		public static ILayerFeatureFilterComparer AllOf(params ILayerFeatureFilterComparer[] filters)
+		{
+			return new LayerFilterCombiner
+			{
+				Type = LayerFilterCombinerOperationType.All,
+				Filters = filters.ToList(),
+			};
+		}
+
+		public static ILayerFeatureFilterComparer NoneOf(params ILayerFeatureFilterComparer[] filters)
+		{
+			return new LayerFilterCombiner
+			{
+				Type = LayerFilterCombinerOperationType.None,
+				Filters = filters.ToList(),
+			};
+		}
+		public static ILayerFeatureFilterComparer HasProperty(string property)
+		{
+			return new LayerHasPropertyFilterComparer
+			{
+				Key = property
+			};
+		}
+
+		public static ILayerFeatureFilterComparer HasPropertyInRange(string property, double min, double max)
+		{
+			return new LayerPropertyInRangeFilterComparer
+			{
+				Key = property,
+				Min = min,
+				Max = max
+			};
+		}
+
+		public static ILayerFeatureFilterComparer HasPropertyGreaterThan(string property, double min)
+		{
+			return new LayerPropertyIsGreaterFilterComparer
+			{
+				Key = property,
+				Min = min,
+			};
+		}
+
+		public static ILayerFeatureFilterComparer HasPropertyLessThan(string property, double min)
+		{
+			return new LayerPropertyIsLessFilterComparer
+			{
+				Key = property,
+				Min = min,
+			};
+		}
+
+		public static ILayerFeatureFilterComparer HasPropertyIsEqual(string property, double min)
+		{
+			return new LayerPropertyIsEqualFilterComparer
+			{
+				Key = property,
+				Min = min,
+			};
+		}
+
+
+		public static ILayerFeatureFilterComparer PropertyContainsValue(string property, params object[] values)
+		{
+			return new LayerPropertyContainsFilterComparer
+			{
+				Key = property,
+				ValueSet = values.ToList()
+			};
+		}
+	}
+
+	[Serializable]
+	public class LayerHasPropertyFilterComparer : ILayerFeatureFilterComparer
+	{
+		public string Key;
+
+		public bool Try(VectorFeatureUnity feature)
+		{
+			object property;
+			if (feature.Properties.TryGetValue(Key, out property))
+			{
+				return PropertyComparer(property);
+			}
+			return false;
+		}
+
+		protected virtual bool PropertyComparer(object property)
+		{
+			return true;
+		}
+	}
+
+	[Serializable]
+	public class LayerPropertyInRangeFilterComparer : LayerHasPropertyFilterComparer
+	{
+		public double Min;
+		public double Max;
+
+		protected override bool PropertyComparer(object property)
+		{
+			if (property == null)
+			{
+				return false;
+			}
+			var propertyValue = Convert.ToDouble(property);
+			if (propertyValue < Min)
+			{
+				return false;
+			}
+			if (propertyValue >= Max)
+			{
+				return false;
+			}
+			return true;
+		}
+	}
+
+	[Serializable]
+	public class LayerPropertyIsGreaterFilterComparer : LayerHasPropertyFilterComparer
+	{
+		public double Min;
+
+		protected override bool PropertyComparer(object property)
+		{
+			var propertyValue = Convert.ToDouble(property);
+			if (property == null)
+			{
+				return false;
+			}
+			if (propertyValue > Min)
+			{
+				return true;
+			}
+			return false;
+		}
+	}
+
+	[Serializable]
+	public class LayerPropertyIsLessFilterComparer : LayerHasPropertyFilterComparer
+	{
+		public double Min;
+
+		protected override bool PropertyComparer(object property)
+		{
+
+			if (property == null)
+			{
+				return false;
+			}
+			var propertyValue = Convert.ToDouble(property);
+
+			if (propertyValue < Min)
+			{
+				return true;
+			}
+			return false;
+		}
+	}
+
+	[Serializable]
+	public class LayerPropertyIsEqualFilterComparer : LayerHasPropertyFilterComparer
+	{
+		public double Min;
+
+		protected override bool PropertyComparer(object property)
+		{
+			if (property == null)
+			{
+				return false;
+			}
+
+			var propertyValue = Convert.ToDouble(property);
+			if (Math.Abs(propertyValue - Min) < Mapbox.Utils.Constants.EpsilonFloatingPoint)
+			{
+				return true;
+			}
+			return false;
+		}
+	}
+
+	[Serializable]
+	public class LayerPropertyContainsFilterComparer : LayerHasPropertyFilterComparer
+	{
+		public List<object> ValueSet;
+
+		protected override bool PropertyComparer(object property)
+		{
+			foreach (var value in ValueSet)
+			{
+				if (property.ToString().ToLower().Contains(value.ToString()))
+				{
+					return true;
+				}
+			}
+			return false;
+		}
+	}
+
+	[Serializable]
+	public class LayerFilter : MapboxDataProperty, ILayerFilter
+	{
+		[Tooltip("Name of the property to use as key. This property is case sensitive.")]
+		public string Key;
+		[SerializeField]
+		[Tooltip("Description of the property defined as key.")]
+		private string KeyDescription;
+		[Tooltip("Value to match using the operator. ")]
+		public string PropertyValue = string.Empty;
+		[Tooltip("Value to match using the operator. ")]
+		public float Min, Max;
+
+		[Tooltip("Filter operator to apply. ")]
+		public LayerFilterOperationType filterOperator;
+		private char[] _delimiters = new char[] { ',' };
+
+		public LayerFilter(LayerFilterOperationType filterOperation = LayerFilterOperationType.Contains)
+		{
+			filterOperator = filterOperation;
+		}
+
+		public ILayerFeatureFilterComparer GetFilterComparer()
+		{
+			if (_delimiters == null)
+			{
+				_delimiters = new char[] { ',' };
+			}
+			ILayerFeatureFilterComparer filterComparer = new LayerFilterComparer();
+
+			switch (filterOperator)
+			{
+				case LayerFilterOperationType.IsEqual:
+					filterComparer = LayerFilterComparer.HasPropertyIsEqual(Key, Min);
+					break;
+				case LayerFilterOperationType.IsGreater:
+					filterComparer = LayerFilterComparer.HasPropertyGreaterThan(Key, Min);
+					break;
+				case LayerFilterOperationType.IsLess:
+					filterComparer = LayerFilterComparer.HasPropertyLessThan(Key, Min);
+					break;
+				case LayerFilterOperationType.Contains:
+					var matchList = PropertyValue.ToLower()
+						.Split(_delimiters, StringSplitOptions.RemoveEmptyEntries)
+						.Select(p => p.Trim())
+						.Where(p => !string.IsNullOrEmpty(p))
+						.ToArray();
+					filterComparer = LayerFilterComparer.PropertyContainsValue(Key, matchList);
+					break;
+				case LayerFilterOperationType.IsInRange:
+					filterComparer = LayerFilterComparer.HasPropertyInRange(Key, Min, Max);
+					break;
+				default:
+					break;
+			}
+			return filterComparer;
+		}
+
+		/// <summary>
+		/// Sets the string contains.
+		/// </summary>
+		/// <param name="key">Key.</param>
+		/// <param name="property">Property.</param>
+		public virtual void SetStringContains(string key, string property)
+		{
+			filterOperator = LayerFilterOperationType.Contains;
+			Key = key;
+			PropertyValue = property;
+			HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the number is equal.
+		/// </summary>
+		/// <param name="key">Key.</param>
+		/// <param name="value">Value.</param>
+		public virtual void SetNumberIsEqual(string key, float value)
+		{
+			filterOperator = LayerFilterOperationType.IsEqual;
+			Key = key;
+			Min = value;
+			HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the number is less than.
+		/// </summary>
+		/// <param name="key">Key.</param>
+		/// <param name="value">Value.</param>
+		public virtual void SetNumberIsLessThan(string key, float value)
+		{
+			filterOperator = LayerFilterOperationType.IsLess;
+			Key = key;
+			Min = value;
+			HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the number is greater than.
+		/// </summary>
+		/// <param name="key">Key.</param>
+		/// <param name="value">Value.</param>
+		public virtual void SetNumberIsGreaterThan(string key, float value)
+		{
+			filterOperator = LayerFilterOperationType.IsGreater;
+			Key = key;
+			Min = value;
+			HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the number is in range.
+		/// </summary>
+		/// <param name="key">Key.</param>
+		/// <param name="min">Minimum.</param>
+		/// <param name="max">Max.</param>
+		public virtual void SetNumberIsInRange(string key, float min, float max)
+		{
+			filterOperator = LayerFilterOperationType.IsInRange;
+			Key = key;
+			Min = min;
+			Max = max;
+			HasChanged = true;
+		}
+
+		/// <summary>
+		/// Gets the key.
+		/// </summary>
+		/// <returns>The key.</returns>
+		public virtual string GetKey
+		{
+			get
+			{
+				return Key;
+			}
+		}
+
+		/// <summary>
+		/// Gets the type of the filter operation.
+		/// </summary>
+		/// <returns>The filter operation type.</returns>
+		public virtual LayerFilterOperationType GetFilterOperationType
+		{
+			get
+			{
+				return filterOperator;
+			}
+		}
+
+		/// <summary>
+		/// Gets the property value.
+		/// </summary>
+		/// <returns>The property value.</returns>
+		public virtual string GetPropertyValue
+		{
+			get
+			{
+				return PropertyValue;
+			}
+		}
+
+		/// <summary>
+		/// Gets the minimum value.
+		/// </summary>
+		/// <returns>The minimum value.</returns>
+		public virtual float GetNumberValue
+		{
+			get
+			{
+				return Min;
+			}
+		}
+
+		/// <summary>
+		/// Gets the minimum value.
+		/// </summary>
+		/// <returns>The minimum value.</returns>
+		public virtual float GetMinValue
+		{
+			get
+			{
+				return Min;
+			}
+		}
+
+		/// <summary>
+		/// Gets the max value.
+		/// </summary>
+		/// <returns>The max value.</returns>
+		public virtual float GetMaxValue
+		{
+			get
+			{
+				return Max;
+			}
+		}
+
+		/// <summary>
+		/// Returns true if filter key contains a given string.
+		/// </summary>
+		/// <returns><c>true</c>, if key contains was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="key">Key.</param>
+		public virtual bool FilterKeyContains(string key)
+		{
+			return Key.Contains(key);
+		}
+
+		/// <summary>
+		/// Returns true if filter key matches a given string exactly.
+		/// </summary>
+		/// <returns><c>true</c>, if key matches exact was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="key">Key.</param>
+		public virtual bool FilterKeyMatchesExact(string key)
+		{
+			return Key == key;
+		}
+
+		/// <summary>
+		/// Returns true if filter uses a given operation type.
+		/// </summary>
+		/// <returns><c>true</c>, if uses operation type was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="layerFilterOperationType">Layer filter operation type.</param>
+		public virtual bool FilterUsesOperationType(LayerFilterOperationType layerFilterOperationType)
+		{
+			return filterOperator == layerFilterOperationType;
+		}
+
+		/// <summary>
+		/// Returns true if filter property contains a given string.
+		/// </summary>
+		/// <returns><c>true</c>, if property contains was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="property">Property.</param>
+		public virtual bool FilterPropertyContains(string property)
+		{
+			return PropertyValue.Contains(property);
+		}
+
+		/// <summary>
+		/// Returns true if filter property matches a given string exactly.
+		/// </summary>
+		/// <returns><c>true</c>, if property matches exact was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="property">Property.</param>
+		public virtual bool FilterPropertyMatchesExact(string property)
+		{
+			return PropertyValue == property;
+		}
+
+		/// <summary>
+		/// Returns true if filter number value is equal to a given number.
+		/// </summary>
+		/// <returns><c>true</c>, if number value equals was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="value">Value.</param>
+		public virtual bool FilterNumberValueEquals(float value)
+		{
+			return Mathf.Approximately(Min, value);
+		}
+
+		/// <summary>
+		/// Returns true if filter number value is greater than a given number.
+		/// </summary>
+		/// <returns><c>true</c>, if number value is greater than was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="value">Value.</param>
+		public virtual bool FilterNumberValueIsGreaterThan(float value)
+		{
+			return Min > value;
+		}
+
+		/// <summary>
+		/// Returns true if filter number value is less than a given number.
+		/// </summary>
+		/// <returns><c>true</c>, if number value is less than was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="value">Value.</param>
+		public virtual bool FilterNumberValueIsLessThan(float value)
+		{
+			return Min < value;	
+		}
+
+		/// <summary>
+		/// Returns true if filter range values contain a given number.
+		/// </summary>
+		/// <returns><c>true</c>, if is in range value contains was filtered, <c>false</c> otherwise.</returns>
+		/// <param name="value">Value.</param>
+		public virtual bool FilterIsInRangeValueContains(float value)
+		{
+			return Min < value && value < Max;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/TypeFilter.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/TypeFilter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..67bf2b05917a3fa342ee42ac1bcff4d4c0f6fef1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Filters/TypeFilter.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cb49207f63da8544d9f0a3f790016544
+timeCreated: 1485210126
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces.meta
new file mode 100644
index 0000000000000000000000000000000000000000..157a363e623c26d1205fd4cf2bda36fc6e60943a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e4ff53839a2a7b04bb09cc89f514267d
+folderAsset: yes
+timeCreated: 1483047390
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/IFeaturePropertySettable.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/IFeaturePropertySettable.cs
new file mode 100644
index 0000000000000000000000000000000000000000..793641791bf9fe2b685e46ba0f26e6864a3488a2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/IFeaturePropertySettable.cs
@@ -0,0 +1,9 @@
+namespace Mapbox.Unity.MeshGeneration.Interfaces
+{
+    using System.Collections.Generic;
+
+    public interface IFeaturePropertySettable
+    {
+        void Set(Dictionary<string, object> props);
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/IFeaturePropertySettable.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/IFeaturePropertySettable.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cd48ab3454a4a2ab6bfb7011fe218e5013c5637f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/IFeaturePropertySettable.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e4a4d2f716d05a5438b51569513fdc77
+timeCreated: 1483231201
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/LayerVisualizerBase.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/LayerVisualizerBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8dc8f439d622e8cfd107ec65ff020d9c28aad7d8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/LayerVisualizerBase.cs
@@ -0,0 +1,63 @@
+namespace Mapbox.Unity.MeshGeneration.Interfaces
+{
+	using Mapbox.VectorTile;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+	using Mapbox.Unity.Map;
+
+	/// <summary>
+	/// Layer visualizers contains sytling logic and processes features
+	/// </summary>
+	public abstract class LayerVisualizerBase : ScriptableObject
+	{
+		public abstract bool Active { get; }
+		public abstract string Key { get; set; }
+		public abstract VectorSubLayerProperties SubLayerProperties { get; set; }
+
+		public abstract void Create(VectorTileLayer layer, UnityTile tile, Action<UnityTile, LayerVisualizerBase> callback = null);
+
+		public event System.EventHandler LayerVisualizerHasChanged;
+
+		public virtual void Initialize()
+		{
+
+		}
+		public virtual void InitializeStack()
+		{
+
+		}
+		public virtual void SetProperties(VectorSubLayerProperties properties)
+		{
+
+		}
+
+		public virtual void Clear()
+		{
+
+		}
+
+		public void UnregisterTile(UnityTile tile)
+		{
+			OnUnregisterTile(tile);
+		}
+
+		public virtual void OnUnregisterTile(UnityTile tile)
+		{
+
+		}
+
+		public virtual void UnbindSubLayerEvents()
+		{
+
+		}
+		protected virtual void OnUpdateLayerVisualizer(System.EventArgs e)
+		{
+			System.EventHandler handler = LayerVisualizerHasChanged;
+			if (handler != null)
+			{
+				handler(this, e);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/LayerVisualizerBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/LayerVisualizerBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6133ec1818008c939e9ee6b75d2b32ca18eb7f02
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Interfaces/LayerVisualizerBase.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 79d5cc1929eb9984089bd16e403893b9
+timeCreated: 1483047390
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..14f7c6461bf242d581007cf51c9c336db9e5a717
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 563368f5fe3c51549bbbdd1ce2d6dd9a
+folderAsset: yes
+timeCreated: 1478551786
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/LocationPrefabsLayerVisualizer.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/LocationPrefabsLayerVisualizer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..586bd0d7f7c752ecf76a0dae3ecbadc628e69cc6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/LocationPrefabsLayerVisualizer.cs
@@ -0,0 +1,387 @@
+using System.Linq;
+
+namespace Mapbox.Unity.MeshGeneration.Interfaces
+{
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Filters;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.VectorTile;
+	using System;
+	using System.Collections.Generic;
+	using System.Reflection;
+	using UnityEngine;
+
+	public class LocationPrefabsLayerVisualizer : VectorLayerVisualizer
+	{
+		private int maxDensity = 30; //This value is same as the density's max range value in PrefabItemOptions
+		private PrefabModifier _prefabModifier;
+
+		public override bool Active
+		{
+			get
+			{
+				return SubLayerProperties.coreOptions.isActive;
+			}
+		}
+
+		public override void SetProperties(VectorSubLayerProperties properties)
+		{
+			var item = properties as PrefabItemOptions;
+			SubLayerProperties = item;
+
+			_performanceOptions = item.performanceOptions;
+
+			item.filterOptions.filters.Clear();
+
+			//These are fixed properties
+			item.coreOptions.geometryType = item.primitiveType;
+			item.extrusionOptions = new GeometryExtrusionOptions
+			{
+				extrusionType = item.extrusionType
+			};
+
+			item.coreOptions.combineMeshes = item.combineMeshes;
+			item.moveFeaturePositionTo = item._movePrefabFeaturePositionTo;
+
+			string layerName = "";
+			if (item.layerNameFromFindByTypeDictionary.TryGetValue(item.findByType, out layerName))
+			{
+				item.coreOptions.layerName = layerName;
+				base.Key = layerName;
+			}
+
+			if (item.spawnPrefabOptions.prefab == null)
+			{
+				item.spawnPrefabOptions.prefab = Resources.Load<GameObject>("MapboxPin");
+				Debug.LogWarning("No prefab assigned for POI Layer - " + layerName + " , using default prefab! You may want to assign a custom prefab.");
+			}
+
+			//These properties are dependent on user choices
+			if (item.findByType != LocationPrefabFindBy.AddressOrLatLon)
+			{
+				if (item.findByType == LocationPrefabFindBy.MapboxCategory)
+				{
+					SetCategoryFilterOptions(item);
+				}
+				if (item.findByType == LocationPrefabFindBy.POIName)
+				{
+					SetNameFilters(item);
+				}
+
+				SetDensityFilters(item);
+			}
+
+			switch (item.coreOptions.geometryType)
+			{
+				case VectorPrimitiveType.Point:
+#if ENABLE_WINMD_SUPPORT
+					if (typeof(PrefabItemOptions).GetTypeInfo().IsAssignableFrom(item.GetType().GetTypeInfo())) //to check that the instance is of type PrefabItemOptions
+#else
+					if (typeof(PrefabItemOptions).IsAssignableFrom(item.GetType())) //to check that the instance is of type PrefabItemOptions
+#endif
+					{
+						PrefabItemOptions itemProperties = (PrefabItemOptions)item;
+
+						if (_defaultStack == null)
+						{
+							_defaultStack = ScriptableObject.CreateInstance<ModifierStack>();
+						}
+
+						(_defaultStack as ModifierStack).moveFeaturePositionTo = item.moveFeaturePositionTo;
+						if (itemProperties.snapToTerrain == true)
+						{
+							AddOrCreateMeshModifier<SnapTerrainModifier>();
+						}
+
+						if (_defaultStack.GoModifiers == null)
+						{
+							_defaultStack.GoModifiers = new List<GameObjectModifier>();
+						}
+
+						if (item.findByType == LocationPrefabFindBy.MapboxCategory)
+						{
+							if (_prefabModifier != null)
+							{
+								_prefabModifier.Clear();
+							}
+							_defaultStack.GoModifiers.Clear();
+						}
+
+						if ((item.findByType == LocationPrefabFindBy.MapboxCategory && item.categories == LocationPrefabCategories.None))
+						{
+
+							itemProperties.spawnPrefabOptions.PropertyHasChanged += UpdatePois;
+						}
+						else
+						{
+							_prefabModifier = AddOrCreateGameObjectModifier<PrefabModifier>();
+							_prefabModifier.SetProperties(itemProperties.spawnPrefabOptions);
+							_prefabModifier.ModifierHasChanged += UpdatePois;
+						}
+					}
+					break;
+				default:
+					break;
+			}
+
+			item.coreOptions.PropertyHasChanged += UpdatePois;
+			(SubLayerProperties as PrefabItemOptions).PropertyHasChanged += UpdatePois;
+		}
+
+		private void UpdatePois(object sender, System.EventArgs eventArgs)
+		{
+			
+			VectorLayerUpdateArgs layerUpdateArgs = eventArgs as VectorLayerUpdateArgs;
+
+			layerUpdateArgs.visualizer = this;
+			layerUpdateArgs.effectsVectorLayer = true;
+
+			if (layerUpdateArgs.modifier != null)
+			{
+				layerUpdateArgs.property.PropertyHasChanged -= layerUpdateArgs.modifier.UpdateModifier;
+				layerUpdateArgs.modifier.ModifierHasChanged -= UpdatePois;
+			}
+			else if (layerUpdateArgs.property != null)
+			{
+				layerUpdateArgs.property.PropertyHasChanged -= UpdatePois;
+			}
+
+			foreach (var modifier in _defaultStack.MeshModifiers)
+			{
+				modifier.UnbindProperties();
+				modifier.ModifierHasChanged -= UpdatePois;
+			}
+			foreach (var modifier in _defaultStack.GoModifiers)
+			{
+				modifier.UnbindProperties();
+				modifier.ModifierHasChanged -= UpdatePois;
+			}
+
+			SubLayerProperties.coreOptions.PropertyHasChanged -= UpdatePois;
+			(SubLayerProperties as PrefabItemOptions).PropertyHasChanged -= UpdatePois;
+
+			OnUpdateLayerVisualizer(layerUpdateArgs);
+		}
+
+		/// <summary>
+		/// Sets the category filter options.
+		/// </summary>
+		/// <param name="item">Item.</param>
+		private void SetCategoryFilterOptions(PrefabItemOptions item)
+		{
+			string propertyName = "";
+			item.categoryPropertyFromFindByTypeDictionary.TryGetValue(item.findByType, out propertyName);
+
+			string concatenatedString = "";
+			if (item.findByType == LocationPrefabFindBy.MapboxCategory)
+			{
+
+				List<LocationPrefabCategories> categoriesList = GetSelectedCategoriesList(item.categories);
+				if (categoriesList == null || categoriesList.Count == 0)
+				{
+					return;
+				}
+				else
+				{
+					List<string> stringsList = new List<string>();
+					foreach (LocationPrefabCategories category in categoriesList)
+					{
+						stringsList = LocationPrefabCategoryOptions.GetMakiListFromCategory(category);
+						if (string.IsNullOrEmpty(concatenatedString))
+						{
+							concatenatedString = string.Join(",", stringsList.ToArray());
+						}
+						else
+						{
+							concatenatedString += "," + string.Join(",", stringsList.ToArray());
+						}
+					}
+
+					LayerFilter filter = new LayerFilter(LayerFilterOperationType.Contains)
+					{
+						Key = propertyName,
+						PropertyValue = concatenatedString
+					};
+					AddFilterToItem(item, filter);
+				}
+			}
+		}
+
+		/// <summary>
+		/// Sets the density filters.
+		/// </summary>
+		/// <param name="item">Item.</param>
+		private void SetDensityFilters(PrefabItemOptions item)
+		{
+			if (item.density >= maxDensity) // decided that the max value for density
+			{
+				return;
+			}
+
+			string propertyName = "";
+			item.densityPropertyFromFindByTypeDictionary.TryGetValue(item.findByType, out propertyName);
+
+			if (item.findByType == LocationPrefabFindBy.MapboxCategory || item.findByType == LocationPrefabFindBy.POIName)
+			{
+				LayerFilter filter = new LayerFilter(LayerFilterOperationType.IsLess)
+				{
+					Key = propertyName,
+					Min = item.density
+				};
+				AddFilterToItem(item, filter);
+			}
+		}
+
+		/// <summary>
+		/// Sets the name filters.
+		/// </summary>
+		/// <param name="item">Item.</param>
+		private void SetNameFilters(PrefabItemOptions item)
+		{
+			if (string.IsNullOrEmpty(item.nameString))
+			{
+				return;
+			}
+
+			string propertyName = "";
+			item.namePropertyFromFindByTypeDictionary.TryGetValue(item.findByType, out propertyName);
+
+			if (item.findByType == LocationPrefabFindBy.POIName)
+			{
+				LayerFilter filter = new LayerFilter(LayerFilterOperationType.Contains)
+				{
+					Key = propertyName,
+					PropertyValue = item.nameString
+				};
+				AddFilterToItem(item, filter);
+			}
+		}
+
+		/// <summary>
+		/// Merges the filters with item filters.
+		/// </summary>
+		/// <param name="item">Item.</param>
+		private void AddFilterToItem(PrefabItemOptions item, LayerFilter filter)
+		{
+			if (item.filterOptions == null)
+			{
+				item.filterOptions = new VectorFilterOptions();
+			}
+
+			item.filterOptions.filters.Add(filter);
+			item.filterOptions.combinerType = item._combinerType;
+
+		}
+
+		/// <summary>
+		/// Gets the list of categories selected through the dropdown
+		/// </summary>
+		/// <returns>The selected categories list.</returns>
+		/// <param name="selectedCategories">Cat.</param>
+		private List<LocationPrefabCategories> GetSelectedCategoriesList(LocationPrefabCategories selectedCategories)
+		{
+			List<LocationPrefabCategories> containingCategories = new List<LocationPrefabCategories>();
+
+			Array eligibleValues = Enum.GetValues(typeof(LocationPrefabCategories));
+			if (selectedCategories == LocationPrefabCategories.None)
+			{
+				return containingCategories;
+			}
+
+			//For any other categories other than None and Any
+			foreach (object value in eligibleValues)
+			{
+				LocationPrefabCategories category = (LocationPrefabCategories)value;
+
+				if (category == LocationPrefabCategories.AnyCategory || category == LocationPrefabCategories.None)
+				{
+					continue;
+				}
+
+				if ((category & selectedCategories) != 0) //to check if category is contained in cat
+				{
+					containingCategories.Add(category);
+				}
+			}
+
+			return containingCategories;
+		}
+
+		public override void Create(VectorTileLayer layer, UnityTile tile, Action<UnityTile, LayerVisualizerBase> callback)
+		{
+			//for layers using specific locations, ignore VectorTileLayer and
+			//pass coordinates to the modifierstack using BuildFeatureFromLatLon.
+			if ((SubLayerProperties as PrefabItemOptions).findByType == LocationPrefabFindBy.AddressOrLatLon)
+			{
+				BuildFeatureFromLatLon(layer, tile);
+				if (callback != null)
+				{
+					callback(tile, this);
+				}
+			}
+			else
+			{
+				var item = (SubLayerProperties as PrefabItemOptions);
+				bool isCategoryNone = (item.findByType == LocationPrefabFindBy.MapboxCategory && item.categories == LocationPrefabCategories.None);
+				if (!isCategoryNone)
+				{
+					base.Create(layer, tile, callback);
+				}
+			}
+		}
+
+		/// <summary>
+		/// Creates a vector feature from lat lon and builds that feature using the modifier stack.
+		/// </summary>
+		/// <param name="layer">Layer.</param>
+		/// <param name="tile">Tile.</param>
+		private void BuildFeatureFromLatLon(VectorTileLayer layer, UnityTile tile)
+		{
+			if (tile.TileState != Enums.TilePropertyState.Unregistered)
+			{
+				string[] coordinates = (SubLayerProperties as PrefabItemOptions).coordinates;
+
+				for (int i = 0; i < coordinates.Length; i++)
+				{
+					if (string.IsNullOrEmpty(coordinates[i]))
+					{
+						return;
+					}
+
+					//check if the coordinate is in the tile
+					Utils.Vector2d coordinate = Conversions.StringToLatLon(coordinates[i]);
+					Mapbox.Map.UnwrappedTileId coordinateTileId = Conversions.LatitudeLongitudeToTileId(
+						coordinate.x, coordinate.y, tile.CurrentZoom);
+
+					if (coordinateTileId.Canonical.Equals(tile.CanonicalTileId))
+					{
+						if (String.IsNullOrEmpty(coordinates[i]))
+						{
+							return;
+						}
+
+						//create new vector feature
+						VectorFeatureUnity feature = new VectorFeatureUnity();
+						feature.Properties = new Dictionary<string, object>();
+						feature.Points = new List<List<Vector3>>();
+
+						//create submesh for feature
+						List<Vector3> latLonPoint = new List<Vector3>();
+						//add point to submesh, and submesh to feature
+						latLonPoint.Add(Conversions.LatitudeLongitudeToUnityTilePosition(coordinate, tile.CurrentZoom, tile.TileScale, layer.Extent).ToVector3xz());
+						feature.Points.Add(latLonPoint);
+
+						//pass valid feature.Data to modifiers
+						//this data has no relation to the features being drawn
+						feature.Data = layer.GetFeature(0);
+
+						//pass the feature to the mod stack
+						base.Build(feature, tile, tile.gameObject);
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/LocationPrefabsLayerVisualizer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/LocationPrefabsLayerVisualizer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..233bd42137221053360b9582a9c7beeee8932e2a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/LocationPrefabsLayerVisualizer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b250e20966143455d807eddf832c7362
+timeCreated: 1524037447
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ea07398bfb4373edd6038b477a777035d640c597
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs
@@ -0,0 +1,744 @@
+using Mapbox.VectorTile.Geometry;
+
+namespace Mapbox.Unity.MeshGeneration.Interfaces
+{
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Linq;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+	using Mapbox.VectorTile;
+	using UnityEngine;
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.MeshGeneration.Filters;
+	using Mapbox.Map;
+
+	public class VectorLayerVisualizerProperties
+	{
+		public FeatureProcessingStage featureProcessingStage;
+		public bool buildingsWithUniqueIds = false;
+		public VectorTileLayer vectorTileLayer;
+		public ILayerFeatureFilterComparer[] layerFeatureFilters;
+		public ILayerFeatureFilterComparer layerFeatureFilterCombiner;
+	}
+
+
+	public class VectorLayerVisualizer : LayerVisualizerBase
+	{
+		VectorSubLayerProperties _layerProperties;
+		public override VectorSubLayerProperties SubLayerProperties
+		{
+			get
+			{
+				return _layerProperties;
+			}
+			set
+			{
+				_layerProperties = value;
+			}
+		}
+
+		public ModifierStackBase DefaultModifierStack
+		{
+			get
+			{
+				return _defaultStack;
+			}
+			set
+			{
+				_defaultStack = value;
+			}
+		}
+
+		protected LayerPerformanceOptions _performanceOptions;
+		protected Dictionary<UnityTile, List<int>> _activeCoroutines;
+		int _entityInCurrentCoroutine = 0;
+
+		protected ModifierStackBase _defaultStack;
+		private HashSet<ulong> _activeIds;
+		private Dictionary<UnityTile, List<ulong>> _idPool; //necessary to keep _activeIds list up to date when unloading tiles
+		private string _key;
+
+		protected HashSet<ModifierBase> _coreModifiers = new HashSet<ModifierBase>();
+
+		public override string Key
+		{
+			get { return _layerProperties.coreOptions.layerName; }
+			set { _layerProperties.coreOptions.layerName = value; }
+		}
+
+		public T FindMeshModifier<T>() where T : MeshModifier
+		{
+			MeshModifier mod = _defaultStack.MeshModifiers.FirstOrDefault(x => x.GetType() == typeof(T));
+			return (T)mod;
+		}
+
+		public T FindGameObjectModifier<T>() where T : GameObjectModifier
+		{
+			GameObjectModifier mod = _defaultStack.GoModifiers.FirstOrDefault(x => x.GetType() == typeof(T));
+			return (T)mod;
+		}
+
+		public T AddOrCreateMeshModifier<T>() where T : MeshModifier
+		{
+			MeshModifier mod = _defaultStack.MeshModifiers.FirstOrDefault(x => x.GetType() == typeof(T));
+			if (mod == null)
+			{
+				mod = (MeshModifier)CreateInstance(typeof(T));
+				_coreModifiers.Add(mod);
+				_defaultStack.MeshModifiers.Add(mod);
+			}
+			return (T)mod;
+		}
+
+		public T AddOrCreateGameObjectModifier<T>() where T : GameObjectModifier
+		{
+			GameObjectModifier mod = _defaultStack.GoModifiers.FirstOrDefault(x => x.GetType() == typeof(T));
+			if (mod == null)
+			{
+				mod = (GameObjectModifier)CreateInstance(typeof(T));
+				_coreModifiers.Add(mod);
+				_defaultStack.GoModifiers.Add(mod);
+			}
+			return (T)mod;
+		}
+
+		private void UpdateVector(object sender, System.EventArgs eventArgs)
+		{
+			VectorLayerUpdateArgs layerUpdateArgs = eventArgs as VectorLayerUpdateArgs;
+
+			layerUpdateArgs.visualizer = this;
+			layerUpdateArgs.effectsVectorLayer = true;
+
+			if (layerUpdateArgs.modifier != null)
+			{
+				layerUpdateArgs.property.PropertyHasChanged -= layerUpdateArgs.modifier.UpdateModifier;
+				layerUpdateArgs.modifier.ModifierHasChanged -= UpdateVector;
+			}
+			else if (layerUpdateArgs.property != null)
+			{
+				layerUpdateArgs.property.PropertyHasChanged -= UpdateVector;
+			}
+			UnbindSubLayerEvents();
+
+			OnUpdateLayerVisualizer(layerUpdateArgs);
+		}
+
+		public override void UnbindSubLayerEvents()
+		{
+			foreach (var modifier in _defaultStack.MeshModifiers)
+			{
+				modifier.UnbindProperties();
+				modifier.ModifierHasChanged -= UpdateVector;
+			}
+			foreach (var modifier in _defaultStack.GoModifiers)
+			{
+				modifier.UnbindProperties();
+				modifier.ModifierHasChanged -= UpdateVector;
+			}
+
+			_layerProperties.extrusionOptions.PropertyHasChanged -= UpdateVector;
+			_layerProperties.coreOptions.PropertyHasChanged -= UpdateVector;
+			_layerProperties.filterOptions.PropertyHasChanged -= UpdateVector;
+			_layerProperties.filterOptions.UnRegisterFilters();
+			_layerProperties.materialOptions.PropertyHasChanged -= UpdateVector;
+
+			_layerProperties.PropertyHasChanged -= UpdateVector;
+		}
+
+		public override void SetProperties(VectorSubLayerProperties properties)
+		{
+			_coreModifiers = new HashSet<ModifierBase>();
+
+			if (_layerProperties == null && properties != null)
+			{
+				_layerProperties = properties;
+				if (_performanceOptions == null && properties.performanceOptions != null)
+				{
+					_performanceOptions = properties.performanceOptions;
+				}
+			}
+
+			if (_layerProperties.coreOptions.combineMeshes)
+			{
+				if (_defaultStack == null)
+				{
+					_defaultStack = ScriptableObject.CreateInstance<MergedModifierStack>();
+				}
+				else if (!(_defaultStack is MergedModifierStack))
+				{
+					_defaultStack.Clear();
+					DestroyImmediate(_defaultStack);
+					_defaultStack = ScriptableObject.CreateInstance<MergedModifierStack>();
+				}
+				else
+				{
+					// HACK - to clean out the Modifiers.
+					// Will this trigger GC that we could avoid ??
+					_defaultStack.MeshModifiers.Clear();
+					_defaultStack.GoModifiers.Clear();
+				}
+			}
+			else
+			{
+				if (_defaultStack == null)
+				{
+					_defaultStack = ScriptableObject.CreateInstance<ModifierStack>();
+					((ModifierStack)_defaultStack).moveFeaturePositionTo = _layerProperties.moveFeaturePositionTo;
+				}
+				if (!(_defaultStack is ModifierStack))
+				{
+					_defaultStack.Clear();
+					DestroyImmediate(_defaultStack);
+					_defaultStack = ScriptableObject.CreateInstance<ModifierStack>();
+					((ModifierStack)_defaultStack).moveFeaturePositionTo = _layerProperties.moveFeaturePositionTo;
+				}
+				else
+				{
+					// HACK - to clean out the Modifiers.
+					// Will this trigger GC that we could avoid ??
+					_defaultStack.MeshModifiers.Clear();
+					_defaultStack.GoModifiers.Clear();
+				}
+			}
+
+			//Add any additional modifiers that were added.
+			if (_defaultStack.MeshModifiers == null)
+			{
+				_defaultStack.MeshModifiers = new List<MeshModifier>();
+			}
+			if (_defaultStack.GoModifiers == null)
+			{
+				_defaultStack.GoModifiers = new List<GameObjectModifier>();
+			}
+
+			// Setup material options.
+			_layerProperties.materialOptions.SetDefaultMaterialOptions();
+
+			switch (_layerProperties.coreOptions.geometryType)
+			{
+				case VectorPrimitiveType.Point:
+				case VectorPrimitiveType.Custom:
+					{
+						// Let the user add anything that they want
+						if (_layerProperties.coreOptions.snapToTerrain == true)
+						{
+							AddOrCreateMeshModifier<SnapTerrainModifier>();
+						}
+
+						break;
+					}
+				case VectorPrimitiveType.Line:
+					{
+						if (_layerProperties.coreOptions.snapToTerrain == true)
+						{
+							AddOrCreateMeshModifier<SnapTerrainModifier>();
+						}
+
+						var lineMeshMod = AddOrCreateMeshModifier<LineMeshModifier>();
+						lineMeshMod.SetProperties(_layerProperties.lineGeometryOptions);
+						lineMeshMod.ModifierHasChanged += UpdateVector;
+
+						if (_layerProperties.extrusionOptions.extrusionType != Map.ExtrusionType.None)
+						{
+							var heightMod = AddOrCreateMeshModifier<HeightModifier>();
+							heightMod.SetProperties(_layerProperties.extrusionOptions);
+							heightMod.ModifierHasChanged += UpdateVector;
+						}
+						else
+						{
+							_layerProperties.extrusionOptions.PropertyHasChanged += UpdateVector;
+						}
+
+						//collider modifier options
+						var lineColliderMod = AddOrCreateGameObjectModifier<ColliderModifier>();
+						lineColliderMod.SetProperties(_layerProperties.colliderOptions);
+						lineColliderMod.ModifierHasChanged += UpdateVector;
+
+						var lineStyleMod = AddOrCreateGameObjectModifier<MaterialModifier>();
+						lineStyleMod.SetProperties(_layerProperties.materialOptions);
+						lineStyleMod.ModifierHasChanged += UpdateVector;
+
+						break;
+					}
+				case VectorPrimitiveType.Polygon:
+					{
+						if (_layerProperties.coreOptions.snapToTerrain == true)
+						{
+							AddOrCreateMeshModifier<SnapTerrainModifier>();
+						}
+
+						var poly = AddOrCreateMeshModifier<PolygonMeshModifier>();
+
+						UVModifierOptions uvModOptions = new UVModifierOptions();
+						uvModOptions.texturingType = (_layerProperties.materialOptions.style == StyleTypes.Custom) ? _layerProperties.materialOptions.customStyleOptions.texturingType : _layerProperties.materialOptions.texturingType;
+						uvModOptions.atlasInfo = (_layerProperties.materialOptions.style == StyleTypes.Custom) ? _layerProperties.materialOptions.customStyleOptions.atlasInfo : _layerProperties.materialOptions.atlasInfo;
+						uvModOptions.style = _layerProperties.materialOptions.style;
+						poly.SetProperties(uvModOptions);
+
+						if (_layerProperties.extrusionOptions.extrusionType != Map.ExtrusionType.None)
+						{
+							//replace materialOptions with styleOptions
+							bool useTextureSideWallModifier =
+							(_layerProperties.materialOptions.style == StyleTypes.Custom) ?
+								(_layerProperties.materialOptions.customStyleOptions.texturingType == UvMapType.Atlas || _layerProperties.materialOptions.customStyleOptions.texturingType == UvMapType.AtlasWithColorPalette)
+								: (_layerProperties.materialOptions.texturingType == UvMapType.Atlas || _layerProperties.materialOptions.texturingType == UvMapType.AtlasWithColorPalette);
+
+							if (useTextureSideWallModifier)
+							{
+								var atlasMod = AddOrCreateMeshModifier<TextureSideWallModifier>();
+								GeometryExtrusionWithAtlasOptions atlasOptions = new GeometryExtrusionWithAtlasOptions(_layerProperties.extrusionOptions, uvModOptions);
+								atlasMod.SetProperties(atlasOptions);
+								_layerProperties.extrusionOptions.PropertyHasChanged += UpdateVector;
+							}
+							else
+							{
+								var heightMod = AddOrCreateMeshModifier<HeightModifier>();
+								heightMod.SetProperties(_layerProperties.extrusionOptions);
+								heightMod.ModifierHasChanged += UpdateVector;
+							}
+						}
+						else
+						{
+							_layerProperties.extrusionOptions.PropertyHasChanged += UpdateVector;
+						}
+
+						//collider modifier options
+						var polyColliderMod = AddOrCreateGameObjectModifier<ColliderModifier>();
+						polyColliderMod.SetProperties(_layerProperties.colliderOptions);
+						polyColliderMod.ModifierHasChanged += UpdateVector;
+
+						var styleMod = AddOrCreateGameObjectModifier<MaterialModifier>();
+						styleMod.SetProperties(_layerProperties.materialOptions);
+						styleMod.ModifierHasChanged += UpdateVector;
+
+
+						bool isCustomStyle = (_layerProperties.materialOptions.style == StyleTypes.Custom);
+						if ((isCustomStyle) ? (_layerProperties.materialOptions.customStyleOptions.texturingType == UvMapType.AtlasWithColorPalette)
+							: (_layerProperties.materialOptions.texturingType == UvMapType.AtlasWithColorPalette))
+						{
+							var colorPaletteMod = AddOrCreateGameObjectModifier<MapboxStylesColorModifier>();
+							colorPaletteMod.m_scriptablePalette = (isCustomStyle) ? _layerProperties.materialOptions.customStyleOptions.colorPalette : _layerProperties.materialOptions.colorPalette;
+							_layerProperties.materialOptions.PropertyHasChanged += UpdateVector;
+							//TODO: Add SetProperties Method to MapboxStylesColorModifier
+						}
+
+						break;
+					}
+				default:
+					break;
+			}
+
+			_layerProperties.coreOptions.PropertyHasChanged += UpdateVector;
+			_layerProperties.filterOptions.PropertyHasChanged += UpdateVector;
+
+			_layerProperties.filterOptions.RegisterFilters();
+			if (_layerProperties.MeshModifiers != null)
+			{
+				_defaultStack.MeshModifiers.AddRange(_layerProperties.MeshModifiers);
+			}
+			if (_layerProperties.GoModifiers != null)
+			{
+				_defaultStack.GoModifiers.AddRange(_layerProperties.GoModifiers);
+			}
+
+			_layerProperties.PropertyHasChanged += UpdateVector;
+		}
+
+		/// <summary>
+		/// Add the replacement criteria to any mesh modifiers implementing IReplaceable
+		/// </summary>
+		/// <param name="criteria">Criteria.</param>
+		protected void SetReplacementCriteria(IReplacementCriteria criteria)
+		{
+			foreach (var meshMod in _defaultStack.MeshModifiers)
+			{
+				if (meshMod is IReplaceable)
+				{
+					((IReplaceable)meshMod).Criteria.Add(criteria);
+				}
+			}
+		}
+
+		#region Private Helper Methods
+		/// <summary>
+		/// Convenience function to add feature to Tile object pool.
+		/// </summary>
+		/// <param name="feature">Feature to be added to the pool.</param>
+		/// <param name="tile">Tile currently being processed.</param>
+		private void AddFeatureToTileObjectPool(VectorFeatureUnity feature, UnityTile tile)
+		{
+			_activeIds.Add(feature.Data.Id);
+			if (!_idPool.ContainsKey(tile))
+			{
+				_idPool.Add(tile, new List<ulong>() { feature.Data.Id });
+			}
+			else
+			{
+				_idPool[tile].Add(feature.Data.Id);
+			}
+		}
+
+		/// <summary>
+		/// Apply filters to the layer and check if the current feature is eleigible for rendering.
+		/// </summary>
+		/// <returns><c>true</c>, if feature eligible after filtering was applied, <c>false</c> otherwise.</returns>
+		/// <param name="feature">Feature.</param>
+		private bool IsFeatureEligibleAfterFiltering(VectorFeatureUnity feature, UnityTile tile, VectorLayerVisualizerProperties layerProperties)
+		{
+			if (layerProperties.layerFeatureFilters.Count() == 0)
+			{
+				return true;
+			}
+			else
+			{
+				// build features only if the filter returns true.
+				if (layerProperties.layerFeatureFilterCombiner.Try(feature))
+				{
+					return true;
+				}
+			}
+			return false;
+		}
+
+		/// <summary>
+		/// Function to fetch feature in vector tile at the index specified.
+		/// </summary>
+		/// <returns>The feature in tile at the index requested.</returns>
+		/// <param name="tile">Unity Tile containing the feature.</param>
+		/// <param name="index">Index of the vector feature being requested.</param>
+		private VectorFeatureUnity GetFeatureinTileAtIndex(int index, UnityTile tile, VectorLayerVisualizerProperties layerProperties)
+		{
+			return new VectorFeatureUnity(layerProperties.vectorTileLayer.GetFeature(index),
+													 tile,
+										  layerProperties.vectorTileLayer.Extent,
+										  layerProperties.buildingsWithUniqueIds);
+		}
+
+		/// <summary>
+		/// Function to check if the feature is already in the active Id pool, features already in active Id pool should be skipped from processing.
+		/// </summary>
+		/// <returns><c>true</c>, if feature is already in activeId pool or if the layer has buildingsWithUniqueId flag set to <see langword="true"/>, <c>false</c> otherwise.</returns>
+		/// <param name="featureId">Feature identifier.</param>
+		private bool ShouldSkipProcessingFeatureWithId(ulong featureId, UnityTile tile, VectorLayerVisualizerProperties layerProperties)
+		{
+			return (layerProperties.buildingsWithUniqueIds && _activeIds.Contains(featureId));
+		}
+
+		/// <summary>
+		/// Gets a value indicating whether this entity per coroutine bucket is full.
+		/// </summary>
+		/// <value><c>true</c> if coroutine bucket is full; otherwise, <c>false</c>.</value>
+		private bool IsCoroutineBucketFull
+		{
+			get
+			{
+				return (_performanceOptions != null && _performanceOptions.isEnabled && _entityInCurrentCoroutine >= _performanceOptions.entityPerCoroutine);
+			}
+		}
+
+		public override bool Active
+		{
+			get
+			{
+				return _layerProperties.coreOptions.isActive;
+			}
+		}
+
+		#endregion
+		public override void Initialize()
+		{
+			base.Initialize();
+			_entityInCurrentCoroutine = 0;
+
+			_activeCoroutines = new Dictionary<UnityTile, List<int>>();
+			_activeIds = new HashSet<ulong>();
+			_idPool = new Dictionary<UnityTile, List<ulong>>();
+
+			if (_defaultStack != null)
+			{
+				_defaultStack.Initialize();
+			}
+		}
+
+		public override void InitializeStack()
+		{
+			if (_defaultStack != null)
+			{
+				_defaultStack.Initialize();
+			}
+		}
+
+
+		public override void Create(VectorTileLayer layer, UnityTile tile, Action<UnityTile, LayerVisualizerBase> callback)
+		{
+			if (!_activeCoroutines.ContainsKey(tile))
+				_activeCoroutines.Add(tile, new List<int>());
+			_activeCoroutines[tile].Add(Runnable.Run(ProcessLayer(layer, tile, tile.UnwrappedTileId, callback)));
+		}
+
+		protected IEnumerator ProcessLayer(VectorTileLayer layer, UnityTile tile, UnwrappedTileId tileId, Action<UnityTile, LayerVisualizerBase> callback = null)
+		{
+			if (tile == null)
+			{
+				yield break;
+			}
+
+			VectorLayerVisualizerProperties tempLayerProperties = new VectorLayerVisualizerProperties();
+			tempLayerProperties.vectorTileLayer = layer;
+			tempLayerProperties.featureProcessingStage = FeatureProcessingStage.PreProcess;
+
+			//Get all filters in the array.
+			tempLayerProperties.layerFeatureFilters = _layerProperties.filterOptions.filters.Select(m => m.GetFilterComparer()).ToArray();
+
+			// Pass them to the combiner
+			tempLayerProperties.layerFeatureFilterCombiner = new Filters.LayerFilterComparer();
+			switch (_layerProperties.filterOptions.combinerType)
+			{
+				case Filters.LayerFilterCombinerOperationType.Any:
+					tempLayerProperties.layerFeatureFilterCombiner = Filters.LayerFilterComparer.AnyOf(tempLayerProperties.layerFeatureFilters);
+					break;
+				case Filters.LayerFilterCombinerOperationType.All:
+					tempLayerProperties.layerFeatureFilterCombiner = Filters.LayerFilterComparer.AllOf(tempLayerProperties.layerFeatureFilters);
+					break;
+				case Filters.LayerFilterCombinerOperationType.None:
+					tempLayerProperties.layerFeatureFilterCombiner = Filters.LayerFilterComparer.NoneOf(tempLayerProperties.layerFeatureFilters);
+					break;
+				default:
+					break;
+			}
+
+			tempLayerProperties.buildingsWithUniqueIds = (_layerProperties.honorBuildingIdSetting) && _layerProperties.buildingsWithUniqueIds;
+
+			//find any replacement criteria and assign them
+			foreach (var goModifier in _defaultStack.GoModifiers)
+			{
+				if (goModifier is IReplacementCriteria && goModifier.Active)
+				{
+					SetReplacementCriteria((IReplacementCriteria)goModifier);
+				}
+			}
+
+			#region PreProcess & Process.
+
+			var featureCount = (tempLayerProperties.vectorTileLayer == null) ? 0 : tempLayerProperties.vectorTileLayer.FeatureCount();
+			do
+			{
+				for (int i = 0; i < featureCount; i++)
+				{
+					//checking if tile is recycled and changed
+					if (tile.UnwrappedTileId != tileId || !_activeCoroutines.ContainsKey(tile) || tile.TileState == Enums.TilePropertyState.Unregistered)
+					{
+						yield break;
+					}
+
+					ProcessFeature(i, tile, tempLayerProperties, layer.Extent);
+
+					if (IsCoroutineBucketFull && !(Application.isEditor && !Application.isPlaying))
+					{
+						//Reset bucket..
+						_entityInCurrentCoroutine = 0;
+						yield return null;
+					}
+				}
+				// move processing to next stage.
+				tempLayerProperties.featureProcessingStage++;
+			} while (tempLayerProperties.featureProcessingStage == FeatureProcessingStage.PreProcess
+			|| tempLayerProperties.featureProcessingStage == FeatureProcessingStage.Process);
+
+			#endregion
+
+			#region PostProcess
+			// TODO : Clean this up to follow the same pattern.
+			var mergedStack = _defaultStack as MergedModifierStack;
+			if (mergedStack != null && tile != null)
+			{
+				mergedStack.End(tile, tile.gameObject, layer.Name);
+			}
+			#endregion
+
+			if (callback != null)
+				callback(tile, this);
+		}
+
+		private bool ProcessFeature(int index, UnityTile tile, VectorLayerVisualizerProperties layerProperties, float layerExtent)
+		{
+			var fe = layerProperties.vectorTileLayer.GetFeature(index);
+			List<List<Point2d<float>>> geom;
+			if (layerProperties.buildingsWithUniqueIds == true) //ids from building dataset is big ulongs
+			{
+				geom = fe.Geometry<float>(); //and we're not clipping by passing no parameters
+
+				if (geom[0][0].X < 0 || geom[0][0].X > layerExtent || geom[0][0].Y < 0 || geom[0][0].Y > layerExtent)
+				{
+					return false;
+				}
+			}
+			else //streets ids, will require clipping
+			{
+				geom = fe.Geometry<float>(0); //passing zero means clip at tile edge
+			}
+
+			var feature = new VectorFeatureUnity(layerProperties.vectorTileLayer.GetFeature(index),
+				geom,
+				tile,
+				layerProperties.vectorTileLayer.Extent,
+				layerProperties.buildingsWithUniqueIds);
+
+
+			if (IsFeatureEligibleAfterFiltering(feature, tile, layerProperties))
+			{
+				if (tile != null && tile.gameObject != null && tile.VectorDataState != Enums.TilePropertyState.Cancelled)
+				{
+					switch (layerProperties.featureProcessingStage)
+					{
+						case FeatureProcessingStage.PreProcess:
+							//pre process features.
+							PreProcessFeatures(feature, tile, tile.gameObject);
+							break;
+						case FeatureProcessingStage.Process:
+							//skip existing features, only works on tilesets with unique ids
+							if (ShouldSkipProcessingFeatureWithId(feature.Data.Id, tile, layerProperties))
+							{
+								return false;
+							}
+							//feature not skipped. Add to pool only if features are in preprocess stage.
+							AddFeatureToTileObjectPool(feature, tile);
+							Build(feature, tile, tile.gameObject);
+							break;
+						case FeatureProcessingStage.PostProcess:
+							break;
+						default:
+							break;
+					}
+					_entityInCurrentCoroutine++;
+				}
+			}
+			return true;
+		}
+
+		/// <summary>
+		/// Preprocess features, finds the relevant modifier stack and passes the feature to that stack
+		/// </summary>
+		/// <param name="feature"></param>
+		/// <param name="tile"></param>
+		/// <param name="parent"></param>
+		private bool IsFeatureValid(VectorFeatureUnity feature)
+		{
+			if (feature.Properties.ContainsKey("extrude") && !bool.Parse(feature.Properties["extrude"].ToString()))
+				return false;
+
+			if (feature.Points.Count < 1)
+				return false;
+
+			return true;
+		}
+
+		protected void PreProcessFeatures(VectorFeatureUnity feature, UnityTile tile, GameObject parent)
+		{
+			//find any replacement criteria and assign them
+			foreach (var goModifier in _defaultStack.GoModifiers)
+			{
+				if (goModifier is IReplacementCriteria && goModifier.Active)
+				{
+					goModifier.FeaturePreProcess(feature);
+				}
+			}
+		}
+
+		protected void Build(VectorFeatureUnity feature, UnityTile tile, GameObject parent)
+		{
+			if (feature.Properties.ContainsKey("extrude") && !Convert.ToBoolean(feature.Properties["extrude"]))
+				return;
+
+			if (feature.Points.Count < 1)
+				return;
+
+			//this will be improved in next version and will probably be replaced by filters
+			var styleSelectorKey = _layerProperties.coreOptions.sublayerName;
+
+			var meshData = new MeshData();
+			meshData.TileRect = tile.Rect;
+
+			//and finally, running the modifier stack on the feature
+			var processed = false;
+
+			if (!processed)
+			{
+				if (_defaultStack != null)
+				{
+					_defaultStack.Execute(tile, feature, meshData, parent, styleSelectorKey);
+				}
+			}
+		}
+
+		/// <summary>
+		/// Handle tile destruction event and propagate it to modifier stacks
+		/// </summary>
+		/// <param name="tile">Destroyed tile object</param>
+		public override void OnUnregisterTile(UnityTile tile)
+		{
+			base.OnUnregisterTile(tile);
+			if (_activeCoroutines.ContainsKey(tile))
+			{
+				foreach (var cor in _activeCoroutines[tile])
+				{
+					Runnable.Stop(cor);
+				}
+			}
+			_activeCoroutines.Remove(tile);
+
+			if (_defaultStack != null)
+			{
+				_defaultStack.UnregisterTile(tile);
+			}
+
+			//removing ids from activeIds list so they'll be recreated next time tile loads (necessary when you're unloading/loading tiles)
+			if (_idPool.ContainsKey(tile))
+			{
+				foreach (var item in _idPool[tile])
+				{
+					_activeIds.Remove(item);
+				}
+				_idPool[tile].Clear();
+			}
+		}
+
+		public override void Clear()
+		{
+			_idPool.Clear();
+			_defaultStack.Clear();
+
+			foreach (var mod in _defaultStack.MeshModifiers)
+			{
+				if (mod == null)
+				{
+					continue;
+				}
+
+				if (_coreModifiers.Contains(mod))
+				{
+					DestroyImmediate(mod);
+				}
+			}
+
+			foreach (var mod in _defaultStack.GoModifiers)
+			{
+				if (mod == null)
+				{
+					continue;
+				}
+
+				mod.Clear();
+				if (_coreModifiers.Contains(mod))
+				{
+					DestroyImmediate(mod);
+				}
+			}
+
+			DestroyImmediate(_defaultStack);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9878dbc9dd4dfd84cc52a509bdeea8c6b00493f0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/LayerVisualizers/VectorLayerVisualizer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 120e43a7012622e49aca0c9217acd1f9
+timeCreated: 1520376260
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c04afb5b8372038b9ce299e6e7ce2aa0cd72f6b8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 25cf434b1eb73654b87eeb87c3dd3874
+folderAsset: yes
+timeCreated: 1478551853
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d711be7dff72c782b8f7cfe3672f847c272203d4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifier.cs
@@ -0,0 +1,42 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using System;
+
+	/// <summary>
+	/// GameObject Modifiers
+	/// Game object modifiers ran after the mesh modifiers and game object creation.Their main purpose is to work on
+	/// game object and decorate/improve them in their own ways.They ran for each game object individually.
+	/// It's possible to do lots of different things with GameObject Modifiers.A simple example would be MaterialModifier,
+	/// which simply sets random materials to gameobject and submeshes.A more complicated example would be
+	/// SpawnInside Modifier which instantiates prefabs in a polygon, like trees in a park.
+	/// Any operation, you want to perform on generated entity, that would require a game object is a good candidate
+	/// for game object modifiers. For example, things like adding a collider or animation would require a gameobject
+	/// hence cannot be done in mesh modifier.
+	/// Game object modifiers is the suggested way of customizing generated game object and we expect developers to
+	/// fully utilize this by creating their own custom game object modifiers.
+	/// </summary>
+	public class GameObjectModifier : ModifierBase
+	{
+		public virtual void Run(VectorEntity ve, UnityTile tile)
+		{
+
+		}
+
+		public virtual void OnPoolItem(VectorEntity vectorEntity)
+		{
+
+		}
+
+		public virtual void Clear()
+		{
+
+		}
+
+		public virtual void ClearCaches()
+		{
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8a0ea7ce0611e7013831f2c24948f5717108920d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 04073a22e6d61d442b88733b4bb8c32d
+timeCreated: 1478551946
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..734d028eba05c36bc8f220ef109195ca42ea6e9a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1db53dec60e777144b02910fea4ee2c3
+folderAsset: yes
+timeCreated: 1485207977
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..323b11e3d33722de158d4121c359b641d6ec3a92
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifier.cs
@@ -0,0 +1,39 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using UnityEngine;
+	using System.Collections.Generic;
+	using System;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Add Monobehaviours Modifier")]
+	public class AddMonoBehavioursModifier : GameObjectModifier
+	{
+		[SerializeField]
+		AddMonoBehavioursModifierType[] _types;
+		private HashSet<string> _scripts;
+		private string _tempId;
+
+		public override void Initialize()
+		{
+			if (_scripts == null)
+			{
+				_scripts = new HashSet<string>();
+				_tempId = string.Empty;
+			}
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			foreach (var t in _types)
+			{
+				_tempId = ve.GameObject.GetInstanceID() + t.Type.FullName;
+				if (!_scripts.Contains(_tempId))
+				{
+					ve.GameObject.AddComponent(t.Type);
+					_scripts.Add(_tempId);
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a323a92df06462d22e1ee347a6a0f3b71527fd16
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c3b6ec6b924494ffda604db0a299df8d
+timeCreated: 1499897465
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifierType.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifierType.cs
new file mode 100644
index 0000000000000000000000000000000000000000..20f58e384ab2bbaa6a1c61c5bf8434eb5a28e1ef
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifierType.cs
@@ -0,0 +1,35 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using System;
+	using UnityEngine;
+
+#if UNITY_EDITOR
+	using UnityEditor;
+#endif
+
+	[Serializable]
+	public class AddMonoBehavioursModifierType
+	{
+		[SerializeField]
+		string _typeString;
+
+		Type _type;
+
+#if UNITY_EDITOR
+		[SerializeField]
+		MonoScript _script;
+#endif
+
+		public Type Type
+		{
+			get
+			{
+				if (_type == null)
+				{
+					_type = Type.GetType(_typeString);
+				}
+				return _type;
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifierType.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifierType.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3cae67ce09b0480c76329057ae0d3bb392012d28
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddMonoBehavioursModifierType.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 90b119b6678da4c80a69a3a4d8793d7f
+timeCreated: 1499897465
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddToCollectionModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddToCollectionModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..814d3f2e550d7c7a6b52d9517ebd005698f81b40
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddToCollectionModifier.cs
@@ -0,0 +1,24 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+    using UnityEngine;
+    using Mapbox.Unity.MeshGeneration.Components;
+    using Mapbox.Unity.MeshGeneration.Data;
+
+    [CreateAssetMenu(menuName = "Mapbox/Modifiers/Add To Collection Modifier")]
+    public class AddToCollectionModifier : GameObjectModifier
+    {
+        [SerializeField]
+        private FeatureCollectionBase _collection;
+
+		public override void Initialize()
+		{
+			base.Initialize();
+			_collection.Initialize();
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+        {
+			_collection.AddFeature(new double[] { ve.Transform.position.x, ve.Transform.position.z }, ve);
+		}
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddToCollectionModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddToCollectionModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..287d1430a8bb8fad639a4fcd4d8a6786fdd6a8be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/AddToCollectionModifier.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4538b91da572dfa41adf689573eaba4b
+timeCreated: 1519739956
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/ColliderModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/ColliderModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..763f21da3510825378206ee3c61d92151f647029
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/ColliderModifier.cs
@@ -0,0 +1,175 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using System.Collections.Generic;
+	using System;
+	using Mapbox.Unity.Map;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Collider Modifier")]
+	public class ColliderModifier : GameObjectModifier
+	{
+		//[SerializeField]
+		private IColliderStrategy _colliderStrategy;
+
+		[SerializeField]
+		ColliderOptions _options;
+
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			_options = (ColliderOptions)properties;
+			_options.PropertyHasChanged += UpdateModifier;
+		}
+
+		public override void UnbindProperties()
+		{
+			_options.PropertyHasChanged -= UpdateModifier;
+		}
+
+		public override void Initialize()
+		{
+			//no need to reset strategy objects on map reinit as we're caching feature game objects as well
+			//creating a new one iff we don't already have one. if you want to reset/recreate you have to clear stuff inside current/old one first.
+
+			switch (_options.colliderType)
+			{
+				case ColliderType.None:
+					_colliderStrategy = null;
+					break;
+				case ColliderType.BoxCollider:
+					_colliderStrategy = new BoxColliderStrategy();
+					break;
+				case ColliderType.MeshCollider:
+					_colliderStrategy = new MeshColliderStrategy();
+					break;
+				case ColliderType.SphereCollider:
+					_colliderStrategy = new SphereColliderStrategy();
+					break;
+				default:
+					_colliderStrategy = null;
+					break;
+			}
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			// if collider exists. remove it.
+			RemoveColliderFrom(ve);
+			if (_colliderStrategy != null)
+			{
+				_colliderStrategy.AddColliderTo(ve);
+			}
+		}
+
+		public void RemoveColliderFrom(VectorEntity ve)
+		{
+			var existingCollider = ve.GameObject.GetComponent<Collider>();
+			if (existingCollider != null)
+			{
+				DestroyImmediate(existingCollider);
+				if (_colliderStrategy != null)
+				{
+					_colliderStrategy.Reset();
+				}
+			}
+		}
+
+		public class BoxColliderStrategy : IColliderStrategy
+		{
+			private Dictionary<GameObject, BoxCollider> _colliders;
+
+			public BoxColliderStrategy()
+			{
+				_colliders = new Dictionary<GameObject, BoxCollider>();
+			}
+
+			public void AddColliderTo(VectorEntity ve)
+			{
+				if (_colliders.ContainsKey(ve.GameObject))
+				{
+					_colliders[ve.GameObject].center = ve.Mesh.bounds.center;
+					_colliders[ve.GameObject].size = ve.Mesh.bounds.size;
+				}
+				else
+				{
+					_colliders.Add(ve.GameObject, ve.GameObject.AddComponent<BoxCollider>());
+				}
+			}
+			public void Reset()
+			{
+				if (_colliders != null)
+				{
+					_colliders.Clear();
+				}
+			}
+		}
+
+		public class MeshColliderStrategy : IColliderStrategy
+		{
+			private Dictionary<GameObject, MeshCollider> _colliders;
+
+			public MeshColliderStrategy()
+			{
+				_colliders = new Dictionary<GameObject, MeshCollider>();
+			}
+
+			public void AddColliderTo(VectorEntity ve)
+			{
+				if (_colliders.ContainsKey(ve.GameObject))
+				{
+					_colliders[ve.GameObject].sharedMesh = ve.Mesh;
+				}
+				else
+				{
+					_colliders.Add(ve.GameObject, ve.GameObject.AddComponent<MeshCollider>());
+				}
+			}
+			public void Reset()
+			{
+				if (_colliders != null)
+				{
+					_colliders.Clear();
+				}
+			}
+		}
+
+		public class SphereColliderStrategy : IColliderStrategy
+		{
+			private Dictionary<GameObject, SphereCollider> _colliders;
+
+			public SphereColliderStrategy()
+			{
+				_colliders = new Dictionary<GameObject, SphereCollider>();
+			}
+
+			public void AddColliderTo(VectorEntity ve)
+			{
+				if (_colliders.ContainsKey(ve.GameObject))
+				{
+					_colliders[ve.GameObject].center = ve.Mesh.bounds.center;
+					_colliders[ve.GameObject].radius = ve.Mesh.bounds.extents.magnitude;
+				}
+				else
+				{
+					_colliders.Add(ve.GameObject, ve.GameObject.AddComponent<SphereCollider>());
+				}
+			}
+
+			public void Reset()
+			{
+				if (_colliders != null)
+				{
+					_colliders.Clear();
+				}
+			}
+		}
+
+		public interface IColliderStrategy
+		{
+			void AddColliderTo(VectorEntity ve);
+			void Reset();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/ColliderModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/ColliderModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..542e3e0c03969c0f20e22d18cf368f903a2122c4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/ColliderModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 288d05a2dbabb0f46a5fa6c85102780a
+timeCreated: 1494350918
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/DisableMeshRendererModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/DisableMeshRendererModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0420dae816b1ece7912cd5e3ae862206919af519
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/DisableMeshRendererModifier.cs
@@ -0,0 +1,14 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Disable Mesh Renderer Modifier")]
+	public class DisableMeshRendererModifier : GameObjectModifier
+	{
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			ve.MeshRenderer.enabled = false;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/DisableMeshRendererModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/DisableMeshRendererModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..373b8fa243bce549d55491cb8eaa0fcde575c839
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/DisableMeshRendererModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a0fe0aeb4b2814799b34ce6cfd6308a1
+timeCreated: 1508781994
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/FeatureBehaviourModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/FeatureBehaviourModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2bcfe99d01b4bcb0a48d7ab4b5a3d83cec8daf56
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/FeatureBehaviourModifier.cs
@@ -0,0 +1,36 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using UnityEngine;
+	using System.Collections.Generic;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Add Feature Behaviour Modifier")]
+	public class FeatureBehaviourModifier : GameObjectModifier
+	{
+		private Dictionary<GameObject, FeatureBehaviour> _features;
+		private FeatureBehaviour _tempFeature;
+
+		public override void Initialize()
+		{
+			if (_features == null)
+			{
+				_features = new Dictionary<GameObject, FeatureBehaviour>();
+			}
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			if (_features.ContainsKey(ve.GameObject))
+			{
+				_features[ve.GameObject].Initialize(ve);
+			}
+			else
+			{
+				_tempFeature = ve.GameObject.AddComponent<FeatureBehaviour>();
+				_features.Add(ve.GameObject, _tempFeature);
+				_tempFeature.Initialize(ve);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/FeatureBehaviourModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/FeatureBehaviourModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9d6d33f06c99e5f5852ac7d89ba43c9bfec559d1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/FeatureBehaviourModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: fdf79806a4f74da4aa48339c010a208c
+timeCreated: 1499897465
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/LayerModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/LayerModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d835348990b9eac826d8e9383e0c33ef8516e0f5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/LayerModifier.cs
@@ -0,0 +1,18 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+    using UnityEngine;
+    using Mapbox.Unity.MeshGeneration.Components;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+    [CreateAssetMenu(menuName = "Mapbox/Modifiers/Layer Modifier")]
+    public class LayerModifier : GameObjectModifier
+    {
+        [SerializeField]
+        private int _layerId;
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+        {
+            ve.GameObject.layer = _layerId;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/LayerModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/LayerModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d50795358b8d191cdd711d79aed176789c90c01c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/LayerModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a4644f4fa4408d144a9c7927401f3807
+timeCreated: 1494349551
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MapboxStylesColorModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MapboxStylesColorModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b85044730ee2b5ce77caf300c3849e74eafa9a5e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MapboxStylesColorModifier.cs
@@ -0,0 +1,64 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine.Assertions;
+	using UnityEngine;
+
+	public class MapboxStylesColorModifier : GameObjectModifier
+	{
+
+		public ScriptablePalette m_scriptablePalette;
+
+		private const string _BASE_COLOR_NAME = "_BaseColor";
+		private const string _DETAIL_ONE_COLOR_NAME = "_DetailColor1";
+		private const string _DETAIL_TWO_COLOR_NAME = "_DetailColor2";
+
+		private int _baseColorId;
+		private int _detailOneColorId;
+		private int _detailTWoColorId;
+
+		public override void Initialize()
+		{
+			if (m_scriptablePalette == null)
+			{
+				return;
+			}
+
+			_baseColorId = Shader.PropertyToID(_BASE_COLOR_NAME);
+			_detailOneColorId = Shader.PropertyToID(_DETAIL_ONE_COLOR_NAME);
+			_detailTWoColorId = Shader.PropertyToID(_DETAIL_TWO_COLOR_NAME);
+		}
+
+		private Color GetRandomColorFromPalette()
+		{
+			Color color = Color.white;
+			if (m_scriptablePalette.m_colors.Length > 0)
+			{
+				color = m_scriptablePalette.m_colors[Random.Range(0, m_scriptablePalette.m_colors.Length)];
+			}
+			return color;
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			if (m_scriptablePalette == null)
+			{
+				return;
+			}
+
+			MaterialPropertyBlock propBlock = new MaterialPropertyBlock();
+
+			ve.MeshRenderer.GetPropertyBlock(propBlock);
+
+			Color baseColor = (m_scriptablePalette.m_setBaseColor_Override) ? m_scriptablePalette.m_baseColor_Override : GetRandomColorFromPalette();
+			Color detailColor1 = (m_scriptablePalette.m_setDetailColor1_Override) ? m_scriptablePalette.m_detailColor1_Override : GetRandomColorFromPalette();
+			Color detailColor2 = (m_scriptablePalette.m_setDetailColor2_Override) ? m_scriptablePalette.m_detailColor2_Override : GetRandomColorFromPalette();
+
+			propBlock.SetColor(_baseColorId, baseColor);
+			propBlock.SetColor(_detailOneColorId, detailColor1);
+			propBlock.SetColor(_detailTWoColorId, detailColor2);
+
+			ve.MeshRenderer.SetPropertyBlock(propBlock);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MapboxStylesColorModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MapboxStylesColorModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b14f77ca90e3fd041a0af999536a93c587e11bfe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MapboxStylesColorModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 56e8568e69143416293940ecb62ec734
+timeCreated: 1520460892
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MaterialModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MaterialModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3b476dcebac94fe8846459cc48b6127dd27175a6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MaterialModifier.cs
@@ -0,0 +1,106 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.Map;
+	using System;
+
+	/// <summary>
+	/// Texture Modifier is a basic modifier which simply adds a TextureSelector script to the features.
+	/// Logic is all pushed into this TextureSelector mono behaviour to make it's easier to change it in runtime.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Material Modifier")]
+	public class MaterialModifier : GameObjectModifier
+	{
+		[SerializeField]
+		GeometryMaterialOptions _options;
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			_options = (GeometryMaterialOptions)properties;
+			_options.PropertyHasChanged += UpdateModifier;
+		}
+
+		public override void UnbindProperties()
+		{
+			_options.PropertyHasChanged -= UpdateModifier;
+		}
+
+		private float GetRenderMode(float val)
+		{
+			return Mathf.Approximately(val, 1.0f) ? 0f : 3f;
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			var min = Math.Min(_options.materials.Length, ve.MeshFilter.sharedMesh.subMeshCount);
+			var mats = new Material[min];
+
+			if (_options.style == StyleTypes.Custom)
+			{
+				for (int i = 0; i < min; i++)
+				{
+					mats[i] = _options.customStyleOptions.materials[i].Materials[UnityEngine.Random.Range(0, _options.customStyleOptions.materials[i].Materials.Length)];
+				}
+			}
+			else if (_options.style == StyleTypes.Satellite)
+			{
+				for (int i = 0; i < min; i++)
+				{
+					mats[i] = Instantiate(_options.materials[i].Materials[UnityEngine.Random.Range(0, _options.materials[i].Materials.Length)]);
+				}
+
+				mats[0].mainTexture = tile.GetRasterData();
+				mats[0].mainTextureScale = new Vector2(1f, 1f);
+			}
+			else
+			{
+				float renderMode = 0.0f;
+				switch (_options.style)
+				{
+					case StyleTypes.Light:
+						renderMode = GetRenderMode(_options.lightStyleOpacity);
+						break;
+					case StyleTypes.Dark:
+						renderMode = GetRenderMode(_options.darkStyleOpacity);
+						break;
+					case StyleTypes.Color:
+						renderMode = GetRenderMode(_options.colorStyleColor.a);
+						break;
+					default:
+						break;
+				}
+				for (int i = 0; i < min; i++)
+				{
+					mats[i] = _options.materials[i].Materials[UnityEngine.Random.Range(0, _options.materials[i].Materials.Length)];
+					mats[i].SetFloat("_Mode", renderMode);
+				}
+			}
+			ve.MeshRenderer.materials = mats;
+		}
+
+		public override void OnPoolItem(VectorEntity vectorEntity)
+		{
+			if (_options.style == StyleTypes.Satellite)
+			{
+				foreach (var material in vectorEntity.MeshRenderer.sharedMaterials)
+				{
+					DestroyImmediate(material, true);
+				}
+			}
+		}
+	}
+
+	[Serializable]
+	public class MaterialList
+	{
+		[SerializeField]
+		public Material[] Materials;
+
+		public MaterialList()
+		{
+			Materials = new Material[1];
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MaterialModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MaterialModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..abc6cb11bc5cc5843a51dd702ab04351454c8cbe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/MaterialModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 76c93f3debdba4e48adb1b99cad0a0d2
+timeCreated: 1508469304
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/NoiseOffsetModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/NoiseOffsetModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9ade0465d1f82d020892187b01273151d30bf3ce
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/NoiseOffsetModifier.cs
@@ -0,0 +1,19 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Noise Offset Modifier")]
+	public class NoiseOffsetModifier : GameObjectModifier
+	{
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			//create a very small random offset to avoid z-fighting
+			Vector3 randomOffset = Random.insideUnitSphere;
+			randomOffset *= 0.01f;
+
+			ve.GameObject.transform.localPosition += randomOffset;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/NoiseOffsetModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/NoiseOffsetModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7b6549aaecb3e1e150e5b1c99507f32377b9f9ab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/NoiseOffsetModifier.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: fa6f0c874a917480ab42ea3d79edf819
+timeCreated: 1532995020
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/PrefabModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/PrefabModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3b0486454fff15fdc174e88271e8d2526049a2a9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/PrefabModifier.cs
@@ -0,0 +1,114 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+	using System.Collections.Generic;
+	using Mapbox.Unity.Map;
+	using System;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Prefab Modifier")]
+	public class PrefabModifier : GameObjectModifier
+	{
+		private Dictionary<GameObject, GameObject> _objects;
+		[SerializeField]
+		private SpawnPrefabOptions _options;
+		private List<GameObject> _prefabList = new List<GameObject>();
+
+		public override void Initialize()
+		{
+			if (_objects == null)
+			{
+				_objects = new Dictionary<GameObject, GameObject>();
+			}
+		}
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			_options = (SpawnPrefabOptions)properties;
+			_options.PropertyHasChanged += UpdateModifier;
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			if (_options.prefab == null)
+			{
+				return;
+			}
+
+			GameObject go = null;
+
+			if (_objects.ContainsKey(ve.GameObject))
+			{
+				go = _objects[ve.GameObject];
+			}
+			else
+			{
+				go = Instantiate(_options.prefab);
+				_prefabList.Add(go);
+				_objects.Add(ve.GameObject, go);
+				go.transform.SetParent(ve.GameObject.transform, false);
+			}
+
+			PositionScaleRectTransform(ve, tile, go);
+
+			if (_options.AllPrefabsInstatiated != null)
+			{
+				_options.AllPrefabsInstatiated(_prefabList);
+			}
+		}
+
+		public void PositionScaleRectTransform(VectorEntity ve, UnityTile tile, GameObject go)
+		{
+			RectTransform goRectTransform;
+			IFeaturePropertySettable settable = null;
+			var centroidVector = new Vector3();
+			foreach (var point in ve.Feature.Points[0])
+			{
+				centroidVector += point;
+			}
+			centroidVector = centroidVector / ve.Feature.Points[0].Count;
+
+			go.name = ve.Feature.Data.Id.ToString();
+
+			goRectTransform = go.GetComponent<RectTransform>();
+			if (goRectTransform == null)
+			{
+				go.transform.localPosition = centroidVector;
+				if (_options.scaleDownWithWorld)
+				{
+					go.transform.localScale = _options.prefab.transform.localScale * (tile.TileScale);
+				}
+			}
+			else
+			{
+				goRectTransform.anchoredPosition3D = centroidVector;
+				if (_options.scaleDownWithWorld)
+				{
+					goRectTransform.localScale = _options.prefab.transform.localScale * (tile.TileScale);
+				}
+			}
+
+			settable = go.GetComponent<IFeaturePropertySettable>();
+			if (settable != null)
+			{
+				settable.Set(ve.Feature.Properties);
+			}
+		}
+
+		public override void Clear()
+		{
+			base.Clear();
+			foreach (var gameObject in _objects.Values)
+			{
+				gameObject.Destroy();
+			}
+
+			foreach (var gameObject in _prefabList)
+			{
+				gameObject.Destroy();
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/PrefabModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/PrefabModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..161505f6383dbb2d5ffe74492fdfd4ae2d19e9b8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/PrefabModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: dd8aacc1880ff504d9531b4d61c86458
+timeCreated: 1494349551
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/SpawnInsideModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/SpawnInsideModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d0506f987864cac09650d6c6a64ff94ce14e8682
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/SpawnInsideModifier.cs
@@ -0,0 +1,158 @@
+// HACK:
+// This will work out of the box, but it's intended to be an example of how to approach
+// procedural decoration like this.
+// A better approach would be to operate on the geometry itself.
+
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using UnityEngine;
+	using System.Collections.Generic;
+	using System;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Spawn Inside Modifier")]
+	public class SpawnInsideModifier : GameObjectModifier
+	{
+		[SerializeField]
+		int _spawnRateInSquareMeters;
+
+		[SerializeField]
+		int _maxSpawn = 1000;
+
+		[SerializeField]
+		GameObject[] _prefabs;
+
+		[SerializeField]
+		LayerMask _layerMask;
+
+		[SerializeField]
+		bool _scaleDownWithWorld;
+
+		[SerializeField]
+		bool _randomizeScale;
+
+		[SerializeField]
+		bool _randomizeRotation;
+
+		int _spawnedCount;
+
+		private Dictionary<GameObject, List<GameObject>> _objects;
+		private Queue<GameObject> _pool;
+
+		public override void Initialize()
+		{
+			if (_objects == null || _pool == null)
+			{
+				_objects = new Dictionary<GameObject, List<GameObject>>();
+				_pool = new Queue<GameObject>();
+			}
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			_spawnedCount = 0;
+			var bounds = ve.Mesh.bounds;
+			var center = ve.Transform.position + bounds.center;
+			center.y = 0;
+
+			var area = (int)(bounds.size.x * bounds.size.z);
+			int spawnCount = Mathf.Min(area / _spawnRateInSquareMeters, _maxSpawn);
+			while (_spawnedCount < spawnCount)
+			{
+				var x = UnityEngine.Random.Range(-bounds.extents.x, bounds.extents.x);
+				var z = UnityEngine.Random.Range(-bounds.extents.z, bounds.extents.z);
+				var ray = new Ray(center + new Vector3(x, 100, z), Vector3.down * 2000);
+
+				RaycastHit hit;
+				if (Physics.Raycast(ray, out hit, 150, _layerMask))
+				{
+					var index = UnityEngine.Random.Range(0, _prefabs.Length);
+					var transform = GetObject(index, ve.GameObject).transform;
+					transform.position = hit.point;
+					if (_randomizeRotation)
+					{
+						transform.localEulerAngles = new Vector3(0, UnityEngine.Random.Range(-180f, 180f), 0);
+					}
+					if (!_scaleDownWithWorld)
+					{
+						transform.localScale = Vector3.one / tile.TileScale;
+					}
+
+					if (_randomizeScale)
+					{
+						var scale = transform.localScale;
+						var y = UnityEngine.Random.Range(scale.y * .7f, scale.y * 1.3f);
+						scale.y = y;
+						transform.localScale = scale;
+					}
+
+				}
+				_spawnedCount++;
+			}
+		}
+
+		public override void OnPoolItem(VectorEntity vectorEntity)
+		{
+			if(_objects.ContainsKey(vectorEntity.GameObject))
+			{
+				foreach (var item in _objects[vectorEntity.GameObject])
+				{
+					item.SetActive(false);
+					_pool.Enqueue(item);
+				}
+
+				_objects[vectorEntity.GameObject].Clear();
+				_objects.Remove(vectorEntity.GameObject);
+			}
+		}
+
+		public override void Clear()
+		{
+			foreach (var go in _pool)
+			{
+				go.Destroy();
+			}
+			_pool.Clear();
+			foreach (var tileObject in _objects)
+			{
+				foreach (var go in tileObject.Value)
+				{
+					if (Application.isEditor && !Application.isPlaying)
+					{
+						DestroyImmediate(go);
+					}
+					else
+					{
+						Destroy(go);
+					}
+				}
+			}
+			_objects.Clear();
+		}
+
+		private GameObject GetObject(int index, GameObject go)
+		{
+			GameObject ob;
+			if (_pool.Count > 0)
+			{
+				ob = _pool.Dequeue();
+				ob.SetActive(true);
+				ob.transform.SetParent(go.transform);
+			}
+			else
+			{
+				ob = ((GameObject)Instantiate(_prefabs[index], go.transform, false));
+			}
+			if (_objects.ContainsKey(go))
+			{
+				_objects[go].Add(ob);
+			}
+			else
+			{
+				_objects.Add(go, new List<GameObject>() { ob });
+			}
+			return ob;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/SpawnInsideModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/SpawnInsideModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2ad1c6460a899c95b61855d7284835deb8d1df4f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/SpawnInsideModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 420705c61d1b6435c8aa7b1cbd0ce80a
+timeCreated: 1499974418
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TagModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TagModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..63f2f35bffde29cb1164c7569c57a002f6df4247
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TagModifier.cs
@@ -0,0 +1,18 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+    using UnityEngine;
+    using Mapbox.Unity.MeshGeneration.Components;
+    using Mapbox.Unity.MeshGeneration.Data;
+
+    [CreateAssetMenu(menuName = "Mapbox/Modifiers/Tag Modifier")]
+    public class TagModifier : GameObjectModifier
+    {
+        [SerializeField]
+        private string _tag;
+
+        public override void Run(VectorEntity ve, UnityTile tile)
+        {
+            ve.GameObject.tag = _tag;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TagModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TagModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5cc33ed726ad00882284ba7b0b8c1c2b75ff1314
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TagModifier.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 05ccea17608e94fb994579409c52fb80
+timeCreated: 1513280866
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8f8015a6525149d78deb83e698642b4571b6f886
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureModifier.cs
@@ -0,0 +1,55 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+    using UnityEngine;
+    using Mapbox.Unity.MeshGeneration.Components;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+
+	/// <summary>
+	/// Texture Modifier is a basic modifier which simply adds a TextureSelector script to the features.
+	/// Logic is all pushed into this TextureSelector mono behaviour to make it's easier to change it in runtime.
+	/// </summary>
+
+	[Obsolete("Texture Modifier is obsolete. Please use Material Modifier.")]
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Texture Modifier")]
+    public class TextureModifier : GameObjectModifier
+    {
+        [SerializeField]
+        private bool _textureTop;
+        [SerializeField]
+        private bool _useSatelliteTexture;
+        [SerializeField]
+        private Material[] _topMaterials;
+
+		[SerializeField]
+        private bool _textureSides;
+        [SerializeField]
+        private Material[] _sideMaterials;
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+        {
+			var _meshRenderer = ve.MeshRenderer;
+			if (_textureSides && _sideMaterials.Length > 0)
+			{
+				_meshRenderer.materials = new Material[2]
+				{
+				_topMaterials[UnityEngine.Random.Range(0, _topMaterials.Length)],
+				_sideMaterials[UnityEngine.Random.Range(0, _sideMaterials.Length)]
+				};
+			}
+			else if (_textureTop)
+			{
+				_meshRenderer.materials = new Material[1]
+			   {
+				_topMaterials[UnityEngine.Random.Range(0, _topMaterials.Length)]
+			   };
+			}
+
+			if (_useSatelliteTexture)
+			{
+				_meshRenderer.materials[0].mainTexture = tile.GetRasterData();
+				_meshRenderer.materials[0].mainTextureScale = new Vector2(1f, 1f);
+			}
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5daeb9d91e391d24a5d2533b6916b0f735ca4656
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7d86f7dc89b3e33408563e4ada9d1c74
+timeCreated: 1478553093
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureMonoBehaviourModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureMonoBehaviourModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..cb2b36eac39227fef5cf3cca5e6e3dfa992956a5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureMonoBehaviourModifier.cs
@@ -0,0 +1,32 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	/// <summary>
+	/// Texture Modifier is a basic modifier which simply adds a TextureSelector script to the features.
+	/// Logic is all pushed into this TextureSelector mono behaviour to make it's easier to change it in runtime.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Texture MonoBehaviour Modifier")]
+	public class TextureMonoBehaviourModifier : GameObjectModifier
+	{
+		[SerializeField]
+		private bool _textureTop;
+		[SerializeField]
+		private bool _useSatelliteTexture;
+		[SerializeField]
+		private Material[] _topMaterials;
+
+		[SerializeField]
+		private bool _textureSides;
+		[SerializeField]
+		private Material[] _sideMaterials;
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			var ts = ve.GameObject.AddComponent<TextureSelector>();
+			ts.Initialize(ve, _textureTop, _useSatelliteTexture, _topMaterials, _textureSides, _sideMaterials);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureMonoBehaviourModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureMonoBehaviourModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..acd7cdb4e17eb9e5b4c0c70eb3b7df97049762be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/GameObjectModifiers/TextureMonoBehaviourModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 13b8ea9d54863b642b04d243f6e54eb6
+timeCreated: 1478553093
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplaceable.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplaceable.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0b44c3c369d75a505e4d4bb2d85f4b7ac0f0f8c7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplaceable.cs
@@ -0,0 +1,10 @@
+using System.Collections.Generic;
+
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	public interface IReplaceable
+	{
+		HashSet<IReplacementCriteria> Criteria { get; set; }
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplaceable.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplaceable.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4d72e63ab935ed306c3246360b785f508bce1809
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplaceable.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5548109d5836140a0bc45d1b5fc881e2
+timeCreated: 1526594257
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplacementCriteria.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplacementCriteria.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5acb6f4f1e3830f437b4d6d826ad8824feb568c7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplacementCriteria.cs
@@ -0,0 +1,9 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public interface IReplacementCriteria
+	{
+		bool ShouldReplaceFeature(VectorFeatureUnity feature);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplacementCriteria.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplacementCriteria.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dda812f60428062d9bd3dea8ba5fb029a796b5ab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/IReplacementCriteria.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: f3eb10303f9b149e5980a3508a9f1039
+timeCreated: 1526586060
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ce81e3f2054df050c0555b36fe946a1c7f1d47b1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs
@@ -0,0 +1,287 @@
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using System;
+using Mapbox.Map;
+using Mapbox.Unity.MeshGeneration.Modifiers;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.MeshGeneration.Components;
+
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	/// <summary>
+	/// Merged Modifier Stack, just like regular Modifier stack, creates a game object from features. But the difference is, regular modifier stack creates a game object for each given faeture meanwhile Merged Modifier Stack merges meshes and creates one game object for all features (until the 65k vertex limit).
+	/// It has extremely higher performance compared to regular modifier stack but since it merged all entities together, it also loses all individual entity data & makes it harder to interact with them.
+	/// It pools and merges objects based on the tile contains them.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Merged Modifier Stack")]
+	public class MergedModifierStack : ModifierStackBase
+	{
+		private Dictionary<UnityTile, int> _cacheVertexCount = new Dictionary<UnityTile, int>();
+		private Dictionary<UnityTile, List<MeshData>> _cached = new Dictionary<UnityTile, List<MeshData>>();
+		private Dictionary<UnityTile, int> _buildingCount = new Dictionary<UnityTile, int>();
+
+		private Dictionary<UnityTile, List<VectorEntity>> _activeObjects = new Dictionary<UnityTile, List<VectorEntity>>();
+		private MeshData _tempMeshData;
+		private MeshFilter _tempMeshFilter;
+		private GameObject _tempGameObject;
+		private VectorEntity _tempVectorEntity;
+		private MeshData _temp2MeshData;
+		private ObjectPool<VectorEntity> _pool;
+		private ObjectPool<List<VectorEntity>> _listPool;
+		private ObjectPool<List<MeshData>> _meshDataPool;
+
+		private int _counter, _counter2;
+
+		protected virtual void OnEnable()
+		{
+			//we'll use this to concat building data until it reaches 65000 verts
+			_pool = new ObjectPool<VectorEntity>(() =>
+			{
+				_tempGameObject = new GameObject();
+				_tempMeshFilter = _tempGameObject.AddComponent<MeshFilter>();
+				_tempMeshFilter.sharedMesh = new Mesh();
+				_tempVectorEntity = new VectorEntity()
+				{
+					GameObject = _tempGameObject,
+					Transform = _tempGameObject.transform,
+					MeshFilter = _tempMeshFilter,
+					MeshRenderer = _tempGameObject.AddComponent<MeshRenderer>(),
+					Mesh = _tempMeshFilter.sharedMesh
+				};
+				return _tempVectorEntity;
+			});
+			_listPool = new ObjectPool<List<VectorEntity>>(() => { return new List<VectorEntity>(); });
+			_meshDataPool = new ObjectPool<List<MeshData>>(() => { return new List<MeshData>(); });
+			_tempMeshData = new MeshData();
+		}
+
+		public override void OnUnregisterTile(UnityTile tile)
+		{
+			//removing all caches
+			if (_activeObjects.ContainsKey(tile))
+			{
+				_counter = _activeObjects[tile].Count;
+				for (int i = 0; i < _counter; i++)
+				{
+					if (null != _activeObjects[tile][i].GameObject)
+					{
+						_activeObjects[tile][i].GameObject.SetActive(false);
+					}
+					_pool.Put(_activeObjects[tile][i]);
+				}
+				_activeObjects[tile].Clear();
+				//pooling these lists as they'll reused anyway, saving hundreds of list instantiations
+				_listPool.Put(_activeObjects[tile]);
+				_activeObjects.Remove(tile);
+			}
+
+			//reset all counters
+			if (_cacheVertexCount.ContainsKey(tile))
+			{
+				_cacheVertexCount.Remove(tile);
+			}
+			if (_cached.ContainsKey(tile))
+			{
+				_cached[tile].Clear();
+				_meshDataPool.Put(_cached[tile]);
+				_cached.Remove(tile);
+			}
+			if (_buildingCount.ContainsKey(tile))
+			{
+				_buildingCount.Remove(tile);
+			}
+		}
+
+		public override void Initialize()
+		{
+			base.Initialize();
+			//init is also used for reloading map/ location change, so reseting everything here
+			_cacheVertexCount.Clear();
+			_cached.Clear();
+			_buildingCount.Clear();
+			_pool.Clear();
+
+			_counter = MeshModifiers.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				MeshModifiers[i].Initialize();
+			}
+
+			_counter = GoModifiers.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				GoModifiers[i].Initialize();
+			}
+		}
+
+		public override GameObject Execute(UnityTile tile, VectorFeatureUnity feature, MeshData meshData, GameObject parent = null, string type = "")
+		{
+			base.Execute(tile, feature, meshData, parent, type);
+
+			if (!_cacheVertexCount.ContainsKey(tile))
+			{
+				_cacheVertexCount.Add(tile, 0);
+				_cached.Add(tile, _meshDataPool.GetObject());
+				_buildingCount.Add(tile, 0);
+			}
+
+			_buildingCount[tile]++;
+			_counter = MeshModifiers.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				if (MeshModifiers[i] != null && MeshModifiers[i].Active)
+				{
+					MeshModifiers[i].Run(feature, meshData, tile);
+				}
+			}
+
+			GameObject go = null;
+			//65000 is the vertex limit for meshes, keep stashing it until that
+			_counter = meshData.Vertices.Count;
+			if (_cacheVertexCount[tile] + _counter < 65000)
+			{
+				_cacheVertexCount[tile] += _counter;
+				_cached[tile].Add(meshData);
+			}
+			else
+			{
+				go = End(tile, parent, type);
+			}
+
+			return go;
+		}
+
+
+		public GameObject End(UnityTile tile, GameObject parent, string name = "")
+		{
+			var c2 = 0;
+			if (_cached.ContainsKey(tile))
+			{
+				_tempMeshData.Clear();
+
+				//concat mesh data into _tempMeshData
+				_counter = _cached[tile].Count;
+				for (int i = 0; i < _counter; i++)
+				{
+					_temp2MeshData = _cached[tile][i];
+					if (_temp2MeshData.Vertices.Count <= 3)
+						continue;
+
+					var st = _tempMeshData.Vertices.Count;
+					_tempMeshData.Vertices.AddRange(_temp2MeshData.Vertices);
+					_tempMeshData.Normals.AddRange(_temp2MeshData.Normals);
+
+					c2 = _temp2MeshData.UV.Count;
+					for (int j = 0; j < c2; j++)
+					{
+						if (_tempMeshData.UV.Count <= j)
+						{
+							_tempMeshData.UV.Add(new List<Vector2>(_temp2MeshData.UV[j].Count));
+						}
+					}
+
+					c2 = _temp2MeshData.UV.Count;
+					for (int j = 0; j < c2; j++)
+					{
+						_tempMeshData.UV[j].AddRange(_temp2MeshData.UV[j]);
+					}
+
+					c2 = _temp2MeshData.Triangles.Count;
+					for (int j = 0; j < c2; j++)
+					{
+						if (_tempMeshData.Triangles.Count <= j)
+						{
+							_tempMeshData.Triangles.Add(new List<int>(_temp2MeshData.Triangles[j].Count));
+						}
+					}
+
+					for (int j = 0; j < c2; j++)
+					{
+						for (int k = 0; k < _temp2MeshData.Triangles[j].Count; k++)
+						{
+							_tempMeshData.Triangles[j].Add(_temp2MeshData.Triangles[j][k] + st);
+						}
+					}
+				}
+
+				//update pooled vector entity with new data
+				if (_tempMeshData.Vertices.Count > 3)
+				{
+					_cached[tile].Clear();
+					_cacheVertexCount[tile] = 0;
+					_tempVectorEntity = null;
+					_tempVectorEntity = _pool.GetObject();
+					_tempVectorEntity.GameObject.SetActive(true);
+					_tempVectorEntity.Mesh.Clear();
+
+					_tempVectorEntity.GameObject.name = name;
+					_tempVectorEntity.Mesh.subMeshCount = _tempMeshData.Triangles.Count;
+					_tempVectorEntity.Mesh.SetVertices(_tempMeshData.Vertices);
+					_tempVectorEntity.Mesh.SetNormals(_tempMeshData.Normals);
+
+					_counter = _tempMeshData.Triangles.Count;
+					for (int i = 0; i < _counter; i++)
+					{
+						_tempVectorEntity.Mesh.SetTriangles(_tempMeshData.Triangles[i], i);
+					}
+
+					_counter = _tempMeshData.UV.Count;
+					for (int i = 0; i < _counter; i++)
+					{
+						_tempVectorEntity.Mesh.SetUVs(i, _tempMeshData.UV[i]);
+					}
+
+					_tempVectorEntity.GameObject.transform.SetParent(tile.transform, false);
+
+					if (!_activeObjects.ContainsKey(tile))
+					{
+						_activeObjects.Add(tile, _listPool.GetObject());
+					}
+					_activeObjects[tile].Add(_tempVectorEntity);
+
+					_counter = GoModifiers.Count;
+					for (int i = 0; i < _counter; i++)
+					{
+						if (GoModifiers[i].Active)
+						{
+							GoModifiers[i].Run(_tempVectorEntity, tile);
+						}
+					}
+
+					return _tempVectorEntity.GameObject;
+				}
+			}
+			return null;
+		}
+
+		public override void Clear()
+		{
+			foreach (var vectorEntity in _pool.GetQueue())
+			{
+				if (vectorEntity.Mesh != null)
+				{
+					vectorEntity.Mesh.Destroy(true);
+				}
+
+				vectorEntity.GameObject.Destroy();
+			}
+
+			foreach (var tileTuple in _activeObjects)
+			{
+				foreach (var vectorEntity in tileTuple.Value)
+				{
+					if (vectorEntity.Mesh != null)
+					{
+						vectorEntity.Mesh.Destroy(true);
+
+					}
+					vectorEntity.GameObject.Destroy();
+				}
+			}
+			_pool.Clear();
+			_activeObjects.Clear();
+			_pool.Clear();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..07ad0bc7a8d29948f281e05916f199ee3c11ecf9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MergedModifierStack.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ef7239c46ddb6ab469994291c9603c01
+timeCreated: 1491774659
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshGenerationBase.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshGenerationBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..002f99caeec4b14a429f736d0091650da86a367f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshGenerationBase.cs
@@ -0,0 +1,14 @@
+using UnityEngine;
+using System.Collections;
+using Mapbox.Unity.MeshGeneration.Modifiers;
+using System.Collections.Generic;
+
+public class MeshGenerationBase : MeshModifier, IReplaceable
+{
+	public HashSet<IReplacementCriteria> Criteria { get; set; }
+	public override void Initialize()
+	{
+		base.Initialize();
+		Criteria = new HashSet<IReplacementCriteria>();
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshGenerationBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshGenerationBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..38d13ac2c9d772ebb3fcbbe1f079d1924aca331a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshGenerationBase.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: b5a0bb09f203344eab30606cb0f57438
+timeCreated: 1526508352
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b982618e30da0ec1655c8374318490b3e1a57816
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifier.cs
@@ -0,0 +1,47 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public enum ModifierType
+	{
+		Preprocess,
+		Postprocess
+	}
+
+	/// <summary>
+	/// Mesh Data class and Mesh Modifier
+	/// MeshData class is used to keep data required for a mesh.Mesh modifiers recieve raw feature data and a mesh modifier, 
+	/// generate their data and keep it inside MeshData. i.e.PolygonMeshModifier is responsible for triangulating the polygon, 
+	/// so it calculates the triangle indices using the vertices and save it into MeshData.Triangles list.There's no control 
+	/// over which field a mesh modifier fills or overrides but some of the basic mesh modifier goes like this;
+	/// Polygon mesh modifier - Vertices and triangles
+	/// Line Mesh modifier - Vertices, triangles and uvs
+	/// UV modifier - uvs(only used with polygon mesh modifier)
+	/// height modifier - vertices(adds new points), triangles(for side walls), uvs(for side walls)
+	/// After running all mesh modifiers, mesh data is expected to have at least vertices and triangles set as 
+	/// they are the bare minimum to create a unity mesh object.
+	/// So the main purpose of the mesh modifiers is to fill up the mesh data class but they aren't limited to that either.
+	/// You can always create gameobjects and debug lines/spheres inside them for debugging purposes whenever you have a problem.
+	/// MeshData class also has some extra fields inside for data transfer purposes(between modifiers). i.e.Edges list 
+	/// inside mesh data isn't used for mesh itself, but it's calculated by PolygonMeshModifier and used by HeightModifier 
+	/// so to avoid calculating it twice, we're keeping it in the mesh data object. You can also extend mesh data like this 
+	/// if you ever need to save data or share information between mesh modifiers.
+	/// We fully expect developers to create their own mesh modifiers to customize the look of their world.It would probably 
+	/// take a little experience with mesh generation to be able to do this but it's the suggested way to create 
+	/// custom world objects, like blobly toonish buildings, or wobbly roads.
+	/// </summary>
+	public class MeshModifier : ModifierBase
+	{
+		public virtual ModifierType Type { get { return ModifierType.Preprocess; } }
+
+		public virtual void Run(VectorFeatureUnity feature, MeshData md, float scale)
+		{
+			Run(feature, md);
+		}
+
+		public virtual void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bdb250256b21f8a85ed6ec7c081705f774638f30
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d61d35af106e04d44b5fc8b635f4dc55
+timeCreated: 1478551903
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..693e8ad88f5e3dd13103603fa1b54957d57d76fe
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 44adfb267cbe6d449aa09f91c8851834
+folderAsset: yes
+timeCreated: 1485207986
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferHeightModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferHeightModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..62129cbad7549ea450bbaf9c4c71d0ff7065f451
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferHeightModifier.cs
@@ -0,0 +1,413 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Smooth Height for Buildings Modifier")]
+	public class ChamferHeightModifier : MeshModifier
+	{
+		[SerializeField]
+		[Tooltip("Flatten top polygons to prevent unwanted slanted roofs because of the bumpy terrain")]
+		private bool _flatTops;
+		[SerializeField]
+		[Tooltip("Fixed height value for ForceHeight option")]
+		private float _height;
+		[SerializeField]
+		[Tooltip("Fix all features to certain height, suggested to be used for pushing roads above terrain level to prevent z-fighting.")]
+		private bool _forceHeight;
+		[SerializeField]
+		[Range(0.1f,2)]
+		[Tooltip("Chamfer width value")]
+		private float _offset = 0.2f;
+
+		public override ModifierType Type { get { return ModifierType.Preprocess; } }
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			if (md.Vertices.Count == 0 || feature == null || feature.Points.Count < 1)
+				return;
+
+			var minHeight = 0f;
+			float hf = _height;
+
+			if (!_forceHeight)
+			{
+				GetHeightData(feature, tile.TileScale, ref minHeight, ref hf);
+			}
+
+			var max = md.Vertices[0].y;
+			var min = md.Vertices[0].y;
+			if (_flatTops)
+			{
+				FlattenTops(md, minHeight, ref hf, ref max, ref min);
+			}
+			else
+			{
+				for (int i = 0; i < md.Vertices.Count; i++)
+				{
+					md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + minHeight + hf, md.Vertices[i].z);
+				}
+			}
+
+			var originalVertexCount = md.Vertices.Count;
+			Chamfer(feature, md, tile);
+
+			Sides(feature, md, hf, originalVertexCount);
+		}
+
+		private void Sides(VectorFeatureUnity feature, MeshData meshData, float hf, int originalVertexCount)
+		{
+
+
+			float d = 0f;
+			Vector3 v1;
+			Vector3 v2 = Mapbox.Unity.Constants.Math.Vector3Zero;
+			int ind = 0;
+
+			var wallTri = new List<int>();
+			var wallUv = new List<Vector2>();
+			meshData.Vertices.Add(new Vector3(meshData.Vertices[originalVertexCount - 1].x, meshData.Vertices[originalVertexCount - 1].y - hf, meshData.Vertices[originalVertexCount - 1].z));
+			meshData.Tangents.Add(meshData.Tangents[originalVertexCount - 1]);
+			wallUv.Add(new Vector2(0, -hf));
+			meshData.Normals.Add(meshData.Normals[originalVertexCount - 1]);
+
+			for (int i = 0; i < meshData.Edges.Count; i += 2)
+			{
+				v1 = meshData.Vertices[meshData.Edges[i]];
+				v2 = meshData.Vertices[meshData.Edges[i + 1]];
+				ind = meshData.Vertices.Count;
+				meshData.Vertices.Add(v1);
+				meshData.Vertices.Add(v2);
+				meshData.Vertices.Add(new Vector3(v1.x, v1.y - hf, v1.z));
+				meshData.Vertices.Add(new Vector3(v2.x, v2.y - hf, v2.z));
+
+				meshData.Normals.Add(meshData.Normals[meshData.Edges[i]]);
+				meshData.Normals.Add(meshData.Normals[meshData.Edges[i + 1]]);
+				meshData.Normals.Add(meshData.Normals[meshData.Edges[i]]);
+				meshData.Normals.Add(meshData.Normals[meshData.Edges[i + 1]]);
+
+				meshData.Tangents.Add(v2 - v1.normalized);
+				meshData.Tangents.Add(v2 - v1.normalized);
+				meshData.Tangents.Add(v2 - v1.normalized);
+				meshData.Tangents.Add(v2 - v1.normalized);
+
+				d = (v2 - v1).magnitude;
+
+				wallUv.Add(new Vector2(0, 0));
+				wallUv.Add(new Vector2(d, 0));
+				wallUv.Add(new Vector2(0, -hf));
+				wallUv.Add(new Vector2(d, -hf));
+
+				wallTri.Add(ind);
+				wallTri.Add(ind + 1);
+				wallTri.Add(ind + 2);
+
+				wallTri.Add(ind + 1);
+				wallTri.Add(ind + 3);
+				wallTri.Add(ind + 2);
+			}
+
+			meshData.Triangles.Add(wallTri);
+			meshData.UV[0].AddRange(wallUv);
+		}
+
+		private static void FlattenTops(MeshData meshData, float minHeight, ref float hf, ref float max, ref float min)
+		{
+			for (int i = 0; i < meshData.Vertices.Count; i++)
+			{
+				if (meshData.Vertices[i].y > max)
+					max = meshData.Vertices[i].y;
+				else if (meshData.Vertices[i].y < min)
+					min = meshData.Vertices[i].y;
+			}
+			for (int i = 0; i < meshData.Vertices.Count; i++)
+			{
+				meshData.Vertices[i] = new Vector3(meshData.Vertices[i].x, max + minHeight + hf, meshData.Vertices[i].z);
+			}
+			hf += max - min;
+		}
+
+		private static void GetHeightData(VectorFeatureUnity feature, float scale, ref float minHeight, ref float hf)
+		{
+			if (feature.Properties.ContainsKey("height"))
+			{
+				hf = Convert.ToSingle(feature.Properties["height"]);
+				hf *= scale;
+				if (feature.Properties.ContainsKey("min_height"))
+				{
+					minHeight = Convert.ToSingle(feature.Properties["min_height"]) * scale;
+					hf -= minHeight;
+				}
+
+			}
+			if (feature.Properties.ContainsKey("ele"))
+			{
+				hf = Convert.ToSingle(feature.Properties["ele"]);
+				hf *= scale;
+			}
+		}
+
+		public void Chamfer(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			if (md.Vertices.Count == 0 || feature.Points.Count < 1)
+				return;
+
+			List<Vector3> newVertices = new List<Vector3>();
+			List<Vector2> newUV = new List<Vector2>();
+			md.Normals.Clear();
+			md.Edges.Clear();
+			md.Tangents.Clear();
+
+			for (int t = 0; t < md.Triangles[0].Count; t++)
+			{
+				md.Triangles[0][t] *= 3;
+			}
+
+			var next = 0; var current = 0; var prev = 0;
+			Vector3 v1, v2, n1, n2, pij1, pij2, pjk1, pjk2;
+			Vector3 poi, close1, close2;
+
+			var start = 0;
+			for (int i = 0; i < feature.Points.Count; i++)
+			{
+				var count = feature.Points[i].Count;
+				var cst = newVertices.Count;
+				for (int j = 0; j < count; j++)
+				{
+					if (j == count - 1)
+					{
+						newVertices.Add(newVertices[cst]);
+						newVertices.Add(newVertices[cst + 1]);
+						newVertices.Add(newVertices[cst + 2]);
+						newUV.Add(newUV[cst]);
+						newUV.Add(newUV[cst + 1]);
+						newUV.Add(newUV[cst + 2]);
+						md.Normals.Add(md.Normals[cst]);
+						md.Normals.Add(md.Normals[cst + 1]);
+						md.Normals.Add(md.Normals[cst + 2]);
+
+						md.Tangents.Add(md.Tangents[cst]);
+						md.Tangents.Add(md.Tangents[cst + 1]);
+						md.Tangents.Add(md.Tangents[cst + 2]);
+
+						continue;
+					}
+
+					current = start + j;
+					if (j > 0)
+						next = start + j - 1;
+					else
+						next = start + j - 1 + count - 1; //another -1  as last item equals first
+					prev = start + j + 1;
+
+
+					v1 = new Vector3(
+							md.Vertices[current].x - md.Vertices[next].x, 0,
+							md.Vertices[current].z - md.Vertices[next].z);
+					v1.Normalize();
+					v1 *= -_offset;
+					n1 = new Vector3(-v1.z, 0, v1.x);
+
+					pij1 = new Vector3(
+						(float)(md.Vertices[next].x + n1.x), 0,
+						(float)(md.Vertices[next].z + n1.z));
+					pij2 = new Vector3(
+						(float)(md.Vertices[current].x + n1.x), 0,
+						(float)(md.Vertices[current].z + n1.z));
+
+					v2 = new Vector3(
+						md.Vertices[prev].x - md.Vertices[current].x, 0,
+						md.Vertices[prev].z - md.Vertices[current].z);
+
+					v2.Normalize();
+					v2 *= -_offset;
+					n2 = new Vector3(-v2.z, 0, v2.x);
+					pjk1 = new Vector3(
+						(float)(md.Vertices[current].x + n2.x), 0,
+						(float)(md.Vertices[current].z + n2.z));
+					pjk2 = new Vector3(
+						(float)(md.Vertices[prev].x + n2.x), 0,
+						(float)(md.Vertices[prev].z + n2.z));
+
+					// See where the shifted lines ij and jk intersect.
+					bool lines_intersect, segments_intersect;
+
+					FindIntersection(pij1, pij2, pjk1, pjk2,
+						out lines_intersect, out segments_intersect,
+						out poi, out close1, out close2);
+
+					var d = Vector3.Distance(poi, pij2);
+					if (d > 10 * _offset)
+					{
+						poi = new Vector3((md.Vertices[current].x + (poi - (-v1 - v2)).normalized.x), 0,
+							(md.Vertices[current].z + (poi - (-v1 - v2)).normalized.z));
+					}
+
+					newVertices.Add(new Vector3(poi.x, poi.y + _offset + md.Vertices[current].y, poi.z));
+					newVertices.Add(md.Vertices[current] + v1);
+					newVertices.Add(md.Vertices[current] - v2);
+
+					md.Normals.Add(Constants.Math.Vector3Up);
+					md.Normals.Add(-n1);
+					md.Normals.Add(-n2);
+
+					md.Tangents.Add(v1 - v2);
+					md.Tangents.Add(v1 - v2);
+					md.Tangents.Add(v1 - v2);
+
+					newUV.Add(md.UV[0][current]);
+					newUV.Add(md.UV[0][current]);
+					newUV.Add(md.UV[0][current]);
+
+					md.Triangles[0].Add(3 * current);
+					md.Triangles[0].Add(3 * current + 1);
+					md.Triangles[0].Add(3 * current + 2);
+
+					md.Edges.Add(3 * current + 2);
+					md.Edges.Add(3 * current + 1);
+
+					md.Triangles[0].Add(3 * prev);
+					md.Triangles[0].Add(3 * current + 2);
+					md.Triangles[0].Add(3 * prev + 1);
+
+					md.Triangles[0].Add(3 * current);
+					md.Triangles[0].Add(3 * current + 2);
+					md.Triangles[0].Add(3 * prev);
+
+					md.Edges.Add(3 * prev + 1);
+					md.Edges.Add(3 * current + 2);
+				}
+				start += count;
+			}
+
+			md.Vertices = newVertices;
+			md.UV[0] = newUV;
+		}
+
+		private List<Vector3> GetEnlargedPolygon(List<Vector3> old_points, float offset)
+		{
+			List<Vector3> enlarged_points = new List<Vector3>();
+			int num_points = old_points.Count;
+			for (int j = 0; j < num_points; j++)
+			{
+				// Find the new location for point j.
+				// Find the points before and after j.
+				int i = (j - 1);
+				if (i < 0) i += num_points;
+				int k = (j + 1) % num_points;
+
+				// Move the points by the offset.
+				Vector3 v1 = new Vector3(
+					old_points[j].x - old_points[i].x, 0,
+					old_points[j].z - old_points[i].z);
+				v1.Normalize();
+				v1 *= offset;
+				Vector3 n1 = new Vector3(-v1.z, 0, v1.x);
+
+				Vector3 pij1 = new Vector3(
+					(float)(old_points[i].x + n1.x), 0,
+					(float)(old_points[i].z + n1.z));
+				Vector3 pij2 = new Vector3(
+					(float)(old_points[j].x + n1.x), 0,
+					(float)(old_points[j].z + n1.z));
+
+				Vector3 v2 = new Vector3(
+					old_points[k].x - old_points[j].x, 0,
+					old_points[k].z - old_points[j].z);
+				v2.Normalize();
+				v2 *= offset;
+				Vector3 n2 = new Vector3(-v2.z, 0, v2.x);
+
+				Vector3 pjk1 = new Vector3(
+					(float)(old_points[j].x + n2.x), 0,
+					(float)(old_points[j].z + n2.z));
+				Vector3 pjk2 = new Vector3(
+					(float)(old_points[k].x + n2.x), 0,
+					(float)(old_points[k].z + n2.z));
+
+				// See where the shifted lines ij and jk intersect.
+				bool lines_intersect, segments_intersect;
+				Vector3 poi, close1, close2;
+				FindIntersection(pij1, pij2, pjk1, pjk2,
+					out lines_intersect, out segments_intersect,
+					out poi, out close1, out close2);
+				Debug.Assert(lines_intersect,
+					"Edges " + i + "-->" + j + " and " +
+					j + "-->" + k + " are parallel");
+
+				enlarged_points.Add(poi);
+			}
+
+			return enlarged_points;
+		}
+
+		// Find the point of intersection between
+		// the lines p1 --> p2 and p3 --> p4.
+		private void FindIntersection(
+			Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4,
+			out bool lines_intersect, out bool segments_intersect,
+			out Vector3 intersection,
+			out Vector3 close_p1, out Vector3 close_p2)
+		{
+			// Get the segments' parameters.
+			float dx12 = p2.x - p1.x;
+			float dy12 = p2.z - p1.z;
+			float dx34 = p4.x - p3.x;
+			float dy34 = p4.z - p3.z;
+
+			// Solve for t1 and t2
+			float denominator = (dy12 * dx34 - dx12 * dy34);
+
+			float t1 =
+				((p1.x - p3.x) * dy34 + (p3.z - p1.z) * dx34)
+					/ denominator;
+			if (float.IsInfinity(t1))
+			{
+				// The lines are parallel (or close enough to it).
+				lines_intersect = false;
+				segments_intersect = false;
+				intersection = new Vector3(float.NaN, 0, float.NaN);
+				close_p1 = new Vector3(float.NaN, 0, float.NaN);
+				close_p2 = new Vector3(float.NaN, 0, float.NaN);
+				return;
+			}
+			lines_intersect = true;
+
+			float t2 =
+				((p3.x - p1.x) * dy12 + (p1.z - p3.z) * dx12)
+					/ -denominator;
+
+			// Find the point of intersection.
+			intersection = new Vector3(p1.x + dx12 * t1, 0, p1.z + dy12 * t1);
+
+			// The segments intersect if t1 and t2 are between 0 and 1.
+			segments_intersect =
+				((t1 >= 0) && (t1 <= 1) &&
+				 (t2 >= 0) && (t2 <= 1));
+
+			// Find the closest points on the segments.
+			if (t1 < 0)
+			{
+				t1 = 0;
+			}
+			else if (t1 > 1)
+			{
+				t1 = 1;
+			}
+
+			if (t2 < 0)
+			{
+				t2 = 0;
+			}
+			else if (t2 > 1)
+			{
+				t2 = 1;
+			}
+
+			close_p1 = new Vector3(p1.x + dx12 * t1, 0, p1.z + dy12 * t1);
+			close_p2 = new Vector3(p3.x + dx34 * t2, 0, p3.z + dy34 * t2);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferHeightModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferHeightModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6617489015df0d62f0e3b0e1cc26e54a9d0d58f8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ChamferHeightModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 232ffe870b9f2df408d25ad59dbfe77c
+timeCreated: 1478553093
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/Earcut.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/Earcut.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c68cbafd01be527d79f2cecd42de38492425f885
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/Earcut.cs
@@ -0,0 +1,766 @@
+using System;
+using System.Collections.Generic;
+using Mapbox.VectorTile.Geometry;
+using UnityEngine;
+
+namespace Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers
+{
+	public static class EarcutLibrary
+	{
+		public static List<int> Earcut(List<float> data, List<int> holeIndices, int dim)
+		{
+			dim = Math.Max(dim, 2);
+
+			var hasHoles = holeIndices.Count;
+			var outerLen = hasHoles > 0 ? holeIndices[0] * dim : data.Count;
+			var outerNode = linkedList(data, 0, outerLen, dim, true);
+			var triangles = new List<int>((int)(outerNode.i * 1.5));
+
+			if (outerNode == null) return triangles;
+			var minX = 0f;
+			var minY = 0f;
+			var maxX = 0f;
+			var maxY = 0f;
+			var x = 0f;
+			var y = 0f;
+			var size = 0f;
+
+			if (hasHoles > 0) outerNode = EliminateHoles(data, holeIndices, outerNode, dim);
+
+			// if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox
+			if (data.Count > 80 * dim)
+			{
+				minX = maxX = data[0];
+				minY = maxY = data[1];
+
+				for (var i = dim; i < outerLen; i += dim)
+				{
+					x = data[i];
+					y = data[i + 1];
+					if (x < minX) minX = x;
+					if (y < minY) minY = y;
+					if (x > maxX) maxX = x;
+					if (y > maxY) maxY = y;
+				}
+
+				// minX, minY and size are later used to transform coords into integers for z-order calculation
+				size = Math.Max(maxX - minX, maxY - minY);
+			}
+
+			earcutLinked(outerNode, triangles, dim, minX, minY, size);
+
+			return triangles;
+		}
+
+		private static void earcutLinked(Node ear, List<int> triangles, int dim, float minX, float minY, float size, int pass = 0)
+		{
+			if (ear == null) return;
+
+			// interlink polygon nodes in z-order
+			if (pass == 0 && size > 0) indexCurve(ear, minX, minY, size);
+
+			var stop = ear;
+			Node prev;
+			Node next;
+
+			// iterate through ears, slicing them one by one
+			while (ear.prev != ear.next)
+			{
+				prev = ear.prev;
+				next = ear.next;
+
+				if (size > 0 ? isEarHashed(ear, minX, minY, size) : isEar(ear))
+				{
+					// cut off the triangle
+					triangles.Add(prev.i / dim);
+					triangles.Add(next.i / dim);
+					triangles.Add(ear.i / dim);
+
+					removeNode(ear);
+
+					// skipping the next vertice leads to less sliver triangles
+					ear = next.next;
+					stop = next.next;
+
+					continue;
+				}
+
+				ear = next;
+
+				// if we looped through the whole remaining polygon and can't find any more ears
+				if (ear == stop)
+				{
+					// try filtering points and slicing again
+					if (pass == 0)
+					{
+						earcutLinked(FilterPoints(ear, null), triangles, dim, minX, minY, size, 1);
+
+						// if this didn't work, try curing all small self-intersections locally
+					}
+					else if (pass == 1)
+					{
+						ear = cureLocalIntersections(ear, triangles, dim);
+						earcutLinked(ear, triangles, dim, minX, minY, size, 2);
+
+						// as a last resort, try splitting the remaining polygon into two
+					}
+					else if (pass == 2)
+					{
+						splitEarcut(ear, triangles, dim, minX, minY, size);
+					}
+
+					break;
+				}
+			}
+		}
+
+
+		private static bool isEarHashed(Node ear, float minX, float minY, float size)
+		{
+			var a = ear.prev;
+			var b = ear;
+			var c = ear.next;
+
+			if (area(a, b, c) >= 0) return false; // reflex, can't be an ear
+
+			// triangle bbox; min & max are calculated like this for speed
+			var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x);
+			var minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y);
+			var maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x);
+			var maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);
+
+			// z-order range for the current triangle bbox;
+			var minZ = zOrder(minTX, minTY, minX, minY, size);
+			var maxZ = zOrder(maxTX, maxTY, minX, minY, size);
+
+			// first look for points inside the triangle in increasing z-order
+			var p = ear.nextZ;
+
+			while (p != null && p.mZOrder <= maxZ)
+			{
+				if (p != ear.prev && p != ear.next &&
+					pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
+					area(p.prev, p, p.next) >= 0) return false;
+				p = p.nextZ;
+			}
+
+			// then look for points in decreasing z-order
+			p = ear.prevZ;
+
+			while (p != null && p.mZOrder >= minZ)
+			{
+				if (p != ear.prev && p != ear.next &&
+					pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
+					area(p.prev, p, p.next) >= 0) return false;
+				p = p.prevZ;
+			}
+
+			return true;
+		}
+
+		private static int zOrder(float x, float y, float minX, float minY, float size)
+		{
+			//TODO casting here might be wrong
+			x = 32767 * (x - minX) / size;
+			y = 32767 * (y - minY) / size;
+
+			x = ((int)x | ((int)x << 8)) & 0x00FF00FF;
+			x = ((int)x | ((int)x << 4)) & 0x0F0F0F0F;
+			x = ((int)x | ((int)x << 2)) & 0x33333333;
+			x = ((int)x | ((int)x << 1)) & 0x55555555;
+
+			y = ((int)y | ((int)y << 8)) & 0x00FF00FF;
+			y = ((int)y | ((int)y << 4)) & 0x0F0F0F0F;
+			y = ((int)y | ((int)y << 2)) & 0x33333333;
+			y = ((int)y | ((int)y << 1)) & 0x55555555;
+
+			return (int)x | ((int)y << 1);
+		}
+
+		private static void splitEarcut(Node start, List<int> triangles, int dim, float minX, float minY, float size)
+		{
+			var a = start;
+			do
+			{
+				var b = a.next.next;
+				while (b != a.prev)
+				{
+					if (a.i != b.i && isValidDiagonal(a, b))
+					{
+						// split the polygon in two by the diagonal
+						var c = SplitPolygon(a, b);
+
+						// filter colinear points around the cuts
+						a = FilterPoints(a, a.next);
+						c = FilterPoints(c, c.next);
+
+						// run earcut on each half
+						earcutLinked(a, triangles, dim, minX, minY, size);
+						earcutLinked(c, triangles, dim, minX, minY, size);
+						return;
+					}
+					b = b.next;
+				}
+				a = a.next;
+			} while (a != start);
+		}
+
+		private static bool isValidDiagonal(Node a, Node b)
+		{
+			return a.next.i != b.i && a.prev.i != b.i && !intersectsPolygon(a, b) &&
+		   locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b);
+		}
+
+		private static bool middleInside(Node a, Node b)
+		{
+			var p = a;
+			var inside = false;
+			var px = (a.x + b.x) / 2;
+			var py = (a.y + b.y) / 2;
+
+			do
+			{
+				if (((p.y > py) != (p.next.y > py)) && p.next.y != p.y &&
+						(px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))
+					inside = !inside;
+				p = p.next;
+			} while (p != a);
+
+			return inside;
+		}
+
+		private static bool intersectsPolygon(Node a, Node b)
+		{
+			var p = a;
+			do
+			{
+				if (p.i != a.i && p.next.i != a.i && p.i != b.i && p.next.i != b.i &&
+						intersects(p, p.next, a, b)) return true;
+				p = p.next;
+			} while (p != a);
+
+			return false;
+		}
+
+		private static Node cureLocalIntersections(Node start, List<int> triangles, int dim)
+		{
+			var p = start;
+			do
+			{
+				var a = p.prev;
+				var b = p.next.next;
+
+				if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a))
+				{
+
+					triangles.Add(a.i / dim);
+					triangles.Add(p.i / dim);
+					triangles.Add(b.i / dim);
+
+					// remove two nodes involved
+					removeNode(p);
+					removeNode(p.next);
+
+					p = start = b;
+				}
+				p = p.next;
+			} while (p != start);
+
+			return p;
+		}
+
+		private static bool intersects(Node p1, Node q1, Node p2, Node q2)
+		{
+			if ((equals(p1, q1) && equals(p2, q2)) ||
+		(equals(p1, q2) && equals(p2, q1))) return true;
+			return area(p1, q1, p2) > 0 != area(p1, q1, q2) > 0 &&
+				   area(p2, q2, p1) > 0 != area(p2, q2, q1) > 0;
+		}
+
+		private static bool isEar(Node ear)
+		{
+			var a = ear.prev;
+			var b = ear;
+			var c = ear.next;
+
+			if (area(a, b, c) >= 0) return false; // reflex, can't be an ear
+
+			// now make sure we don't have other points inside the potential ear
+			var p = ear.next.next;
+
+			while (p != ear.prev)
+			{
+				if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
+					area(p.prev, p, p.next) >= 0) return false;
+				p = p.next;
+			}
+
+			return true;
+		}
+
+		private static void indexCurve(Node start, float minX, float minY, float size)
+		{
+			var p = start;
+			do
+			{
+				if (p.mZOrder == 0) p.mZOrder = zOrder(p.x, p.y, minX, minY, size);
+				p.prevZ = p.prev;
+				p.nextZ = p.next;
+				p = p.next;
+			} while (p != start);
+
+			p.prevZ.nextZ = null;
+			p.prevZ = null;
+
+			sortLinked(p);
+		}
+
+		private static Node sortLinked(Node list)
+		{
+			var i = 0;
+			Node p;
+			Node q;
+			Node e;
+			Node tail;
+			var numMerges = 0; ;
+			var pSize = 0;
+			var qSize = 0;
+			var inSize = 1;
+
+			do
+			{
+				p = list;
+				list = null;
+				tail = null;
+				numMerges = 0;
+
+				while (p != null)
+				{
+					numMerges++;
+					q = p;
+					pSize = 0;
+					for (i = 0; i < inSize; i++)
+					{
+						pSize++;
+						q = q.nextZ;
+						if (q == null) break;
+					}
+					qSize = inSize;
+
+					while (pSize > 0 || (qSize > 0 && q != null))
+					{
+
+						if (pSize != 0 && (qSize == 0 || q == null || p.mZOrder <= q.mZOrder))
+						{
+							e = p;
+							p = p.nextZ;
+							pSize--;
+						}
+						else
+						{
+							e = q;
+							q = q.nextZ;
+							qSize--;
+						}
+
+						if (tail != null) tail.nextZ = e;
+						else list = e;
+
+						e.prevZ = tail;
+						tail = e;
+					}
+
+					p = q;
+				}
+
+				tail.nextZ = null;
+				inSize *= 2;
+
+			} while (numMerges > 1);
+
+			return list;
+		}
+
+		private static Node EliminateHoles(List<float> data, List<int> holeIndices, Node outerNode, int dim)
+		{
+			var i = 0;
+			var len = holeIndices.Count;
+			var start = 0;
+			var end = 0;
+			Node list = null;
+			var queue = new List<Node>(len);
+			for (i = 0; i < len; i++)
+			{
+				start = holeIndices[i] * dim;
+				end = i < len - 1 ? holeIndices[i + 1] * dim : data.Count;
+				list = linkedList(data, start, end, dim, false);
+				if (list == list.next) list.steiner = true;
+				queue.Add(getLeftmost(list));
+			}
+
+			queue.Sort(delegate (Node a, Node b)
+			{
+				return (int)Math.Ceiling(a.x - b.x);
+			});
+
+			// process holes from left to right
+			for (i = 0; i < queue.Count; i++)
+			{
+				EliminateHole(queue[i], outerNode);
+				outerNode = FilterPoints(outerNode, outerNode.next);
+			}
+
+			return outerNode;
+		}
+
+		private static void EliminateHole(Node hole, Node outerNode)
+		{
+			outerNode = FindHoleBridge(hole, outerNode);
+			if (outerNode != null)
+			{
+				var b = SplitPolygon(outerNode, hole);
+				FilterPoints(b, b.next);
+			}
+		}
+
+		private static Node FilterPoints(Node start, Node end)
+		{
+			if (start == null) return start;
+			if (end == null) end = start;
+
+			var p = start;
+			bool again = true;
+			do
+			{
+				again = false;
+
+				if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) == 0))
+				{
+					removeNode(p);
+					p = end = p.prev;
+					if (p == p.next) return null;
+					again = true;
+
+				}
+				else
+				{
+					p = p.next;
+				}
+			} while (again || p != end);
+
+			return end;
+		}
+
+		private static Node SplitPolygon(Node a, Node b)
+		{
+			var a2 = new Node(a.i, a.x, a.y);
+			var b2 = new Node(b.i, b.x, b.y);
+			var an = a.next;
+			var bp = b.prev;
+
+			a.next = b;
+			b.prev = a;
+
+			a2.next = an;
+			an.prev = a2;
+
+			b2.next = a2;
+			a2.prev = b2;
+
+			bp.next = b2;
+			b2.prev = bp;
+
+			return b2;
+		}
+
+		private static Node FindHoleBridge(Node hole, Node outerNode)
+		{
+			var p = outerNode;
+			var hx = hole.x;
+			var hy = hole.y;
+			var qx = float.MinValue;
+			Node m = null;
+
+			// find a segment intersected by a ray from the hole's leftmost point to the left;
+			// segment's endpoint with lesser x will be potential connection point
+			do
+			{
+				if (hy <= p.y && hy >= p.next.y && p.next.y != p.y)
+				{
+					var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);
+					if (x <= hx && x > qx)
+					{
+						qx = x;
+						if (x == hx)
+						{
+							if (hy == p.y) return p;
+							if (hy == p.next.y) return p.next;
+						}
+						m = p.x < p.next.x ? p : p.next;
+					}
+				}
+				p = p.next;
+			} while (p != outerNode);
+
+			if (m == null) return null;
+
+			if (hx == qx) return m.prev; // hole touches outer segment; pick lower endpoint
+
+			// look for points inside the triangle of hole point, segment intersection and endpoint;
+			// if there are no points found, we have a valid connection;
+			// otherwise choose the point of the minimum angle with the ray as connection point
+
+			var stop = m;
+			var mx = m.x;
+			var my = m.y;
+			var tanMin = float.MaxValue;
+			float tan = 0f;
+
+			p = m.next;
+
+			while (p != stop)
+			{
+				if (hx >= p.x && p.x >= mx && hx != p.x &&
+						pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y))
+				{
+
+					tan = Math.Abs(hy - p.y) / (hx - p.x); // tangential
+
+					if ((tan < tanMin || (tan == tanMin && p.x > m.x)) && locallyInside(p, hole))
+					{
+						m = p;
+						tanMin = tan;
+					}
+				}
+
+				p = p.next;
+			}
+
+			return m;
+		}
+
+		private static bool locallyInside(Node a, Node b)
+		{
+			return area(a.prev, a, a.next) < 0 ?
+		area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :
+		area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;
+		}
+
+		private static float area(Node p, Node q, Node r)
+		{
+			return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
+		}
+
+		private static bool pointInTriangle(float ax, float ay, float bx, float by, float cx, float cy, float px, float py)
+		{
+			return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&
+		   (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&
+		   (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;
+		}
+
+		private static Node getLeftmost(Node start)
+		{
+			var p = start;
+			var leftmost = start;
+			do
+			{
+				if (p.x < leftmost.x) leftmost = p;
+				p = p.next;
+			} while (p != start);
+
+			return leftmost;
+		}
+
+		// create a circular doubly linked list from polygon points in the specified winding order
+		private static Node linkedList(List<float> data, int start, int end, int dim, bool clockwise)
+		{
+			var i = 0;
+			Node last = null;
+
+			if (clockwise == (signedArea(data, start, end, dim) > 0))
+			{
+				for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);
+			}
+			else
+			{
+				for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);
+			}
+
+			if (last != null && equals(last, last.next))
+			{
+				removeNode(last);
+				last = last.next;
+			}
+
+			return last;
+		}
+
+		private static void removeNode(Node p)
+		{
+			p.next.prev = p.prev;
+			p.prev.next = p.next;
+
+			if (p.prevZ != null) p.prevZ.nextZ = p.nextZ;
+			if (p.nextZ != null) p.nextZ.prevZ = p.prevZ;
+		}
+
+		private static bool equals(Node p1, Node p2)
+		{
+			return p1.x == p2.x && p1.y == p2.y;
+		}
+
+		private static float signedArea(List<float> data, int start, int end, int dim)
+		{
+			var sum = 0f;
+			var j = end - dim;
+			for (var i = start; i < end; i += dim)
+			{
+				sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
+				j = i;
+			}
+			return sum;
+		}
+
+		private static Node insertNode(int i, float x, float y, Node last)
+		{
+			var p = new Node(i, x, y);
+
+			if (last == null)
+			{
+				p.prev = p;
+				p.next = p;
+
+			}
+			else
+			{
+				p.next = last.next;
+				p.prev = last;
+				last.next.prev = p;
+				last.next = p;
+			}
+			return p;
+		}
+				
+		public static Data Flatten(List<List<Vector3>> data)
+		{
+			var dataCount = data.Count;
+			var totalVertCount = 0;
+			for (int i = 0; i < dataCount; i++)
+			{
+				totalVertCount += data[i].Count;
+			}
+
+			var result = new Data() { Dim = 2 };
+			result.Vertices = new List<float>(totalVertCount * 2);
+			var holeIndex = 0;
+
+			for (var i = 0; i < dataCount; i++)
+			{
+				var subCount = data[i].Count;
+				for (var j = 0; j < subCount; j++)
+				{
+					result.Vertices.Add(data[i][j][0]);
+					result.Vertices.Add(data[i][j][2]);
+				}
+				if (i > 0)
+				{
+					holeIndex += data[i - 1].Count;
+					result.Holes.Add(holeIndex);
+				}
+			}
+			return result;
+		}
+	}
+
+	public class Data
+	{
+		public List<float> Vertices;
+		public List<int> Holes;
+		public int Dim;
+
+		public Data()
+		{
+			Holes = new List<int>();
+			Dim = 2;
+		}
+	}
+
+	public class Node
+	{
+
+		/* Member Variables. */
+		public int i;
+		public float x;
+		public float y;
+		public int mZOrder;
+		public Node prev;
+		public Node next;
+		public Node prevZ;
+		public Node nextZ;
+		public bool steiner;
+
+		public Node(int ind, float pX, float pY)
+		{
+			/* Initialize Member Variables. */
+			this.i = ind;
+			this.x = pX;
+			this.y = pY;
+			this.mZOrder = 0;
+			this.prev = null;
+			this.next = null;
+			this.prevZ = null;
+			this.nextZ = null;
+		}
+
+		protected void setPreviousNode(Node pNode)
+		{
+			this.prev = pNode;
+		}
+
+		protected Node getPreviousNode()
+		{
+			return this.prev;
+		}
+
+		protected void setNextNode(Node pNode)
+		{
+			this.next = pNode;
+		}
+
+		protected Node getNextNode()
+		{
+			return this.next;
+		}
+
+		protected void setZOrder(int pZOrder)
+		{
+			this.mZOrder = pZOrder;
+		}
+
+		protected int getZOrder()
+		{
+			return this.mZOrder;
+		}
+
+		protected void setPreviousZNode(Node pNode)
+		{
+			this.prevZ = pNode;
+		}
+
+		protected Node getPreviousZNode()
+		{
+			return this.prevZ;
+		}
+
+		protected void setNextZNode(Node pNode)
+		{
+			this.nextZ = pNode;
+		}
+
+		protected Node getNextZNode()
+		{
+			return this.nextZ;
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/Earcut.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/Earcut.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..801e1ace2c6cd6878a2944c28b43f13e4ae59709
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/Earcut.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e7b04bd1ddccfc64aa5e47acd098a3ef
+timeCreated: 1499344109
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5bc64d3c87d4466ed53243ff03caca054ee5da9c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs
@@ -0,0 +1,288 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+	using Mapbox.Unity.Map;
+
+	public class MinMaxPair
+	{
+		public float min, max;
+
+		public static MinMaxPair GetMinMaxHeight(List<Vector3> vertices)
+		{
+			int counter = vertices.Count;
+			MinMaxPair returnValue = new MinMaxPair
+			{
+				max = float.MinValue,
+				min = float.MaxValue
+			};
+
+			for (int i = 0; i < counter; i++)
+			{
+				if (vertices[i].y > returnValue.max)
+					returnValue.max = vertices[i].y;
+				else if (vertices[i].y < returnValue.min)
+					returnValue.min = vertices[i].y;
+			}
+
+			return returnValue;
+		}
+	}
+
+	/// <summary>
+	/// Height Modifier is responsible for the y axis placement of the feature. It pushes the original vertices upwards by "height" value and creates side walls around that new polygon down to "min_height" value.
+	/// It also checkes for "ele" (elevation) value used for contour lines in Mapbox Terrain data.
+	/// Height Modifier also creates a continuous UV mapping for side walls.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Height Modifier")]
+	public class HeightModifier : MeshModifier
+	{
+		private float _scale = 1;
+
+		GeometryExtrusionOptions _options;
+
+		[SerializeField]
+		[Tooltip("Create side walls as separate submesh.")]
+		private bool _separateSubmesh = true;
+
+		public override ModifierType Type { get { return ModifierType.Preprocess; } }
+
+		private int _counter = 0;
+		float height = 0.0f;
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			_options = (GeometryExtrusionOptions)properties;
+			_options.PropertyHasChanged += UpdateModifier;
+		}
+		public override void UnbindProperties()
+		{
+			_options.PropertyHasChanged -= UpdateModifier;
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, float scale)
+		{
+			_scale = scale;
+			Run(feature, md);
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			_counter = 0;
+			if (md.Vertices.Count == 0 || feature == null || feature.Points.Count < 1)
+				return;
+
+			if (tile != null)
+				_scale = tile.TileScale;
+
+			float maxHeight = 1.0f;
+			float minHeight = 0.0f;
+
+			QueryHeight(feature, md, tile, out maxHeight, out minHeight);
+
+			maxHeight = maxHeight * _options.extrusionScaleFactor * _scale;
+			minHeight = minHeight * _options.extrusionScaleFactor * _scale;
+			height = (maxHeight - minHeight);
+
+			//Set roof height
+			GenerateRoofMesh(md, minHeight, maxHeight);
+			if (_options.extrusionGeometryType == ExtrusionGeometryType.SideOnly)
+			{
+				md.Triangles[0].Clear();
+			}
+
+			GenerateWallMesh(md);
+
+		}
+
+		protected virtual void GenerateWallMesh(MeshData md)
+		{
+			md.Vertices.Capacity = _counter + md.Edges.Count * 2;
+			float d = 0f;
+			Vector3 v1;
+			Vector3 v2;
+			int ind = 0;
+			Vector3 wallDir;
+
+			if (_options.extrusionGeometryType != ExtrusionGeometryType.RoofOnly)
+			{
+				_counter = md.Edges.Count;
+				var wallTri = new List<int>(_counter * 3);
+				var wallUv = new List<Vector2>(_counter * 2);
+				Vector3 norm = Constants.Math.Vector3Zero;
+
+				md.Vertices.Capacity = md.Vertices.Count + _counter * 2;
+				md.Normals.Capacity = md.Normals.Count + _counter * 2;
+
+				for (int i = 0; i < _counter; i += 2)
+				{
+					v1 = md.Vertices[md.Edges[i]];
+					v2 = md.Vertices[md.Edges[i + 1]];
+					ind = md.Vertices.Count;
+					md.Vertices.Add(v1);
+					md.Vertices.Add(v2);
+					md.Vertices.Add(new Vector3(v1.x, v1.y - height, v1.z));
+					md.Vertices.Add(new Vector3(v2.x, v2.y - height, v2.z));
+
+					d = (v2 - v1).magnitude;
+					norm = Vector3.Normalize(Vector3.Cross(v2 - v1, md.Vertices[ind + 2] - v1));
+					md.Normals.Add(norm);
+					md.Normals.Add(norm);
+					md.Normals.Add(norm);
+					md.Normals.Add(norm);
+
+					wallDir = (v2 - v1).normalized;
+					md.Tangents.Add(wallDir);
+					md.Tangents.Add(wallDir);
+					md.Tangents.Add(wallDir);
+					md.Tangents.Add(wallDir);
+
+					wallUv.Add(new Vector2(0, 0));
+					wallUv.Add(new Vector2(d, 0));
+					wallUv.Add(new Vector2(0, -height));
+					wallUv.Add(new Vector2(d, -height));
+
+					wallTri.Add(ind);
+					wallTri.Add(ind + 1);
+					wallTri.Add(ind + 2);
+
+					wallTri.Add(ind + 1);
+					wallTri.Add(ind + 3);
+					wallTri.Add(ind + 2);
+				}
+
+				// TODO: Do we really need this?
+				if (_separateSubmesh)
+				{
+					md.Triangles.Add(wallTri);
+				}
+				else
+				{
+					md.Triangles.Capacity = md.Triangles.Count + wallTri.Count;
+					md.Triangles[0].AddRange(wallTri);
+				}
+				md.UV[0].AddRange(wallUv);
+			}
+		}
+
+		protected virtual void GenerateRoofMesh(MeshData md, float minHeight, float maxHeight)
+		{
+			_counter = md.Vertices.Count;
+			switch (_options.extrusionType)
+			{
+				case ExtrusionType.None:
+					break;
+				case ExtrusionType.PropertyHeight:
+					for (int i = 0; i < _counter; i++)
+					{
+						md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + maxHeight, md.Vertices[i].z);
+					}
+					break;
+				case ExtrusionType.MinHeight:
+					{
+						var minmax = MinMaxPair.GetMinMaxHeight(md.Vertices);
+						for (int i = 0; i < _counter; i++)
+						{
+							md.Vertices[i] = new Vector3(md.Vertices[i].x, minmax.min + maxHeight, md.Vertices[i].z);
+						}
+					}
+					break;
+				case ExtrusionType.MaxHeight:
+					{
+						var minmax = MinMaxPair.GetMinMaxHeight(md.Vertices);
+						for (int i = 0; i < _counter; i++)
+						{
+							md.Vertices[i] = new Vector3(md.Vertices[i].x, minmax.max + maxHeight, md.Vertices[i].z);
+						}
+						height += (minmax.max - minmax.min);
+					}
+					break;
+				case ExtrusionType.RangeHeight:
+					for (int i = 0; i < _counter; i++)
+					{
+						md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + maxHeight, md.Vertices[i].z);
+					}
+					break;
+				case ExtrusionType.AbsoluteHeight:
+					for (int i = 0; i < _counter; i++)
+					{
+						md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + maxHeight, md.Vertices[i].z);
+					}
+					break;
+				default:
+					break;
+			}
+
+		}
+
+		protected virtual void QueryHeight(VectorFeatureUnity feature, MeshData md, UnityTile tile, out float maxHeight, out float minHeight)
+		{
+			minHeight = 0.0f;
+			maxHeight = 0.0f;
+
+			switch (_options.extrusionType)
+			{
+				case ExtrusionType.None:
+					break;
+				case ExtrusionType.PropertyHeight:
+				case ExtrusionType.MinHeight:
+				case ExtrusionType.MaxHeight:
+					if (feature.Properties.ContainsKey(_options.propertyName))
+					{
+						try
+						{
+							maxHeight = Convert.ToSingle(feature.Properties[_options.propertyName]);
+						}
+						catch (Exception)
+						{
+							Debug.LogError("Property: '" + _options.propertyName + "' must contain a numerical value for extrusion.");
+							return;
+						}
+
+						if (feature.Properties.ContainsKey("min_height"))
+						{
+							minHeight = Convert.ToSingle(feature.Properties["min_height"]);
+						}
+					}
+					break;
+				case ExtrusionType.RangeHeight:
+					if (feature.Properties.ContainsKey(_options.propertyName))
+					{
+						if (_options.minimumHeight > _options.maximumHeight)
+						{
+							Debug.LogError("Maximum Height less than Minimum Height.Swapping values for extrusion.");
+							var temp = _options.minimumHeight;
+							_options.minimumHeight = _options.maximumHeight;
+							_options.maximumHeight = temp;
+						}
+
+						float featureHeight;
+						try
+						{
+							featureHeight = Convert.ToSingle(feature.Properties[_options.propertyName]);
+						}
+						catch (Exception)
+						{
+							Debug.LogError("Property: '" + _options.propertyName + "' must contain a numerical value for extrusion.");
+							return;
+						}
+
+						maxHeight = Math.Min(Math.Max(_options.minimumHeight, featureHeight), _options.maximumHeight);
+						if (feature.Properties.ContainsKey("min_height"))
+						{
+							var featureMinHeight = Convert.ToSingle(feature.Properties["min_height"]);
+							minHeight = Math.Min(featureMinHeight, _options.maximumHeight);
+						}
+					}
+					break;
+				case ExtrusionType.AbsoluteHeight:
+					maxHeight = _options.maximumHeight;
+					break;
+				default:
+					break;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b7afd83dbbdd1fc7be233e7b90efe1b0f9ff797d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/HeightModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a7dfb85d33966074ebf2acd2de263474
+timeCreated: 1478553093
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..522d83da733f0398ddfc7f4b1ad19ed9b909fc4f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs
@@ -0,0 +1,497 @@
+using System;
+using Mapbox.Unity.Utilities;
+using System.Collections.Generic;
+using Mapbox.Unity.Map;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	/// <summary>
+	/// Line Mesh Modifier creates line polygons from a list of vertices. It offsets the original vertices to both sides using Width parameter and triangulates them manually.
+	/// It also creates tiled UV mapping using the line length.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Line Mesh Modifier")]
+	public class LineMeshModifier : MeshModifier
+	{
+		#region Constants
+
+		private readonly float _cosHalfSharpCorner = Mathf.Cos(75f / 2f * (Mathf.PI / 180f));
+		private readonly float _sharpCornerOffset = 15f;
+
+		#endregion
+
+		#region Line Parameters
+
+		private LineGeometryOptions _options;
+
+		private float _scaledWidth;
+
+		#endregion
+
+		#region Mesh Generation Fields
+
+		private List<Vector3> _vertexList;
+		private List<Vector3> _normalList;
+		private List<int> _triangleList;
+		private List<Vector2> _uvList;
+		private List<Vector4> _tangentList;
+
+		//triangle indices
+		private int _index1 = -1;
+		private int _index2 = -1;
+		private int _index3 = -1;
+		private float _cornerOffsetA;
+		private float _cornerOffsetB;
+		private bool _startOfLine = true;
+
+
+		private Vector3 _prevVertex;
+		private Vector3 _currentVertex;
+		private Vector3 _nextVertex;
+		private Vector3 _prevNormal;
+		private Vector3 _nextNormal;
+		private float _distance = 0f;
+
+		#endregion
+
+		#region Modifier Overrides
+
+		public override ModifierType Type
+		{
+			get { return ModifierType.Preprocess; }
+		}
+
+		public override void Initialize()
+		{
+			_scaledWidth = _options.Width;
+			_vertexList = new List<Vector3>();
+			_normalList = new List<Vector3>();
+			_triangleList = new List<int>();
+			_uvList = new List<Vector2>();
+			_tangentList = new List<Vector4>();
+		}
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			_options = (LineGeometryOptions) properties;
+			properties.PropertyHasChanged += UpdateModifier;
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, float scale)
+		{
+			_scaledWidth = _options.Width * scale;
+			ExtrudeLine(feature, md);
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			_scaledWidth = tile != null ? _options.Width * tile.TileScale : _options.Width;
+			ExtrudeLine(feature, md);
+		}
+
+		#endregion
+
+		#region Mesh Generations
+
+		private void ExtrudeLine(VectorFeatureUnity feature, MeshData md)
+		{
+			if (feature.Points.Count < 1)
+			{
+				return;
+			}
+
+			foreach (var roadSegment in feature.Points)
+			{
+				if (roadSegment.Count < 2)
+					continue;
+
+				ResetFields();
+
+				var roadSegmentCount = roadSegment.Count;
+				for (int i = 0; i < roadSegmentCount; i++)
+				{
+					_nextVertex = i != (roadSegmentCount - 1) ? roadSegment[i + 1] : Constants.Math.Vector3Unused;
+
+					if (_nextNormal != Constants.Math.Vector3Unused)
+					{
+						_prevNormal = _nextNormal;
+					}
+
+					if (_currentVertex != Constants.Math.Vector3Unused)
+					{
+						_prevVertex = _currentVertex;
+					}
+
+					_currentVertex = roadSegment[i];
+
+					_nextNormal = (_nextVertex != Constants.Math.Vector3Unused)
+						? (_nextVertex - _currentVertex).normalized.Perpendicular()
+						: _prevNormal;
+
+					if (_prevNormal == Constants.Math.Vector3Unused)
+					{
+						_prevNormal = _nextNormal;
+					}
+
+					var joinNormal = (_prevNormal + _nextNormal).normalized;
+
+					/*  joinNormal     prevNormal
+					 *             ↖      ↑
+					 *                .________. prevVertex
+					 *                |
+					 * nextNormal  ←  |  currentVertex
+					 *                |
+					 *     nextVertex !
+					 *
+					 */
+
+					var cosHalfAngle = joinNormal.x * _nextNormal.x + joinNormal.z * _nextNormal.z;
+					var miterLength = cosHalfAngle != 0 ? 1 / cosHalfAngle : float.PositiveInfinity;
+					var isSharpCorner = cosHalfAngle < _cosHalfSharpCorner && _prevVertex != Constants.Math.Vector3Unused && _nextVertex != Constants.Math.Vector3Unused;
+
+					if (isSharpCorner && i > 0)
+					{
+						var prevSegmentLength = Vector3.Distance(_currentVertex, _prevVertex);
+						if (prevSegmentLength > 2 * _sharpCornerOffset)
+						{
+							var dir = (_currentVertex - _prevVertex);
+							var newPrevVertex = _currentVertex - (dir * (_sharpCornerOffset / prevSegmentLength));
+							_distance += Vector3.Distance(newPrevVertex, _prevVertex);
+							AddCurrentVertex(newPrevVertex, _distance, _prevNormal, md);
+							_prevVertex = newPrevVertex;
+						}
+					}
+
+					var middleVertex = _prevVertex != Constants.Math.Vector3Unused && _nextVertex != Constants.Math.Vector3Unused;
+					var currentJoin = middleVertex ? _options.JoinType : _options.CapType;
+
+					if (middleVertex && currentJoin == JoinType.Round)
+					{
+						if (miterLength < _options.RoundLimit)
+						{
+							currentJoin = JoinType.Miter;
+						}
+						else if (miterLength <= 2)
+						{
+							currentJoin = JoinType.Fakeround;
+						}
+					}
+
+					if (currentJoin == JoinType.Miter && miterLength > _options.MiterLimit)
+					{
+						currentJoin = JoinType.Bevel;
+					}
+
+					if (currentJoin == JoinType.Bevel)
+					{
+						// The maximum extrude length is 128 / 63 = 2 times the width of the line
+						// so if miterLength >= 2 we need to draw a different type of bevel here.
+						if (miterLength > 2)
+						{
+							currentJoin = JoinType.Flipbevel;
+						}
+
+						// If the miterLength is really small and the line bevel wouldn't be visible,
+						// just draw a miter join to save a triangle.
+						if (miterLength < _options.MiterLimit)
+						{
+							currentJoin = JoinType.Miter;
+						}
+					}
+
+					if (_prevVertex != Constants.Math.Vector3Unused)
+					{
+						_distance += Vector3.Distance(_currentVertex, _prevVertex);
+					}
+
+					if (currentJoin == JoinType.Miter)
+					{
+						joinNormal *= miterLength;
+						AddCurrentVertex(_currentVertex, _distance, joinNormal, md);
+					}
+					else if (currentJoin == JoinType.Flipbevel)
+					{
+						// miter is too big, flip the direction to make a beveled join
+
+						if (miterLength > 100)
+						{
+							// Almost parallel lines
+							joinNormal = _nextNormal * -1;
+						}
+						else
+						{
+							var direction = (_prevNormal.x * _nextNormal.z - _prevNormal.z * _nextNormal.x) > 0 ? -1 : 1;
+							var bevelLength = miterLength * (_prevNormal + _nextNormal).magnitude / (_prevNormal - _nextNormal).magnitude;
+							joinNormal = joinNormal.Perpendicular() * (bevelLength * direction);
+						}
+
+						AddCurrentVertex(_currentVertex, _distance, joinNormal, md, 0, 0);
+						AddCurrentVertex(_currentVertex, _distance, joinNormal * -1, md, 0, 0);
+					}
+					else if (currentJoin == JoinType.Bevel || currentJoin == JoinType.Fakeround)
+					{
+						var lineTurnsLeft = (_prevNormal.x * _nextNormal.z - _prevNormal.z * _nextNormal.x) > 0;
+						var offset = (float) -Math.Sqrt(miterLength * miterLength - 1);
+						if (lineTurnsLeft)
+						{
+							_cornerOffsetB = 0;
+							_cornerOffsetA = offset;
+						}
+						else
+						{
+							_cornerOffsetA = 0;
+							_cornerOffsetB = offset;
+						}
+
+						// Close previous segment with a bevel
+						if (!_startOfLine)
+						{
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal, md, _cornerOffsetA, _cornerOffsetB);
+						}
+
+						if (currentJoin == JoinType.Fakeround)
+						{
+							// The join angle is sharp enough that a round join would be visible.
+							// Bevel joins fill the gap between segments with a single pie slice triangle.
+							// Create a round join by adding multiple pie slices. The join isn't actually round, but
+							// it looks like it is at the sizes we render lines at.
+
+							// Add more triangles for sharper angles.
+							// This math is just a good enough approximation. It isn't "correct".
+							var n = Mathf.Floor((0.5f - (cosHalfAngle - 0.5f)) * 8);
+							Vector3 approxFractionalJoinNormal;
+							for (var m = 0f; m < n; m++)
+							{
+								approxFractionalJoinNormal = (_nextNormal * ((m + 1f) / (n + 1f)) + (_prevNormal)).normalized;
+								AddPieSliceVertex(_currentVertex, _distance, approxFractionalJoinNormal, lineTurnsLeft, md);
+							}
+
+							AddPieSliceVertex(_currentVertex, _distance, joinNormal, lineTurnsLeft, md);
+
+							//change it to go -1, not sure if it's a good idea but it adds the last vertex in the corner,
+							//as duplicate of next road segment start
+							for (var k = n - 1; k >= -1; k--)
+							{
+								approxFractionalJoinNormal = (_prevNormal * ((k + 1) / (n + 1)) + (_nextNormal)).normalized;
+								AddPieSliceVertex(_currentVertex, _distance, approxFractionalJoinNormal, lineTurnsLeft, md);
+							}
+
+							//ending corner
+							_index1 = -1;
+							_index2 = -1;
+						}
+
+
+
+						if (_nextVertex != Constants.Math.Vector3Unused)
+						{
+							AddCurrentVertex(_currentVertex, _distance, _nextNormal, md, -_cornerOffsetA, -_cornerOffsetB);
+						}
+					}
+					else if (currentJoin == JoinType.Butt)
+					{
+						if (!_startOfLine)
+						{
+							// Close previous segment with a butt
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal, md, 0, 0);
+						}
+
+						// Start next segment with a butt
+						if (_nextVertex != Constants.Math.Vector3Unused)
+						{
+							AddCurrentVertex(_currentVertex, _distance, _nextNormal, md, 0, 0);
+						}
+					}
+					else if (currentJoin == JoinType.Square)
+					{
+						if (!_startOfLine)
+						{
+							// Close previous segment with a square cap
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal, md, 1, 1);
+
+							// The segment is done. Unset vertices to disconnect segments.
+							_index1 = _index2 = -1;
+						}
+
+						// Start next segment
+						if (_nextVertex != Constants.Math.Vector3Unused)
+						{
+							AddCurrentVertex(_currentVertex, _distance, _nextNormal, md, -1, -1);
+						}
+					}
+					else if (currentJoin == JoinType.Round)
+					{
+						if (_startOfLine)
+						{
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal * 0.33f, md, -2f, -2f);
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal * 0.66f, md, -.7f, -.7f);
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal, md, 0, 0);
+						}
+						else if (_nextVertex == Constants.Math.Vector3Unused)
+						{
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal, md, 0, 0);
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal * 0.66f, md, .7f, .7f);
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal * 0.33f, md, 2f, 2f);
+							_index1 = -1;
+							_index2 = -1;
+						}
+						else
+						{
+							AddCurrentVertex(_currentVertex, _distance, _prevNormal, md, 0, 0);
+							AddCurrentVertex(_currentVertex, _distance, _nextNormal, md, 0, 0);
+						}
+					}
+
+					if (isSharpCorner && i < roadSegmentCount - 1)
+					{
+						var nextSegmentLength = Vector3.Distance(_currentVertex, _nextVertex);
+						if (nextSegmentLength > 2 * _sharpCornerOffset)
+						{
+							var newCurrentVertex = _currentVertex + ((_nextVertex - _currentVertex) * (_sharpCornerOffset / nextSegmentLength)); //._round()
+							_distance += Vector3.Distance(newCurrentVertex, _currentVertex);
+							AddCurrentVertex(newCurrentVertex, _distance, _nextNormal, md);
+							_currentVertex = newCurrentVertex;
+						}
+					}
+
+					_startOfLine = false;
+				}
+
+				md.Edges.Add(md.Vertices.Count);
+				md.Edges.Add(md.Vertices.Count + 1);
+				md.Edges.Add(md.Vertices.Count + _vertexList.Count - 1);
+				md.Edges.Add(md.Vertices.Count + _vertexList.Count - 2);
+
+				md.Vertices.AddRange(_vertexList);
+				md.Normals.AddRange(_normalList);
+				if (md.Triangles.Count == 0)
+				{
+					md.Triangles.Add(new List<int>());
+				}
+
+				md.Triangles[0].AddRange(_triangleList);
+				md.Tangents.AddRange(_tangentList);
+				md.UV[0].AddRange(_uvList);
+			}
+		}
+
+		private void ResetFields()
+		{
+			_index1 = -1;
+			_index2 = -1;
+			_index3 = -1;
+			_startOfLine = true;
+			_cornerOffsetA = 0f;
+			_cornerOffsetB = 0f;
+
+			_vertexList.Clear();
+			_normalList.Clear();
+			_uvList.Clear();
+			_tangentList.Clear();
+			_triangleList.Clear();
+
+			_prevVertex = Constants.Math.Vector3Unused;
+			_currentVertex = Constants.Math.Vector3Unused;
+			_nextVertex = Constants.Math.Vector3Unused;
+
+			_prevNormal = Constants.Math.Vector3Unused;
+			_nextNormal = Constants.Math.Vector3Unused;
+			_distance = 0f;
+		}
+
+		private void AddPieSliceVertex(Vector3 vertexPosition, float dist, Vector3 normal, bool lineTurnsLeft, MeshData md)
+		{
+			var triIndexStart = md.Vertices.Count;
+			var extrude = normal * (lineTurnsLeft ? -1 : 1);
+			_vertexList.Add(vertexPosition + extrude * _scaledWidth);
+			_normalList.Add(Constants.Math.Vector3Up);
+			_uvList.Add(new Vector2(1, dist));
+			_tangentList.Add(normal.Perpendicular() * -1);
+
+			_index3 = triIndexStart + _vertexList.Count - 1;
+			if (_index1 >= 0 && _index2 >= 0)
+			{
+				_triangleList.Add(_index1);
+				_triangleList.Add(_index3);
+				_triangleList.Add(_index2);
+				if (!lineTurnsLeft)
+				{
+					md.Edges.Add(_index3);
+					md.Edges.Add(_index1);
+				}
+				else
+				{
+					md.Edges.Add(_index2);
+					md.Edges.Add(_index3);
+				}
+			}
+
+			if (lineTurnsLeft)
+			{
+				_index2 = _index3;
+			}
+			else
+			{
+				_index1 = _index3;
+			}
+		}
+
+
+		private void AddCurrentVertex(Vector3 vertexPosition, float dist, Vector3 normal, MeshData md, float endLeft = 0, float endRight = 0)
+		{
+			var triIndexStart = md.Vertices.Count;
+			var extrude = normal;
+			if (endLeft != 0)
+			{
+				extrude -= (normal.Perpendicular() * endLeft);
+			}
+
+			var vert = vertexPosition + extrude * _scaledWidth;
+			_vertexList.Add(vert);
+			_normalList.Add(Constants.Math.Vector3Up);
+			_uvList.Add(new Vector2(1, dist));
+			_tangentList.Add(normal.Perpendicular() * -1);
+
+			_index3 = triIndexStart + _vertexList.Count - 1;
+			if (_index1 >= triIndexStart && _index2 >= triIndexStart)
+			{
+				_triangleList.Add(_index1);
+				_triangleList.Add(_index3);
+				_triangleList.Add(_index2);
+				md.Edges.Add(triIndexStart + _vertexList.Count - 1);
+				md.Edges.Add(triIndexStart + _vertexList.Count - 3);
+			}
+
+			_index1 = _index2;
+			_index2 = _index3;
+
+
+			extrude = normal * -1;
+			if (endRight != 0)
+			{
+				extrude -= normal.Perpendicular() * endRight;
+			}
+
+			_vertexList.Add(vertexPosition + extrude * _scaledWidth);
+			_normalList.Add(Constants.Math.Vector3Up);
+			_uvList.Add(new Vector2(0, dist));
+			_tangentList.Add(normal.Perpendicular() * -1);
+
+			_index3 = triIndexStart + _vertexList.Count - 1;
+			if (_index1 >= triIndexStart && _index2 >= triIndexStart)
+			{
+				_triangleList.Add(_index1);
+				_triangleList.Add(_index2);
+				_triangleList.Add(_index3);
+				md.Edges.Add(triIndexStart + _vertexList.Count - 3);
+				md.Edges.Add(triIndexStart + _vertexList.Count - 1);
+			}
+
+			_index1 = _index2;
+			_index2 = _index3;
+		}
+
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2498d26f8fff80f8d4dfabd629199fb805ea9d7b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LineMeshModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9e1e9c060b6589e4e8b990a9c709bcdd
+timeCreated: 1478553093
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LoftModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LoftModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2bacb331d251f5feefd5fcff9ee34fe9f8b15bd1
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LoftModifier.cs
@@ -0,0 +1,171 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using System.Collections.Generic;
+	using System.Linq;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers;
+	
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Loft Modifier")]
+	public class LoftModifier : MeshModifier
+	{
+		public override ModifierType Type { get { return ModifierType.Preprocess; } }
+		public GameObject Slice;
+		public bool _closeEdges = false;
+		private int _counter = 0;
+
+		private List<Vector3> _slice;
+		private int _sliceCount;
+		private float _sliceTotalMagnitude;
+		private Vector2[] _sliceUvs;
+
+		public override void Initialize()
+		{
+			base.Initialize();
+			_slice = new List<Vector3>();
+			foreach (Transform tr in Slice.transform)
+			{
+				_slice.Add(tr.position);
+			}
+			_sliceCount = _slice.Count;
+
+			_sliceTotalMagnitude = 0;
+			for (int i = 0; i < _sliceCount - 1; i++)
+			{
+				_sliceTotalMagnitude += (_slice[i + 1] - _slice[i]).magnitude;
+			}
+			_sliceUvs = new Vector2[_sliceCount];
+			_sliceUvs[0] = new Vector2(0, 0);
+			for (int i = 0; i < _sliceCount - 1; i++)
+			{
+				_sliceUvs[i + 1] = new Vector2(0, _sliceUvs[i].y + (_slice[i + 1] - _slice[i]).magnitude / _sliceTotalMagnitude);
+			}
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			if (feature.Points.Count < 1)
+				return;
+
+			foreach (var roadSegment in feature.Points)
+			{
+				_counter = roadSegment.Count;
+				if (_counter <= 1)
+					continue;
+
+				var vl = new List<Vector3>(_sliceCount * _counter);
+				var edges = new List<Vector3>(_counter);
+				int co = 0;
+
+				for (int j = 0; j < _counter; j++)
+				{
+					var current = Constants.Math.Vector3Zero;
+
+					current = roadSegment[j];
+					Vector3 dirCurrent, dir1, dir2;
+					if (j > 0 && j < (_counter - 1))
+					{
+						dir1 = (roadSegment[j] - roadSegment[j - 1]).normalized;
+						dir2 = (roadSegment[j + 1] - roadSegment[j]).normalized;
+						dirCurrent = (dir2 + dir1).normalized;
+					}
+					else if (j == 0) //first
+					{
+						dirCurrent = (roadSegment[j + 1] - roadSegment[j]).normalized;
+					}
+					else //last
+					{
+						dirCurrent = (roadSegment[j] - roadSegment[j - 1]).normalized;
+					}
+					var q = Quaternion.LookRotation(dirCurrent);
+
+					co = _slice.Count;
+					for (int i = 0; i < co; i++)
+					{
+						var p = q * _slice[i];
+						vl.Add(p + current);
+						if (i == co - 1) //last item capped
+						{
+							edges.Add(p + current);
+						}
+					}
+				}
+
+				if (md.Triangles.Count == 0)
+				{
+					md.Triangles.Add(new List<int>());
+				}
+				md.Vertices.Capacity = md.Vertices.Count + (vl.Count - _sliceCount) * 4;
+				md.Normals.Capacity = md.Normals.Count + (vl.Count - _sliceCount) * 4;
+				md.Triangles.Capacity = md.Triangles.Count + (vl.Count - _sliceCount) * 6;
+				
+				var uvDist = 0f;
+				float edMag = 0f, h = 0f;
+				co = 0;
+				Vector3 norm;
+
+				for (int i = 0; i < _counter - 1; i++)
+				{
+					for (int j = 0; j < _sliceCount - 1; j++)
+					{
+						var ind = i * _sliceCount + j;
+						var ed = vl[ind + _sliceCount] - vl[ind];
+						edMag = ed.magnitude;
+						co = md.Vertices.Count;
+						norm = Vector3.Cross(vl[ind] - vl[ind + 1], vl[ind + _sliceCount] - vl[ind]).normalized;
+						md.Vertices.Add(vl[ind]);
+						md.Vertices.Add(vl[ind + 1]);
+						md.Vertices.Add(vl[ind + _sliceCount]);
+						md.Vertices.Add(vl[ind + _sliceCount + 1]);
+
+						h = (float)j / _sliceCount;
+
+						md.UV[0].Add(new Vector2(uvDist, ((float)j - 1) / _sliceCount));
+						md.UV[0].Add(new Vector2(uvDist, h));
+						md.UV[0].Add(new Vector2(uvDist + edMag, ((float)j - 1) / _sliceCount));
+						md.UV[0].Add(new Vector2(uvDist + edMag, h));
+
+						md.Tangents.Add(new Vector4(ed.normalized.x, ed.normalized.y, ed.normalized.z, 1));
+						md.Tangents.Add(new Vector4(ed.normalized.x, ed.normalized.y, ed.normalized.z, 1));
+						md.Tangents.Add(new Vector4(ed.normalized.x, ed.normalized.y, ed.normalized.z, 1));
+						md.Tangents.Add(new Vector4(ed.normalized.x, ed.normalized.y, ed.normalized.z, 1));
+
+						md.Normals.Add(norm);
+						md.Normals.Add(norm);
+						md.Normals.Add(norm);
+						md.Normals.Add(norm);
+
+						md.Triangles[0].Add(co);
+						md.Triangles[0].Add(co + 2);
+						md.Triangles[0].Add(co + 1);
+
+						md.Triangles[0].Add(co + 1);
+						md.Triangles[0].Add(co + 2);
+						md.Triangles[0].Add(co + 3);
+					}
+					uvDist += edMag;
+				}
+
+				if (_closeEdges && edges.Count > 2)
+				{
+					if (md.Triangles.Count < 2)
+					{
+						md.Triangles.Add(new List<int>());
+					}
+
+					var flatData = EarcutLibrary.Flatten(new List<List<Vector3>>() { edges });
+					var result = EarcutLibrary.Earcut(flatData.Vertices, flatData.Holes, flatData.Dim);
+
+					md.Triangles[1].AddRange(result.Select(x => md.Vertices.Count + x).ToList());
+					for (int i = 0; i < edges.Count; i++)
+					{
+						md.Vertices.Add(edges[i]);
+						md.Normals.Add(Constants.Math.Vector3Up);
+						md.UV[0].Add(new Vector2(edges[i].x, edges[i].z));
+						md.Tangents.Add(new Vector4(1,0,0,1));
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LoftModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LoftModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c8a1be802a67a0f2e764877414b866c08214ae41
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/LoftModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 634e53b543236f246833fc88fea03aa0
+timeCreated: 1507750860
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1108f03eac09e98f798a6f1a67de9dcabc857030
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs
@@ -0,0 +1,213 @@
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Assets.Mapbox.Unity.MeshGeneration.Modifiers.MeshModifiers;
+	using System;
+
+	/// <summary>
+	/// Polygon modifier creates the polygon (vertex&triangles) using the original vertex list.
+	/// Currently uses Triangle.Net for triangulation, which occasionally adds extra vertices to maintain a good triangulation so output vertex list might not be exactly same as the original vertex list.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Polygon Mesh Modifier")]
+	public class PolygonMeshModifier : MeshGenerationBase
+	{
+		public override ModifierType Type
+		{
+			get { return ModifierType.Preprocess; }
+		}
+
+		private UVModifierOptions _options;
+		private Vector3 _v1, _v2;
+
+		#region Atlas Fields
+
+		private Vector3 _vert;
+		private AtlasEntity _currentFacade;
+		private Quaternion _textureDirection;
+		private Vector2[] _textureUvCoordinates;
+		private Vector3 _vertexRelativePos;
+		private Vector3 _firstVert;
+
+		private float minx;
+		private float miny;
+		private float maxx;
+		private float maxy;
+
+		#endregion
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			_options = (UVModifierOptions) properties;
+			_options.PropertyHasChanged += UpdateModifier;
+		}
+
+		public override void UnbindProperties()
+		{
+			_options.PropertyHasChanged -= UpdateModifier;
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			if (Criteria != null && Criteria.Count > 0)
+			{
+				foreach (var criterion in Criteria)
+				{
+					if (criterion.ShouldReplaceFeature(feature))
+					{
+						return;
+					}
+				}
+			}
+
+			var _counter = feature.Points.Count;
+			var subset = new List<List<Vector3>>(_counter);
+			Data flatData = null;
+			List<int> result = null;
+			var currentIndex = 0;
+			int vertCount = 0, polygonVertexCount = 0;
+			List<int> triList = null;
+			List<Vector3> sub = null;
+
+
+
+			for (int i = 0; i < _counter; i++)
+			{
+				sub = feature.Points[i];
+				//earcut is built to handle one polygon with multiple holes
+				//point data can contain multiple polygons though, so we're handling them separately here
+
+				vertCount = md.Vertices.Count;
+				if (IsClockwise(sub) && vertCount > 0)
+				{
+					flatData = EarcutLibrary.Flatten(subset);
+					result = EarcutLibrary.Earcut(flatData.Vertices, flatData.Holes, flatData.Dim);
+					polygonVertexCount = result.Count;
+					if (triList == null)
+					{
+						triList = new List<int>(polygonVertexCount);
+					}
+					else
+					{
+						triList.Capacity = triList.Count + polygonVertexCount;
+					}
+
+					for (int j = 0; j < polygonVertexCount; j++)
+					{
+						triList.Add(result[j] + currentIndex);
+					}
+
+					currentIndex = vertCount;
+					subset.Clear();
+				}
+
+				subset.Add(sub);
+
+				polygonVertexCount = sub.Count;
+				md.Vertices.Capacity = md.Vertices.Count + polygonVertexCount;
+				md.Normals.Capacity = md.Normals.Count + polygonVertexCount;
+				md.Edges.Capacity = md.Edges.Count + polygonVertexCount * 2;
+				var _size = md.TileRect.Size;
+
+				for (int j = 0; j < polygonVertexCount; j++)
+				{
+					md.Edges.Add(vertCount + ((j + 1) % polygonVertexCount));
+					md.Edges.Add(vertCount + j);
+					md.Vertices.Add(sub[j]);
+					md.Tangents.Add(Constants.Math.Vector3Forward);
+					md.Normals.Add(Constants.Math.Vector3Up);
+
+					if (_options.style == StyleTypes.Satellite)
+					{
+						var fromBottomLeft = new Vector2(
+							(float) (((sub[j].x + md.PositionInTile.x) / tile.TileScale + _size.x / 2) / _size.x),
+							(float) (((sub[j].z + md.PositionInTile.z) / tile.TileScale + _size.x / 2) / _size.x));
+						md.UV[0].Add(fromBottomLeft);
+					}
+					else if (_options.texturingType == UvMapType.Tiled)
+					{
+						md.UV[0].Add(new Vector2(sub[j].x, sub[j].z));
+					}
+				}
+			}
+
+			flatData = EarcutLibrary.Flatten(subset);
+			result = EarcutLibrary.Earcut(flatData.Vertices, flatData.Holes, flatData.Dim);
+			polygonVertexCount = result.Count;
+
+			if (_options.texturingType == UvMapType.Atlas || _options.texturingType == UvMapType.AtlasWithColorPalette)
+			{
+				_currentFacade = _options.atlasInfo.Roofs[UnityEngine.Random.Range(0, _options.atlasInfo.Roofs.Count)];
+
+				minx = float.MaxValue;
+				miny = float.MaxValue;
+				maxx = float.MinValue;
+				maxy = float.MinValue;
+
+				_textureUvCoordinates = new Vector2[md.Vertices.Count];
+				_textureDirection = Quaternion.FromToRotation((md.Vertices[0] - md.Vertices[1]), Mapbox.Unity.Constants.Math.Vector3Right);
+				_textureUvCoordinates[0] = new Vector2(0, 0);
+				_firstVert = md.Vertices[0];
+				for (int i = 1; i < md.Vertices.Count; i++)
+				{
+					_vert = md.Vertices[i];
+					_vertexRelativePos = _vert - _firstVert;
+					_vertexRelativePos = _textureDirection * _vertexRelativePos;
+					_textureUvCoordinates[i] = new Vector2(_vertexRelativePos.x, _vertexRelativePos.z);
+					if (_vertexRelativePos.x < minx)
+						minx = _vertexRelativePos.x;
+					if (_vertexRelativePos.x > maxx)
+						maxx = _vertexRelativePos.x;
+					if (_vertexRelativePos.z < miny)
+						miny = _vertexRelativePos.z;
+					if (_vertexRelativePos.z > maxy)
+						maxy = _vertexRelativePos.z;
+				}
+
+				var width = maxx - minx;
+				var height = maxy - miny;
+
+				for (int i = 0; i < md.Vertices.Count; i++)
+				{
+					md.UV[0].Add(new Vector2(
+						(((_textureUvCoordinates[i].x - minx) / width) * _currentFacade.TextureRect.width) + _currentFacade.TextureRect.x,
+						(((_textureUvCoordinates[i].y - miny) / height) * _currentFacade.TextureRect.height) + _currentFacade.TextureRect.y));
+				}
+			}
+
+			if (triList == null)
+			{
+				triList = new List<int>(polygonVertexCount);
+			}
+			else
+			{
+				triList.Capacity = triList.Count + polygonVertexCount;
+			}
+
+			for (int i = 0; i < polygonVertexCount; i++)
+			{
+				triList.Add(result[i] + currentIndex);
+			}
+
+			md.Triangles.Add(triList);
+		}
+
+
+		private bool IsClockwise(IList<Vector3> vertices)
+		{
+			double sum = 0.0;
+			var _counter = vertices.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				_v1 = vertices[i];
+				_v2 = vertices[(i + 1) % _counter];
+				sum += (_v2.x - _v1.x) * (_v2.z + _v1.z);
+			}
+
+			return sum > 0.0;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..94a0cfb394d60597ad83f02276bbd0e4e63bbd83
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/PolygonMeshModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6c7ba03c743d46c4a99f4971c74f7cbd
+timeCreated: 1478553093
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureCollectionModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureCollectionModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bbeae6099c30b99f94cc785b471abb1c03a9e8ee
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureCollectionModifier.cs
@@ -0,0 +1,147 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using UnityEngine;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.Map;
+	using System;
+
+	[System.Serializable]
+	public class FeatureBundle
+	{
+		//public name param will be displayed in inspector list ui instead of element x...
+		[HideInInspector] public string Name;
+
+		public bool active;
+
+		public GameObject prefab;
+		public bool scaleDownWithWorld = true;
+
+		[Geocode] public List<string> _prefabLocations = new List<string>();
+
+		public List<string> _explicitlyBlockedFeatureIds = new List<string>();
+	}
+
+	/// <summary>
+	/// ReplaceFeatureCollectionModifier aggregates multiple ReplaceFeatureModifier objects into one modifier.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Replace Feature Collection Modifier")]
+	public class ReplaceFeatureCollectionModifier : GameObjectModifier, IReplacementCriteria
+	{
+		public List<FeatureBundle> features = new List<FeatureBundle>();
+
+		private List<ReplaceFeatureModifier> _replaceFeatureModifiers;
+
+		//update all names to make inspector look better...
+		private void OnValidate()
+		{
+			for (int i = 0; i < features.Count; i++)
+			{
+				features[i].Name = (features[i].prefab == null) ? "Feature" : features[i].prefab.name;
+			}
+		}
+
+		public override void Initialize()
+		{
+			base.Initialize();
+
+			if (_replaceFeatureModifiers != null && _replaceFeatureModifiers.Count > 0)
+			{
+				foreach (var replaceFeatureModifier in _replaceFeatureModifiers)
+				{
+					if (replaceFeatureModifier != null)
+					{
+						replaceFeatureModifier.Clear();
+					}
+				}
+			}
+
+			_replaceFeatureModifiers = new List<ReplaceFeatureModifier>();
+			foreach (FeatureBundle feature in features)
+			{
+				ReplaceFeatureModifier replaceFeatureModifier = ScriptableObject.CreateInstance<ReplaceFeatureModifier>();
+
+				replaceFeatureModifier.Active = feature.active;
+				replaceFeatureModifier.SpawnPrefabOptions = new SpawnPrefabOptions()
+				{
+					prefab = feature.prefab,
+					scaleDownWithWorld = feature.scaleDownWithWorld
+				};
+				replaceFeatureModifier.PrefabLocations = new List<string>(feature._prefabLocations);
+				replaceFeatureModifier.BlockedIds = new List<string>(feature._explicitlyBlockedFeatureIds);
+				replaceFeatureModifier.Initialize();
+
+				_replaceFeatureModifiers.Add(replaceFeatureModifier);
+			}
+		}
+
+		public override void FeaturePreProcess(VectorFeatureUnity feature)
+		{
+			foreach (ReplaceFeatureModifier modifier in _replaceFeatureModifiers)
+			{
+				if (modifier == null)
+				{
+					continue;
+				}
+
+				modifier.FeaturePreProcess(feature);
+			}
+		}
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			foreach (ReplaceFeatureModifier modifier in _replaceFeatureModifiers)
+			{
+				if (modifier == null)
+				{
+					continue;
+				}
+
+				modifier.SetProperties(properties);
+			}
+		}
+
+		public bool ShouldReplaceFeature(VectorFeatureUnity feature)
+		{
+			foreach (ReplaceFeatureModifier modifier in _replaceFeatureModifiers)
+			{
+				if (modifier == null)
+				{
+					continue;
+				}
+
+				if (modifier.ShouldReplaceFeature(feature))
+				{
+					return true;
+				}
+			}
+
+			return false;
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			foreach (ReplaceFeatureModifier modifier in _replaceFeatureModifiers)
+			{
+				modifier.Run(ve, tile);
+			}
+		}
+
+		public override void OnPoolItem(VectorEntity vectorEntity)
+		{
+			foreach (ReplaceFeatureModifier modifier in _replaceFeatureModifiers)
+			{
+				modifier.OnPoolItem(vectorEntity);
+			}
+		}
+
+		public override void Clear()
+		{
+			foreach (var subModules in _replaceFeatureModifiers)
+			{
+				subModules.Clear();
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureCollectionModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureCollectionModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2d604b2f4de6f97d1fb1c6265aae7748c34d0ba6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureCollectionModifier.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 13ade7ea2a146442b9575619cf724737
+timeCreated: 1530570387
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bde4d0c5aa5367d824c2b302980307be58061540
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureModifier.cs
@@ -0,0 +1,331 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+	using Mapbox.Unity.Map;
+	using Mapbox.Utils;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.VectorTile.Geometry;
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+
+
+
+	/// <summary>
+	/// ReplaceBuildingFeatureModifier takes in POIs and checks if the feature layer has those points and deletes them
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Replace Feature Modifier")]
+	public class ReplaceFeatureModifier : GameObjectModifier, IReplacementCriteria
+	{
+
+		private List<Vector2d> _latLonToSpawn;
+
+		private Dictionary<ulong, GameObject> _objects;
+		private Dictionary<ulong, Vector2d> _objectPosition;
+		private static GameObject _poolGameObject;
+		[SerializeField]
+		private SpawnPrefabOptions _options;
+		private List<GameObject> _prefabList = new List<GameObject>();
+
+		[SerializeField]
+		[Geocode]
+		private List<string> _prefabLocations;
+
+		[SerializeField]
+		private List<string> _explicitlyBlockedFeatureIds;
+		//maximum distance to trigger feature replacement ( in tile space )
+		private const float _maxDistanceToBlockFeature_tilespace = 1000f;
+
+		/// <summary>
+		/// List of featureIds to test against. 
+		/// We need a list of featureIds per location. 
+		/// A list is required since buildings on tile boundary will have multiple id's for the same feature.
+		/// </summary>
+		private List<List<string>> _featureId;
+		private string _tempFeatureId;
+
+		private static AbstractMap _abstractMap;
+
+		public SpawnPrefabOptions SpawnPrefabOptions
+		{
+			set
+			{
+				_options = value;
+			}
+		}
+
+		public List<string> PrefabLocations
+		{
+			set
+			{
+				_prefabLocations = value;
+			}
+		}
+
+		public List<string> BlockedIds
+		{
+			set
+			{
+				_explicitlyBlockedFeatureIds = value;
+			}
+		}
+
+		public override void Initialize()
+		{
+			base.Initialize();
+			//duplicate the list of lat/lons to track which coordinates have already been spawned
+
+			_featureId = new List<List<string>>();
+
+			for (int i = 0; i < _prefabLocations.Count; i++)
+			{
+				_featureId.Add(new List<string>());
+			}
+			if (_objects == null)
+			{
+				_objects = new Dictionary<ulong, GameObject>();
+				_objectPosition = new Dictionary<ulong, Vector2d>();
+				if(_poolGameObject == null)
+				{
+					_poolGameObject = new GameObject("_inactive_prefabs_pool");
+				}
+				if(_abstractMap == null)
+				{
+					_abstractMap = FindObjectOfType<AbstractMap>();
+				}
+				if(_abstractMap != null)
+				{
+					_poolGameObject.transform.SetParent(_abstractMap.transform, true);
+				}
+			}
+			_latLonToSpawn = new List<Vector2d>();
+			foreach (var loc in _prefabLocations)
+			{
+				_latLonToSpawn.Add(Conversions.StringToLatLon(loc));
+			}
+		}
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			_options = (SpawnPrefabOptions)properties;
+		}
+
+		public override void FeaturePreProcess(VectorFeatureUnity feature)
+		{
+			int index = -1;
+			foreach (var point in _prefabLocations)
+			{
+				try
+				{
+					index++;
+					var coord = Conversions.StringToLatLon(point);
+					if (feature.ContainsLatLon(coord) && (feature.Data.Id != 0))
+					{
+						_featureId[index] = (_featureId[index] == null) ? new List<string>() : _featureId[index];
+						_tempFeatureId = feature.Data.Id.ToString();
+						string idCandidate = (_tempFeatureId.Length <= 3) ? _tempFeatureId : _tempFeatureId.Substring(0, _tempFeatureId.Length - 3);
+						_featureId[index].Add(idCandidate);
+					}
+				}
+				catch (Exception e)
+				{
+					Debug.LogException(e);
+				}
+			}
+		}
+
+		/// <summary>
+		/// Check the feature against the list of lat/lons in the modifier
+		/// </summary>
+		/// <returns><c>true</c>, if the feature overlaps with a lat/lon in the modifier <c>false</c> otherwise.</returns>
+		/// <param name="feature">Feature.</param>
+		public bool ShouldReplaceFeature(VectorFeatureUnity feature)
+		{
+			int index = -1;
+
+			//preventing spawning of explicitly blocked features
+			foreach (var blockedId in _explicitlyBlockedFeatureIds)
+			{
+				if (feature.Data.Id.ToString() == blockedId)
+				{
+					return true;
+				}
+			}
+
+			foreach (var point in _prefabLocations)
+			{
+				try
+				{
+					index++;
+					if (_featureId[index] != null)
+					{
+						foreach (var featureId in _featureId[index])
+						{
+							var latlngVector = Conversions.StringToLatLon(point);
+							var from = Conversions.LatLonToMeters(latlngVector.x, latlngVector.y);
+							var to = new Vector2d((feature.Points[0][0].x / feature.Tile.TileScale) + feature.Tile.Rect.Center.x, (feature.Points[0][0].z / feature.Tile.TileScale) + feature.Tile.Rect.Center.y);
+							var dist = Vector2d.Distance(from, to);
+							if (dist > 500)
+							{
+								return false;
+							}
+							if (feature.Data.Id.ToString().StartsWith(featureId, StringComparison.CurrentCulture))
+							{
+								return true;
+							}
+						}
+					}
+				}
+				catch (Exception e)
+				{
+					Debug.LogException(e);
+				}
+
+			}
+			return false;
+		}
+
+		public override void Run(VectorEntity ve, UnityTile tile)
+		{
+			//replace the feature only once per lat/lon
+			Vector2d latLong = Vector2d.zero;
+			if (ShouldSpawnFeature(ve.Feature, out latLong))
+			{
+				SpawnPrefab(ve, tile, latLong);
+			}
+		}
+
+		private void SpawnPrefab(VectorEntity ve, UnityTile tile, Vector2d latLong)
+		{
+			GameObject go;
+
+			var featureId = ve.Feature.Data.Id;
+			if (_objects.ContainsKey(featureId))
+			{
+				go = _objects[featureId];
+				go.SetActive(true);
+				go.transform.SetParent(ve.GameObject.transform, false);
+
+			}
+			else
+			{
+				go = Instantiate(_options.prefab);
+				_prefabList.Add(go);
+				_objects.Add(featureId, go);
+				_objectPosition.Add(featureId, latLong);
+				go.transform.SetParent(ve.GameObject.transform, false);
+			}
+
+			PositionScaleRectTransform(ve, tile, go, latLong);
+
+			if (_options.AllPrefabsInstatiated != null)
+			{
+				_options.AllPrefabsInstatiated(_prefabList);
+			}
+		}
+
+		public void PositionScaleRectTransform(VectorEntity ve, UnityTile tile, GameObject go, Vector2d latLong)
+		{
+			go.transform.localScale = _options.prefab.transform.localScale;
+			RectTransform goRectTransform;
+			IFeaturePropertySettable settable = null;
+			var latLongPosition = new Vector3();
+			var centroidVector = new Vector3();
+			foreach (var point in ve.Feature.Points[0])
+			{
+				centroidVector += point;
+			}
+			centroidVector = centroidVector / ve.Feature.Points[0].Count;
+
+			latLongPosition = Conversions.LatitudeLongitudeToUnityTilePosition(latLong, tile.CurrentZoom, tile.TileScale, 4096).ToVector3xz();
+			latLongPosition.y = centroidVector.y;
+
+			go.name = ve.Feature.Data.Id.ToString();
+
+			goRectTransform = go.GetComponent<RectTransform>();
+			if (goRectTransform == null)
+			{
+				go.transform.localPosition = centroidVector;
+			}
+			else
+			{
+				goRectTransform.anchoredPosition3D = centroidVector;
+			}
+
+			settable = go.GetComponent<IFeaturePropertySettable>();
+			if (settable != null)
+			{
+				settable.Set(ve.Feature.Properties);
+			}
+
+			if (_options.scaleDownWithWorld)
+			{
+				go.transform.localScale = (go.transform.localScale * (tile.TileScale));
+			}
+		}
+
+		/// <summary>
+		/// Checks if the feature should be used to spawn a prefab, once per lat/lon
+		/// </summary>
+		/// <returns><c>true</c>, if the feature should be spawned <c>false</c> otherwise.</returns>
+		/// <param name="feature">Feature.</param>
+		private bool ShouldSpawnFeature(VectorFeatureUnity feature, out Vector2d latLong)
+		{
+			latLong = Vector2d.zero;
+			if (feature == null)
+			{
+				return false;
+			}
+
+			if (_objects.ContainsKey(feature.Data.Id))
+			{
+				_objectPosition.TryGetValue(feature.Data.Id, out latLong);
+				_latLonToSpawn.Remove(latLong);
+				return true;
+			}
+
+			foreach (var point in _latLonToSpawn)
+			{
+				if (feature.ContainsLatLon(point))
+				{
+					_latLonToSpawn.Remove(point);
+					latLong = point;
+					return true;
+				}
+			}
+
+			return false;
+		}
+		public override void OnPoolItem(VectorEntity vectorEntity)
+		{
+			base.OnPoolItem(vectorEntity);
+			var featureId = vectorEntity.Feature.Data.Id;
+
+			if (!_objects.ContainsKey(featureId))
+			{
+				return;
+			}
+
+			var go = _objects[featureId];
+			if (go == null || _poolGameObject == null)
+			{
+				return;
+			}
+
+			go.SetActive(false);
+			go.transform.SetParent(_poolGameObject.transform, false);
+		}
+
+		public override void Clear()
+		{
+			foreach (var gameObject in _objects.Values)
+			{
+				gameObject.Destroy();
+			}
+			_objects.Clear();
+			_objectPosition.Clear();
+			_poolGameObject.Destroy();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d1bdf9e9a1a823726c837066141420303c14b11c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/ReplaceFeatureModifier.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: f386309a8f86f48aaabbbd02b9f95059
+timeCreated: 1525817443
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9263d20b7f6088584eb3250da738f272ca7ad7b7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.MeshGeneration.Data;
+
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+    [CreateAssetMenu(menuName = "Mapbox/Modifiers/Smooth Line Modifier")]
+    public class SmoothLineModifier : MeshModifier
+    {
+        public override ModifierType Type { get { return ModifierType.Preprocess; } }
+
+        public int _maxEdgeSectionCount = 40;
+        public int _preferredEdgeSectionLength = 10;
+		private int _counter, _counter2;
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+        {
+			_counter = feature.Points.Count;
+
+			for (int i = 0; i < _counter; i++)
+            {
+                var nl = new List<Vector3>();
+				_counter2 = feature.Points[i].Count;
+				for (int j = 1; j < _counter2; j++)
+                {
+                    nl.Add(feature.Points[i][j - 1]);
+                    var dist = Vector3.Distance(feature.Points[i][j - 1], feature.Points[i][j]);
+                    var step = Math.Min(_maxEdgeSectionCount, dist / _preferredEdgeSectionLength);
+                    if (step > 1)
+                    {
+                        var counter = 1;
+                        while (counter < step)
+                        {
+                            var nv = Vector3.Lerp(feature.Points[i][j - 1], feature.Points[i][j], Mathf.Min(1, counter / step));
+                            nl.Add(nv);
+                            counter++;
+                        }
+                    }
+                    nl.Add(feature.Points[i][j]);
+                }
+                feature.Points[i] = nl;
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b73eecef03cf3905e2f07595fca861c77e779646
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SmoothLineModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9558f79dbf9b00d488e061a68f8394aa
+timeCreated: 1492731089
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b70095725263159592eefd8156bf5ac5c29c4ddc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs
@@ -0,0 +1,46 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Snap Terrain Modifier")]
+	public class SnapTerrainModifier : MeshModifier
+	{
+		public override ModifierType Type { get { return ModifierType.Preprocess; } }
+
+		private double scaledX;
+		private double scaledY;
+		private int _counter;
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			scaledX = tile.Rect.Size.x * tile.TileScale;
+			scaledY = tile.Rect.Size.y * tile.TileScale;
+			_counter = md.Vertices.Count;
+			if (_counter > 0)
+			{
+				for (int i = 0; i < _counter; i++)
+				{
+					var h = tile.QueryHeightData(
+						(float)((md.Vertices[i].x + md.PositionInTile.x + scaledX / 2) / scaledX),
+						(float)((md.Vertices[i].z + md.PositionInTile.z + scaledY / 2) / scaledY));
+					md.Vertices[i] += new Vector3(0, h, 0);
+				}
+			}
+			else
+			{
+				foreach (var sub in feature.Points)
+				{
+					_counter = sub.Count;
+					for (int i = 0; i < _counter; i++)
+					{
+						var h = tile.QueryHeightData(
+							(float)((sub[i].x + md.PositionInTile.x + scaledX / 2) / scaledX), 
+							(float)((sub[i].z + md.PositionInTile.z + scaledY / 2) / scaledY));
+						sub[i] += new Vector3(0, h, 0);
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cca88cb7526cbaddde57297631109a3233c083c9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 40bee3110109c0848bb86c9b5c436039
+timeCreated: 1492732222
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainRaycastModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainRaycastModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..986f097b9b109fe3c01990bb9b67559f8c34698e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainRaycastModifier.cs
@@ -0,0 +1,54 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using UnityEngine;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Snap Terrain Raycast Modifier")]
+	public class SnapTerrainRaycastModifier : MeshModifier
+	{
+		private const int RAY_LENGTH = 50;
+
+		[SerializeField]
+		private LayerMask _terrainMask;
+		private double scaledX;
+		private double scaledY;
+
+		public override ModifierType Type
+		{
+			get { return ModifierType.Preprocess; }
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			scaledX = tile.Rect.Size.x * tile.TileScale;
+			scaledY = tile.Rect.Size.y * tile.TileScale;
+
+			foreach (var sub in feature.Points)
+			{
+				for (int i = 0; i < sub.Count; i++)
+				{
+					var h = tile.QueryHeightData((float)((sub[i].x + md.PositionInTile.x + scaledX / 2) / scaledX), (float)((sub[i].z + md.PositionInTile.z + scaledY / 2) / scaledY));
+
+					RaycastHit hit;
+					Vector3 rayCenter =
+						new Vector3(sub[i].x + md.PositionInTile.x + tile.transform.position.x,
+							h + RAY_LENGTH / 2,
+							sub[i].z + md.PositionInTile.z + tile.transform.position.z);
+
+
+
+					if (Physics.Raycast(rayCenter, Vector3.down, out hit, RAY_LENGTH * 5, _terrainMask))
+					{
+						sub[i] += new Vector3(0, hit.point.y + md.PositionInTile.y - tile.transform.position.y, 0);
+					}
+					else
+					{
+						// Raycasting sometimes fails at terrain boundaries, fallback to tile height data.
+						sub[i] += new Vector3(0, h, 0);
+					}
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainRaycastModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainRaycastModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c3cba2bdab69c19fc4dac913db4c4d407414f08d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/SnapTerrainRaycastModifier.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 41aa014e797344c2c99c979bad017646
+timeCreated: 1492732222
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ba265ff319bc7ae504041583ac6f2cee16b61b7d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs
@@ -0,0 +1,121 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System;
+	using Mapbox.Unity.Map;
+	using Mapbox.Utils;
+
+	/// <summary>
+	/// UV Modifier works only with (and right after) Polygon Modifier and not with Line Mesh Modifier.
+	/// If UseSatelliteRoof parameter is false, it creates a tiled UV map, otherwise it creates a stretched UV map.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/UV Modifier")]
+	public class UvModifier : MeshModifier
+	{
+		UVModifierOptions _options;
+		public override ModifierType Type { get { return ModifierType.Preprocess; } }
+
+		private int _mdVertexCount;
+		private Vector2d _size;
+		private Vector3 _vert;
+		private List<Vector2> _uv = new List<Vector2>();
+
+		#region Atlas Fields
+		private AtlasEntity _currentFacade;
+		private Quaternion _textureDirection;
+		private Vector2[] _textureUvCoordinates;
+		private Vector3 _vertexRelativePos;
+		private Vector3 _firstVert;
+
+		private float minx;
+		private float miny;
+		private float maxx;
+		private float maxy;
+		#endregion
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			_options = (UVModifierOptions)properties;
+			_options.PropertyHasChanged += UpdateModifier;
+		}
+
+		public override void UnbindProperties()
+		{
+			_options.PropertyHasChanged -= UpdateModifier;
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			if (md.Vertices.Count == 0 || feature == null || feature.Points.Count < 1)
+			{
+				return;
+			}
+
+			_uv.Clear();
+			_mdVertexCount = md.Vertices.Count;
+			_size = md.TileRect.Size;
+
+			if (_options.texturingType != UvMapType.Atlas && _options.texturingType != UvMapType.AtlasWithColorPalette)
+			{
+				for (int i = 0; i < _mdVertexCount; i++)
+				{
+					_vert = md.Vertices[i];
+
+					if (_options.style == StyleTypes.Satellite)
+					{
+						var fromBottomLeft = new Vector2((float)(((_vert.x + md.PositionInTile.x) / tile.TileScale + _size.x / 2) / _size.x),
+							(float)(((_vert.z + md.PositionInTile.z) / tile.TileScale + _size.x / 2) / _size.x));
+						_uv.Add(fromBottomLeft);
+					}
+					else if (_options.texturingType == UvMapType.Tiled)
+					{
+						_uv.Add(new Vector2(_vert.x, _vert.z));
+					}
+				}
+			}
+			else if (_options.texturingType == UvMapType.Atlas || _options.texturingType == UvMapType.AtlasWithColorPalette)
+			{
+				_currentFacade = _options.atlasInfo.Roofs[UnityEngine.Random.Range(0, _options.atlasInfo.Roofs.Count)];
+
+				minx = float.MaxValue;
+				miny = float.MaxValue;
+				maxx = float.MinValue;
+				maxy = float.MinValue;
+
+				_textureUvCoordinates = new Vector2[_mdVertexCount];
+				_textureDirection = Quaternion.FromToRotation((md.Vertices[0] - md.Vertices[1]), Mapbox.Unity.Constants.Math.Vector3Right);
+				_textureUvCoordinates[0] = new Vector2(0, 0);
+				_firstVert = md.Vertices[0];
+				for (int i = 1; i < _mdVertexCount; i++)
+				{
+					_vert = md.Vertices[i];
+					_vertexRelativePos = _vert - _firstVert;
+					_vertexRelativePos = _textureDirection * _vertexRelativePos;
+					_textureUvCoordinates[i] = new Vector2(_vertexRelativePos.x, _vertexRelativePos.z);
+					if (_vertexRelativePos.x < minx)
+						minx = _vertexRelativePos.x;
+					if (_vertexRelativePos.x > maxx)
+						maxx = _vertexRelativePos.x;
+					if (_vertexRelativePos.z < miny)
+						miny = _vertexRelativePos.z;
+					if (_vertexRelativePos.z > maxy)
+						maxy = _vertexRelativePos.z;
+				}
+
+				var width = maxx - minx;
+				var height = maxy - miny;
+
+				for (int i = 0; i < _mdVertexCount; i++)
+				{
+					_uv.Add(new Vector2(
+						(((_textureUvCoordinates[i].x - minx) / width) * _currentFacade.TextureRect.width) + _currentFacade.TextureRect.x,
+						(((_textureUvCoordinates[i].y - miny) / height) * _currentFacade.TextureRect.height) + _currentFacade.TextureRect.y));
+				}
+			}
+
+			md.UV[0].AddRange(_uv);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a8fe21a8e1cf4bc535d3de0952fcd42a7e46b284
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/MeshModifiers/UvModifier.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 059a0278fa9c44be087aad07dbf4fdf9
+timeCreated: 1544732618
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierBase.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..441539e6ab9fdea90a6cc2bb3371da15613d7598
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierBase.cs
@@ -0,0 +1,70 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using UnityEngine;
+	using System;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+
+	[Serializable]
+	public abstract class ModifierProperties : MapboxDataProperty
+	{
+		public abstract Type ModifierType
+		{
+			get;
+		}
+		public virtual void UpdateProperty(LayerVisualizerBase layerVisualizer)
+		{
+
+		}
+		public override bool HasChanged
+		{
+			set
+			{
+				if (value == true)
+				{
+					OnPropertyHasChanged(new VectorLayerUpdateArgs { property = this });
+				}
+			}
+		}
+	}
+
+	public class ModifierBase : ScriptableObject
+	{
+		[SerializeField]
+		public bool Active = true;
+
+		public virtual void SetProperties(ModifierProperties properties)
+		{
+
+		}
+		public virtual void Initialize()
+		{
+
+		}
+
+		public virtual void FeaturePreProcess(VectorFeatureUnity feature)
+		{
+
+		}
+
+		public virtual void UnbindProperties()
+		{
+
+		}
+		public virtual void UpdateModifier(object sender, System.EventArgs layerArgs)
+		{
+			NotifyUpdateModifier(new VectorLayerUpdateArgs { property = sender as MapboxDataProperty, modifier = this });
+		}
+
+		public event System.EventHandler ModifierHasChanged;
+		protected virtual void NotifyUpdateModifier(VectorLayerUpdateArgs layerUpdateArgs)
+		{
+			System.EventHandler handler = ModifierHasChanged;
+			if (handler != null)
+			{
+				handler(this, layerUpdateArgs);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a3f6f480b05bab69af5615336f843975214ca8c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierBase.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b4cd699dce20d234abbc3b161587b6dc
+timeCreated: 1483668585
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStack.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStack.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0434a87bd61038958fd275c26c847a9ef6a8f0b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStack.cs
@@ -0,0 +1,264 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using UnityEngine;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.MeshGeneration.Components;
+	using System;
+
+	public enum PositionTargetType
+	{
+		TileCenter,
+		FirstVertex,
+		CenterOfVertices
+	}
+
+	/// <summary>
+	/// Modifier Stacks
+	/// Modifier Stack can be thought as styles as as they contain all the data/settings for how the feature will be visualized.
+	/// They also create the game objects in default implementations in the sdk.
+	/// Currently there's two implementations of this; Modifier Stack and Merged Modifier Stack.They work almost exactly same
+	/// (logically) with one difference; modifier stacks creates a game object for each feature while merged modifier stack,
+	/// merges them up as the name suggest and create one game object for multiple(as many as possible) features.Both have
+	/// their advantages but the main factor here is the performance.Regular modifier stack creates individual game object so
+	/// it's easier to interact, move, animate etc features.But if you want to visualize whole San Francisco, that would mean
+	/// just 200k-300k buildings which would hit performance really hard. In such a case, especially if you don't need
+	/// individual interaction or something, you can use merged modifier stack, which will probably be able to create whole
+	/// SF around a few hundred game objects.
+	/// They contain two lists; mesh modifier list and game object modifier list.These modifiers are used to create and
+	/// decorate game objects.
+	/// Mesh modifiers generate data required for the game objects mesh. I.e.polygon mesh modifier triangulates the polygn,
+	/// height modifier extrudes the polygon and adds volume etc, uv modifier changes UV mapping etc.
+	/// Game object modifiers decorate created game objects, like settings material, interaction scripts, animations etc.
+	/// i.e.Material modifier sets materials to mesh and submeshes, highlight modifier adds mouse highlight to features,
+	/// feature behaviour adds a script to keep feature data on game objects etc.
+	/// So the idea here is; run all mesh modifiers first, generate all the data required for mesh.Create game object
+	/// using that mesh data.Run all game object modifiers to decorate that game object.
+	/// </summary>
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Modifier Stack")]
+	public class ModifierStack : ModifierStackBase
+	{
+		[SerializeField] public PositionTargetType moveFeaturePositionTo;
+
+
+		[NonSerialized] private int vertexIndex = 1;
+		[NonSerialized] private Dictionary<UnityTile, List<VectorEntity>> _activeObjects;
+		[NonSerialized] private ObjectPool<VectorEntity> _pool;
+
+		[NonSerialized] private Vector3 _tempPoint;
+		[NonSerialized] private VectorEntity _tempVectorEntity;
+		[NonSerialized] private ObjectPool<List<VectorEntity>> _listPool;
+
+		[NonSerialized] private int _counter;
+		[NonSerialized] private int _secondCounter;
+		protected virtual void OnEnable()
+		{
+			_pool = new ObjectPool<VectorEntity>(() =>
+			{
+				var go = new GameObject();
+				var mf = go.AddComponent<MeshFilter>();
+				mf.sharedMesh = new Mesh();
+				mf.sharedMesh.name = "feature";
+				var mr = go.AddComponent<MeshRenderer>();
+				_tempVectorEntity = new VectorEntity()
+				{
+					GameObject = go,
+					Transform = go.transform,
+					MeshFilter = mf,
+					MeshRenderer = mr,
+					Mesh = mf.sharedMesh
+				};
+				return _tempVectorEntity;
+			});
+			_listPool = new ObjectPool<List<VectorEntity>>(() => { return new List<VectorEntity>(); });
+			_activeObjects = new Dictionary<UnityTile, List<VectorEntity>>();
+		}
+
+		public override void OnUnregisterTile(UnityTile tile)
+		{
+			if (_activeObjects.ContainsKey(tile))
+			{
+				_counter = _activeObjects[tile].Count;
+				for (int i = 0; i < _counter; i++)
+				{
+					foreach (var item in GoModifiers)
+					{
+						item.OnPoolItem(_activeObjects[tile][i]);
+					}
+					if (null != _activeObjects[tile][i].GameObject)
+					{
+						_activeObjects[tile][i].GameObject.SetActive(false);
+					}
+					_pool.Put(_activeObjects[tile][i]);
+				}
+				_activeObjects[tile].Clear();
+
+				//pooling these lists as they'll reused anyway, saving hundreds of list instantiations
+				_listPool.Put(_activeObjects[tile]);
+				_activeObjects.Remove(tile);
+			}
+		}
+
+		public override void Initialize()
+		{
+			base.Initialize();
+
+			_counter = MeshModifiers.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				MeshModifiers[i].Initialize();
+			}
+
+			_counter = GoModifiers.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				GoModifiers[i].Initialize();
+			}
+		}
+
+		public override GameObject Execute(UnityTile tile, VectorFeatureUnity feature, MeshData meshData, GameObject parent = null, string type = "")
+		{
+			_counter = feature.Points.Count;
+			_secondCounter = 0;
+
+			if (moveFeaturePositionTo != PositionTargetType.TileCenter)
+			{
+				_tempPoint = Constants.Math.Vector3Zero;
+				if (moveFeaturePositionTo == PositionTargetType.FirstVertex)
+				{
+					_tempPoint = feature.Points[0][0];
+				}
+				else if (moveFeaturePositionTo == PositionTargetType.CenterOfVertices)
+				{
+					//this is not precisely the center because of the duplicates  (first/last vertex) but close to center
+					_tempPoint = feature.Points[0][0];
+					vertexIndex = 1;
+
+					for (int i = 0; i < _counter; i++)
+					{
+						_secondCounter = feature.Points[i].Count;
+						for (int j = 0; j < _secondCounter; j++)
+						{
+							_tempPoint += feature.Points[i][j];
+							vertexIndex++;
+						}
+					}
+					_tempPoint /= vertexIndex;
+				}
+
+				for (int i = 0; i < _counter; i++)
+				{
+					_secondCounter = feature.Points[i].Count;
+					for (int j = 0; j < _secondCounter; j++)
+					{
+						feature.Points[i][j] = new Vector3(feature.Points[i][j].x - _tempPoint.x, 0, feature.Points[i][j].z - _tempPoint.z);
+					}
+				}
+				meshData.PositionInTile = _tempPoint;
+			}
+
+			meshData.PositionInTile = _tempPoint;
+			_counter = MeshModifiers.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				if (MeshModifiers[i] != null && MeshModifiers[i].Active)
+				{
+					MeshModifiers[i].Run(feature, meshData, tile);
+				}
+			}
+
+			_tempVectorEntity = _pool.GetObject();
+
+			// It is possible that we changed scenes in the middle of map generation.
+			// This object can be null as a result of Unity cleaning up game objects in the scene.
+			// Let's bail if we don't have our object.
+			if (_tempVectorEntity.GameObject == null)
+			{
+				return null;
+			}
+
+			_tempVectorEntity.GameObject.SetActive(true);
+			_tempVectorEntity.Mesh.Clear();
+			_tempVectorEntity.Feature = feature;
+
+#if UNITY_EDITOR
+			if (feature.Data != null)
+			{
+				_tempVectorEntity.GameObject.name = type + " - " + feature.Data.Id;
+			}
+			else
+			{
+				_tempVectorEntity.GameObject.name = type;
+			}
+#endif
+			_tempVectorEntity.Mesh.subMeshCount = meshData.Triangles.Count;
+			_tempVectorEntity.Mesh.SetVertices(meshData.Vertices);
+			_tempVectorEntity.Mesh.SetNormals(meshData.Normals);
+			if (meshData.Tangents.Count > 0)
+			{
+				_tempVectorEntity.Mesh.SetTangents(meshData.Tangents);
+			}
+
+			_counter = meshData.Triangles.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				_tempVectorEntity.Mesh.SetTriangles(meshData.Triangles[i], i);
+			}
+			_counter = meshData.UV.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				_tempVectorEntity.Mesh.SetUVs(i, meshData.UV[i]);
+			}
+
+			_tempVectorEntity.Transform.SetParent(parent.transform, false);
+
+			if (!_activeObjects.ContainsKey(tile))
+			{
+				_activeObjects.Add(tile, _listPool.GetObject());
+			}
+			_activeObjects[tile].Add(_tempVectorEntity);
+
+
+			_tempVectorEntity.Transform.localPosition = meshData.PositionInTile;
+
+			_counter = GoModifiers.Count;
+			for (int i = 0; i < _counter; i++)
+			{
+				if (GoModifiers[i].Active)
+				{
+					GoModifiers[i].Run(_tempVectorEntity, tile);
+				}
+			}
+
+			return _tempVectorEntity.GameObject;
+		}
+
+		public override void Clear()
+		{
+			foreach (var vectorEntity in _pool.GetQueue())
+			{
+				if (vectorEntity.Mesh != null)
+				{
+					vectorEntity.Mesh.Destroy(true);
+				}
+
+				vectorEntity.GameObject.Destroy();
+			}
+
+			foreach (var tileTuple in _activeObjects)
+			{
+				foreach (var vectorEntity in tileTuple.Value)
+				{
+					if (vectorEntity.Mesh != null)
+					{
+						vectorEntity.Mesh.Destroy(true);
+					}
+					vectorEntity.GameObject.Destroy();
+				}
+			}
+			_pool.Clear();
+			_activeObjects.Clear();
+			_pool.Clear();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStack.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStack.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..892a2d811427b0147695f6ce1c70cff6c00ee3b5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStack.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 25f09effe9db3dd4e9e825475d698ca3
+timeCreated: 1485209828
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a68a3715158e7113bb3d1a420ad731c1505a9b54
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs
@@ -0,0 +1,41 @@
+using UnityEngine;
+using System.Collections;
+using Mapbox.Map;
+using Mapbox.Unity.MeshGeneration.Data;
+using System.Collections.Generic;
+using System;
+using Mapbox.Unity.Utilities;
+
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	public class ModifierStackBase : ScriptableObject
+	{
+		[NodeEditorElement("Mesh Modifiers")] public List<MeshModifier> MeshModifiers = new List<MeshModifier>();
+		[NodeEditorElement("Game Object Modifiers")] public List<GameObjectModifier> GoModifiers = new List<GameObjectModifier>();
+
+		public virtual GameObject Execute(UnityTile tile, VectorFeatureUnity feature, MeshData meshData, GameObject parent = null, string type = "")
+		{
+			return null;
+		}
+
+		public virtual void Initialize()
+		{
+
+		}
+
+		public void UnregisterTile(UnityTile tile)
+		{
+			OnUnregisterTile(tile);
+		}
+
+		public virtual void OnUnregisterTile(UnityTile tile)
+		{
+
+		}
+
+		public virtual void Clear()
+		{
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e46720d47f9a370164c83b6b79ebbdfd6edfcabd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/ModifierStackBase.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1d1f69f648851b7449e643a82076ce8c
+timeCreated: 1491774659
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/TextureSideWallModifier.cs b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/TextureSideWallModifier.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9c0f24e91d333015052d6eb15818ea5e23c70169
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/TextureSideWallModifier.cs
@@ -0,0 +1,591 @@
+namespace Mapbox.Unity.MeshGeneration.Modifiers
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using Mapbox.Unity.Map;
+	using System;
+
+	[CreateAssetMenu(menuName = "Mapbox/Modifiers/Textured Side Wall Modifier")]
+	public class TextureSideWallModifier : MeshModifier
+	{
+		#region ModifierOptions
+
+		private float _scaledFirstFloorHeight = 0;
+
+		private float _scaledTopFloorHeight = 0;
+
+		private float _scaledPreferredWallLength;
+		[SerializeField] private bool _centerSegments = true;
+		[SerializeField] private bool _separateSubmesh = true;
+
+		#endregion
+
+		float currentWallLength = 0;
+		Vector3 start = Constants.Math.Vector3Zero;
+		Vector3 wallDirection = Constants.Math.Vector3Zero;
+
+		Vector3 wallSegmentFirstVertex;
+		Vector3 wallSegmentSecondVertex;
+		Vector3 wallSegmentDirection;
+		float wallSegmentLength;
+
+		private AtlasEntity _currentFacade;
+		private Rect _currentTextureRect;
+
+		private float finalFirstHeight;
+		private float finalTopHeight;
+		private float finalMidHeight;
+		private float finalLeftOverRowHeight;
+		private float _scaledFloorHeight;
+		private int triIndex;
+		private Vector3 wallNormal;
+		private List<int> wallTriangles;
+		private float columnScaleRatio;
+		private float rightOfEdgeUv;
+
+		private float currentY1;
+		private float currentY2;
+		private float _wallSizeEpsilon = 0.99f;
+		private float _narrowWallWidthDelta = 0.01f;
+		private float _shortRowHeightDelta = 0.015f;
+
+		GeometryExtrusionWithAtlasOptions _options;
+		private int _counter = 0;
+		private float height = 0.0f;
+		private float _scale = 1f;
+		private float _minWallLength;
+		private float _singleFloorHeight;
+		private float _currentMidHeight;
+		private float _midUvInCurrentStep;
+		private float _singleColumnLength;
+		private float _leftOverColumnLength;
+
+		public override void SetProperties(ModifierProperties properties)
+		{
+			if (properties is GeometryExtrusionWithAtlasOptions)
+			{
+				_options = (GeometryExtrusionWithAtlasOptions)properties;
+			}
+			else if (properties is GeometryExtrusionOptions)
+			{
+				_options = ((GeometryExtrusionOptions)properties).ToGeometryExtrusionWithAtlasOptions();
+			}
+			else if (properties is UVModifierOptions)
+			{
+				_options = ((UVModifierOptions)properties).ToGeometryExtrusionWithAtlasOptions();
+			}
+		}
+
+		public override void UnbindProperties()
+		{
+			_options.PropertyHasChanged -= UpdateModifier;
+		}
+
+		public override void Initialize()
+		{
+			base.Initialize();
+			foreach (var atlasEntity in _options.atlasInfo.Textures)
+			{
+				atlasEntity.CalculateParameters();
+			}
+		}
+
+		public override void UpdateModifier(object sender, System.EventArgs layerArgs)
+		{
+			SetProperties((ModifierProperties)sender);
+			NotifyUpdateModifier(new VectorLayerUpdateArgs { property = sender as MapboxDataProperty, modifier = this });
+		}
+
+		public override void Run(VectorFeatureUnity feature, MeshData md, UnityTile tile = null)
+		{
+			if (md.Vertices.Count == 0 || feature == null || feature.Points.Count < 1)
+				return;
+
+			if (tile != null)
+				_scale = tile.TileScale;
+
+			//facade texture to decorate this building
+			_currentFacade =
+				_options.atlasInfo.Textures[UnityEngine.Random.Range(0, _options.atlasInfo.Textures.Count)];
+			//rect is a struct so we're caching this
+			_currentTextureRect = _currentFacade.TextureRect;
+
+			//this can be moved to initialize or in an if clause if you're sure all your tiles will be same level/scale
+			_singleFloorHeight = (tile.TileScale * _currentFacade.FloorHeight) / _currentFacade.MidFloorCount;
+			_scaledFirstFloorHeight = tile.TileScale * _currentFacade.FirstFloorHeight;
+			_scaledTopFloorHeight = tile.TileScale * _currentFacade.TopFloorHeight;
+			_scaledPreferredWallLength = tile.TileScale * _currentFacade.PreferredEdgeSectionLength;
+			_scaledFloorHeight = _scaledPreferredWallLength * _currentFacade.WallToFloorRatio;
+			_singleColumnLength = _scaledPreferredWallLength / _currentFacade.ColumnCount;
+
+			//read or force height
+			float maxHeight = 1, minHeight = 0;
+
+			//query height and push polygon up to create roof
+			//can we do this vice versa and create roof at last?
+			QueryHeight(feature, md, tile, out maxHeight, out minHeight);
+			maxHeight = maxHeight * _options.extrusionScaleFactor * _scale;
+			minHeight = minHeight * _options.extrusionScaleFactor * _scale;
+			height = (maxHeight - minHeight);
+
+			//we cann GenerateRoofMesh even if extrusion type is sidewall-only
+			//it pushes the vertices to building height, then we clear top polygon triangles
+			//to remove roof.
+			GenerateRoofMesh(md, minHeight, maxHeight);
+			if (_options.extrusionGeometryType == ExtrusionGeometryType.SideOnly)
+			{
+				md.Triangles[0].Clear();
+			}
+
+			if (_options.extrusionGeometryType != ExtrusionGeometryType.RoofOnly)
+			{
+				//limiting section heights, first floor gets priority, then we draw top floor, then mid if we still have space
+				finalFirstHeight = Mathf.Min(height, _scaledFirstFloorHeight);
+				finalTopHeight = (height - finalFirstHeight) < _scaledTopFloorHeight ? 0 : _scaledTopFloorHeight;
+				finalMidHeight = Mathf.Max(0, height - (finalFirstHeight + finalTopHeight));
+				wallTriangles = new List<int>();
+
+				//cuts long edges into smaller ones using PreferredEdgeSectionLength
+				currentWallLength = 0;
+				start = Constants.Math.Vector3Zero;
+				wallSegmentDirection = Constants.Math.Vector3Zero;
+
+				finalLeftOverRowHeight = 0f;
+				if (finalMidHeight > 0)
+				{
+					finalLeftOverRowHeight = finalMidHeight;
+					finalLeftOverRowHeight = finalLeftOverRowHeight % _singleFloorHeight;
+					finalMidHeight -= finalLeftOverRowHeight;
+				}
+				else
+				{
+					finalLeftOverRowHeight = finalTopHeight;
+				}
+
+				for (int i = 0; i < md.Edges.Count; i += 2)
+				{
+					var v1 = md.Vertices[md.Edges[i]];
+					var v2 = md.Vertices[md.Edges[i + 1]];
+
+					wallDirection = v2 - v1;
+
+					currentWallLength = Vector3.Distance(v1, v2);
+					_leftOverColumnLength = currentWallLength % _singleColumnLength;
+					start = v1;
+					wallSegmentDirection = (v2 - v1).normalized;
+
+					//half of leftover column (if _centerSegments ofc) at the begining
+					if (_centerSegments && currentWallLength > _singleColumnLength)
+					{
+						//save left,right vertices and wall length
+						wallSegmentFirstVertex = start;
+						wallSegmentLength = (_leftOverColumnLength / 2);
+						start += wallSegmentDirection * wallSegmentLength;
+						wallSegmentSecondVertex = start;
+
+						_leftOverColumnLength = _leftOverColumnLength / 2;
+						CreateWall(md);
+					}
+
+					while (currentWallLength > _singleColumnLength)
+					{
+						wallSegmentFirstVertex = start;
+						//columns fitting wall / max column we have in texture
+						var stepRatio =
+							(float)Math.Min(_currentFacade.ColumnCount,
+								Math.Floor(currentWallLength / _singleColumnLength)) / _currentFacade.ColumnCount;
+						wallSegmentLength = stepRatio * _scaledPreferredWallLength;
+						start += wallSegmentDirection * wallSegmentLength;
+						wallSegmentSecondVertex = start;
+
+						currentWallLength -= (stepRatio * _scaledPreferredWallLength);
+						CreateWall(md);
+					}
+
+					//left over column at the end
+					if (_leftOverColumnLength > 0)
+					{
+						wallSegmentFirstVertex = start;
+						wallSegmentSecondVertex = v2;
+						wallSegmentLength = _leftOverColumnLength;
+						CreateWall(md);
+					}
+				}
+
+				//this first loop is for columns
+				if (_separateSubmesh)
+				{
+					md.Triangles.Add(wallTriangles);
+				}
+				else
+				{
+					md.Triangles.Capacity = md.Triangles.Count + wallTriangles.Count;
+					md.Triangles[0].AddRange(wallTriangles);
+				}
+			}
+		}
+
+		private void CreateWall(MeshData md)
+		{
+			//need to keep track of this for triangulation indices
+			triIndex = md.Vertices.Count;
+
+			//this part minimizes stretching for narrow columns
+			//if texture has 3 columns, 33% (of preferred edge length) wide walls will get 1 window.
+			//0-33% gets 1 window, 33-66 gets 2, 66-100 gets all three
+			//we're not wrapping/repeating texture as it won't work with atlases
+			columnScaleRatio = Math.Min(1, wallSegmentLength / _scaledPreferredWallLength);
+			rightOfEdgeUv =
+				_currentTextureRect.xMin +
+				_currentTextureRect.size.x *
+				columnScaleRatio; // Math.Min(1, ((float)(Math.Floor(columnScaleRatio * _currentFacade.ColumnCount) + 1) / _currentFacade.ColumnCount));
+
+			_minWallLength = (_scaledPreferredWallLength / _currentFacade.ColumnCount) * _wallSizeEpsilon;
+			//common for all top/mid/bottom segments
+			wallNormal = new Vector3(-(wallSegmentFirstVertex.z - wallSegmentSecondVertex.z), 0,
+				(wallSegmentFirstVertex.x - wallSegmentSecondVertex.x)).normalized;
+			//height of the left/right edges
+			currentY1 = wallSegmentFirstVertex.y;
+			currentY2 = wallSegmentSecondVertex.y;
+
+			//moving leftover row to top
+			LeftOverRow(md, finalLeftOverRowHeight);
+
+			FirstFloor(md, height);
+			TopFloor(md, finalLeftOverRowHeight);
+			MidFloors(md);
+		}
+
+		private void LeftOverRow(MeshData md, float leftOver)
+		{
+			//leftover. we're moving small leftover row to top of the building
+			if (leftOver > 0)
+			{
+				md.Vertices.Add(new Vector3(wallSegmentFirstVertex.x, currentY1, wallSegmentFirstVertex.z));
+				md.Vertices.Add(new Vector3(wallSegmentSecondVertex.x, currentY2, wallSegmentSecondVertex.z));
+				//move offsets bottom
+				currentY1 -= leftOver;
+				currentY2 -= leftOver;
+				//bottom two vertices
+				md.Vertices.Add(new Vector3(wallSegmentFirstVertex.x, currentY1, wallSegmentFirstVertex.z));
+				md.Vertices.Add(new Vector3(wallSegmentSecondVertex.x, currentY2, wallSegmentSecondVertex.z));
+
+				if (wallSegmentLength >= _minWallLength)
+				{
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentTextureRect.yMax));
+					md.UV[0].Add(new Vector2(rightOfEdgeUv, _currentTextureRect.yMax));
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin,
+						_currentTextureRect.yMax - _shortRowHeightDelta));
+					md.UV[0].Add(new Vector2(rightOfEdgeUv, _currentTextureRect.yMax - _shortRowHeightDelta));
+				}
+				else
+				{
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentTextureRect.yMax));
+					md.UV[0].Add(
+						new Vector2(_currentTextureRect.xMin + _narrowWallWidthDelta, _currentTextureRect.yMax));
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin,
+						_currentTextureRect.yMax - _shortRowHeightDelta));
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin + _narrowWallWidthDelta,
+						_currentTextureRect.yMax - _shortRowHeightDelta));
+				}
+
+				md.Normals.Add(wallNormal);
+				md.Normals.Add(wallNormal);
+				md.Normals.Add(wallNormal);
+				md.Normals.Add(wallNormal);
+
+				md.Tangents.Add(wallDirection);
+				md.Tangents.Add(wallDirection);
+				md.Tangents.Add(wallDirection);
+				md.Tangents.Add(wallDirection);
+
+				wallTriangles.Add(triIndex);
+				wallTriangles.Add(triIndex + 1);
+				wallTriangles.Add(triIndex + 2);
+
+				wallTriangles.Add(triIndex + 1);
+				wallTriangles.Add(triIndex + 3);
+				wallTriangles.Add(triIndex + 2);
+
+				triIndex += 4;
+			}
+		}
+
+		private void MidFloors(MeshData md)
+		{
+			_currentMidHeight = finalMidHeight;
+			while (_currentMidHeight >= _singleFloorHeight - 0.01f)
+			{
+				//first part is the number of floors fitting current wall segment. You can fit max of "row count in mid". Or if wall
+				//is smaller and it can only fit i.e. 3 floors instead of 5; we use 3/5 of the mid section texture as well.
+				_midUvInCurrentStep =
+					((float)Math.Min(_currentFacade.MidFloorCount,
+						Math.Round(_currentMidHeight / _singleFloorHeight))) / _currentFacade.MidFloorCount;
+
+				//top two vertices
+				md.Vertices.Add(new Vector3(wallSegmentFirstVertex.x, currentY1, wallSegmentFirstVertex.z));
+				md.Vertices.Add(new Vector3(wallSegmentSecondVertex.x, currentY2, wallSegmentSecondVertex.z));
+				//move offsets bottom
+				currentY1 -= (_scaledFloorHeight * _midUvInCurrentStep);
+				currentY2 -= (_scaledFloorHeight * _midUvInCurrentStep);
+				//bottom two vertices
+				md.Vertices.Add(new Vector3(wallSegmentFirstVertex.x, currentY1, wallSegmentFirstVertex.z));
+				md.Vertices.Add(new Vector3(wallSegmentSecondVertex.x, currentY2, wallSegmentSecondVertex.z));
+
+				//we uv narrow walls different so they won't have condensed windows
+				if (wallSegmentLength >= _minWallLength)
+				{
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentFacade.topOfMidUv));
+					md.UV[0].Add(new Vector2(rightOfEdgeUv, _currentFacade.topOfMidUv));
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin,
+						_currentFacade.topOfMidUv - _currentFacade.midUvHeight * _midUvInCurrentStep));
+					md.UV[0].Add(new Vector2(rightOfEdgeUv,
+						_currentFacade.topOfMidUv - _currentFacade.midUvHeight * _midUvInCurrentStep));
+				}
+				else
+				{
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentFacade.topOfMidUv));
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin + _narrowWallWidthDelta,
+						_currentFacade.topOfMidUv));
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin,
+						_currentFacade.topOfMidUv - _currentFacade.midUvHeight * _midUvInCurrentStep));
+					md.UV[0].Add(new Vector2(_currentTextureRect.xMin + _narrowWallWidthDelta,
+						_currentFacade.topOfMidUv - _currentFacade.midUvHeight * _midUvInCurrentStep));
+				}
+
+				md.Normals.Add(wallNormal);
+				md.Normals.Add(wallNormal);
+				md.Normals.Add(wallNormal);
+				md.Normals.Add(wallNormal);
+
+				md.Tangents.Add(wallDirection);
+				md.Tangents.Add(wallDirection);
+				md.Tangents.Add(wallDirection);
+				md.Tangents.Add(wallDirection);
+
+				wallTriangles.Add(triIndex);
+				wallTriangles.Add(triIndex + 1);
+				wallTriangles.Add(triIndex + 2);
+
+				wallTriangles.Add(triIndex + 1);
+				wallTriangles.Add(triIndex + 3);
+				wallTriangles.Add(triIndex + 2);
+
+				triIndex += 4;
+				_currentMidHeight -= Math.Max(0.1f, (_scaledFloorHeight * _midUvInCurrentStep));
+			}
+		}
+
+		private void TopFloor(MeshData md, float leftOver)
+		{
+			//top floor start
+			currentY1 -= finalTopHeight;
+			currentY2 -= finalTopHeight;
+			md.Vertices.Add(new Vector3(wallSegmentFirstVertex.x, wallSegmentFirstVertex.y - leftOver,
+				wallSegmentFirstVertex.z));
+			md.Vertices.Add(new Vector3(wallSegmentSecondVertex.x, wallSegmentSecondVertex.y - leftOver,
+				wallSegmentSecondVertex.z));
+			md.Vertices.Add(new Vector3(wallSegmentFirstVertex.x, wallSegmentFirstVertex.y - leftOver - finalTopHeight,
+				wallSegmentFirstVertex.z));
+			md.Vertices.Add(new Vector3(wallSegmentSecondVertex.x,
+				wallSegmentSecondVertex.y - leftOver - finalTopHeight, wallSegmentSecondVertex.z));
+
+			if (wallSegmentLength >= _minWallLength)
+			{
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentTextureRect.yMax));
+				md.UV[0].Add(new Vector2(rightOfEdgeUv, _currentTextureRect.yMax));
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentFacade.bottomOfTopUv));
+				md.UV[0].Add(new Vector2(rightOfEdgeUv, _currentFacade.bottomOfTopUv));
+			}
+			else
+			{
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentTextureRect.yMax));
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin + _narrowWallWidthDelta, _currentTextureRect.yMax));
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentFacade.bottomOfTopUv));
+				md.UV[0].Add(
+					new Vector2(_currentTextureRect.xMin + _narrowWallWidthDelta, _currentFacade.bottomOfTopUv));
+			}
+
+			md.Normals.Add(wallNormal);
+			md.Normals.Add(wallNormal);
+			md.Normals.Add(wallNormal);
+			md.Normals.Add(wallNormal);
+
+
+			md.Tangents.Add(wallDirection);
+			md.Tangents.Add(wallDirection);
+			md.Tangents.Add(wallDirection);
+			md.Tangents.Add(wallDirection);
+
+			wallTriangles.Add(triIndex);
+			wallTriangles.Add(triIndex + 1);
+			wallTriangles.Add(triIndex + 2);
+
+			wallTriangles.Add(triIndex + 1);
+			wallTriangles.Add(triIndex + 3);
+			wallTriangles.Add(triIndex + 2);
+
+			triIndex += 4;
+		}
+
+		private void FirstFloor(MeshData md, float hf)
+		{
+			md.Vertices.Add(new Vector3(wallSegmentFirstVertex.x, wallSegmentFirstVertex.y - hf + finalFirstHeight,
+				wallSegmentFirstVertex.z));
+			md.Vertices.Add(new Vector3(wallSegmentSecondVertex.x, wallSegmentSecondVertex.y - hf + finalFirstHeight,
+				wallSegmentSecondVertex.z));
+			md.Vertices.Add(new Vector3(wallSegmentFirstVertex.x, wallSegmentFirstVertex.y - hf,
+				wallSegmentFirstVertex.z));
+			md.Vertices.Add(new Vector3(wallSegmentSecondVertex.x, wallSegmentSecondVertex.y - hf,
+				wallSegmentSecondVertex.z));
+
+			md.Normals.Add(wallNormal);
+			md.Normals.Add(wallNormal);
+			md.Normals.Add(wallNormal);
+			md.Normals.Add(wallNormal);
+			md.Tangents.Add(wallDirection);
+			md.Tangents.Add(wallDirection);
+			md.Tangents.Add(wallDirection);
+			md.Tangents.Add(wallDirection);
+
+			if (wallSegmentLength >= _minWallLength)
+			{
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentFacade.topOfBottomUv));
+				md.UV[0].Add(new Vector2(rightOfEdgeUv, _currentFacade.topOfBottomUv));
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentTextureRect.yMin));
+				md.UV[0].Add(new Vector2(rightOfEdgeUv, _currentTextureRect.yMin));
+			}
+			else
+			{
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentFacade.topOfBottomUv));
+				md.UV[0].Add(
+					new Vector2(_currentTextureRect.xMin + _narrowWallWidthDelta, _currentFacade.topOfBottomUv));
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin, _currentTextureRect.yMin));
+				md.UV[0].Add(new Vector2(_currentTextureRect.xMin + _narrowWallWidthDelta, _currentTextureRect.yMin));
+			}
+
+			wallTriangles.Add(triIndex);
+			wallTriangles.Add(triIndex + 1);
+			wallTriangles.Add(triIndex + 2);
+
+			wallTriangles.Add(triIndex + 1);
+			wallTriangles.Add(triIndex + 3);
+			wallTriangles.Add(triIndex + 2);
+
+			triIndex += 4;
+		}
+
+		private void CalculateEdgeList(MeshData md, UnityTile tile, float preferredEdgeSectionLength)
+		{
+		}
+
+		private void GenerateRoofMesh(MeshData md, float minHeight, float maxHeight)
+		{
+			_counter = md.Vertices.Count;
+			switch (_options.extrusionType)
+			{
+				case ExtrusionType.None:
+					break;
+				case ExtrusionType.PropertyHeight:
+					for (int i = 0; i < _counter; i++)
+					{
+						md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + maxHeight,
+							md.Vertices[i].z);
+					}
+
+					break;
+				case ExtrusionType.MinHeight:
+					{
+						var minmax = MinMaxPair.GetMinMaxHeight(md.Vertices);
+						for (int i = 0; i < _counter; i++)
+						{
+							md.Vertices[i] = new Vector3(md.Vertices[i].x, minmax.min + maxHeight, md.Vertices[i].z);
+						}
+					}
+					break;
+				case ExtrusionType.MaxHeight:
+					{
+						var minmax = MinMaxPair.GetMinMaxHeight(md.Vertices);
+						for (int i = 0; i < _counter; i++)
+						{
+							md.Vertices[i] = new Vector3(md.Vertices[i].x, minmax.max + maxHeight, md.Vertices[i].z);
+						}
+
+						height += minmax.max - minmax.min;
+					}
+					break;
+				case ExtrusionType.RangeHeight:
+					for (int i = 0; i < _counter; i++)
+					{
+						md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + maxHeight,
+							md.Vertices[i].z);
+					}
+
+					break;
+				case ExtrusionType.AbsoluteHeight:
+					for (int i = 0; i < _counter; i++)
+					{
+						md.Vertices[i] = new Vector3(md.Vertices[i].x, md.Vertices[i].y + maxHeight,
+							md.Vertices[i].z);
+					}
+
+					break;
+				default:
+					break;
+			}
+		}
+
+		private void QueryHeight(VectorFeatureUnity feature, MeshData md, UnityTile tile, out float maxHeight,
+			out float minHeight)
+		{
+			minHeight = 0.0f;
+			maxHeight = 0.0f;
+
+			switch (_options.extrusionType)
+			{
+				case ExtrusionType.None:
+					break;
+				case ExtrusionType.PropertyHeight:
+				case ExtrusionType.MinHeight:
+				case ExtrusionType.MaxHeight:
+					if (feature.Properties.ContainsKey(_options.propertyName))
+					{
+						maxHeight = Convert.ToSingle(feature.Properties[_options.propertyName]);
+						if (feature.Properties.ContainsKey("min_height"))
+						{
+							minHeight = Convert.ToSingle(feature.Properties["min_height"]);
+						}
+					}
+
+					break;
+				case ExtrusionType.RangeHeight:
+					if (feature.Properties.ContainsKey(_options.propertyName))
+					{
+						if (_options.minimumHeight > _options.maximumHeight)
+						{
+							Debug.LogError("Maximum Height less than Minimum Height.Swapping values for extrusion.");
+							var temp = _options.minimumHeight;
+							_options.minimumHeight = _options.maximumHeight;
+							_options.maximumHeight = temp;
+						}
+
+						var featureHeight = Convert.ToSingle(feature.Properties[_options.propertyName]);
+						maxHeight = Math.Min(Math.Max(_options.minimumHeight, featureHeight), _options.maximumHeight);
+						if (feature.Properties.ContainsKey("min_height"))
+						{
+							var featureMinHeight = Convert.ToSingle(feature.Properties["min_height"]);
+							minHeight = Math.Min(featureMinHeight, _options.maximumHeight);
+						}
+					}
+
+					break;
+				case ExtrusionType.AbsoluteHeight:
+					maxHeight = _options.maximumHeight;
+					break;
+				default:
+					break;
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/TextureSideWallModifier.cs.meta b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/TextureSideWallModifier.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e777e2eec01aa6b90e98bdd02275ee8a4ce35460
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/MeshGeneration/Modifiers/TextureSideWallModifier.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: fa21b5f2e2cb4a347ae152f6b6ec1e68
+timeCreated: 1515082451
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a916d6056f007359b70daf8643a9c1ffbf8c47ea
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 19c855c09858f46a88310d2d46fc2778
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/AbstractLayer.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/AbstractLayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..abe08266ada3a846719933752265b3d078f5aef5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/AbstractLayer.cs
@@ -0,0 +1,55 @@
+namespace Mapbox.Unity.Map
+{
+	using Mapbox.Unity.MeshGeneration.Factories;
+	using Mapbox.Unity.MeshGeneration.Interfaces;
+	using Mapbox.Unity.MeshGeneration.Modifiers;
+
+	public class LayerUpdateArgs : System.EventArgs
+	{
+		public AbstractTileFactory factory;
+		public MapboxDataProperty property;
+		public bool effectsVectorLayer;
+	}
+
+	public class VectorLayerUpdateArgs : LayerUpdateArgs
+	{
+		public LayerVisualizerBase visualizer;
+		public ModifierBase modifier;
+	}
+
+	public class AbstractLayer
+	{
+		public event System.EventHandler UpdateLayer;
+		protected virtual void NotifyUpdateLayer(LayerUpdateArgs layerUpdateArgs)
+		{
+			System.EventHandler handler = UpdateLayer;
+			if (handler != null)
+			{
+				handler(this, layerUpdateArgs);
+			}
+		}
+		protected virtual void NotifyUpdateLayer(AbstractTileFactory factory, MapboxDataProperty prop, bool effectsVectorLayer = false)
+		{
+			System.EventHandler handler = UpdateLayer;
+			if (handler != null)
+			{
+				LayerUpdateArgs layerUpdateArgs =
+					(factory is VectorTileFactory) ?
+					new VectorLayerUpdateArgs
+					{
+						factory = factory,
+						effectsVectorLayer = effectsVectorLayer,
+						property = prop
+					}
+					:
+					new LayerUpdateArgs
+					{
+						factory = factory,
+						effectsVectorLayer = effectsVectorLayer,
+						property = prop
+					};
+				handler(this, layerUpdateArgs);
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/AbstractLayer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/AbstractLayer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6f02b44116b7349126086b673d5ba3e883089596
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/AbstractLayer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 94d130e0e418e7042b9deff5b289346f
+timeCreated: 1533073579
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/IImageryLayer.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/IImageryLayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8263ae8491eb91c412f3d75a42ddd56506897997
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/IImageryLayer.cs
@@ -0,0 +1,53 @@
+namespace Mapbox.Unity.Map
+{
+	public interface IImageryLayer : ILayer
+	{
+		/// <summary>
+		/// Gets the `Data Source` for the `IMAGE` component.
+		/// </summary>
+		ImagerySourceType LayerSource { get; }
+
+		/// <summary>
+		/// Sets the `Data Source` for the `IMAGE` component. This can be one of the
+		/// [Mapbox default styles](https://www.mapbox.com/api-documentation/maps/#styles),
+		/// or a custom style. The style url is set as the `Tileset ID`.
+		/// </summary>
+		/// <param name="imageSource">Source of imagery for map. Can be a Mapbox default, or custom style.</param>
+		void SetLayerSource(ImagerySourceType imageSource);
+
+		/// <summary>
+		/// Enables or disables high quality images for the specified Data Source.
+		/// resoluion when enabled is 1024px, and 512px when disabled. Satellite
+		/// imagery is 512px when enabled, and 256 px when disabled. Changes to this
+		/// may not take effect until the cache is cleared.
+		/// </summary>
+		/// <param name="useRetina">Boolean to toggle `Use Retina`.</param>
+		void UseRetina(bool useRetina);
+
+		/// <summary>
+		/// Enables or disables Unity Texture2D compression for `IMAGE` outputs.
+		/// Enable this if you need performance rather than a high resolution image.
+		/// </summary>
+		/// <param name="useCompression">Boolean to toggle `Use Compression`.</param>
+		void UseCompression(bool useCompression);
+
+		/// <summary>
+		/// Enables or disables Unity Texture2D Mipmap for `IMAGE` outputs.
+		/// Mipmaps are lists of progressively smaller versions of an image, used
+		/// to optimize performance. Enabling mipmaps consumes more memory, but
+		/// provides improved performance.
+		/// </summary>
+		/// <param name="useMipMap">Boolean to toggle `Use Mip Map`.</param>
+		void UseMipMap(bool useMipMap);
+
+		/// <summary>
+		/// Changes the settings for the `IMAGE` component.
+		/// </summary>
+		/// <param name="imageSource">`Data Source` for the IMAGE component.</param>
+		/// <param name="useRetina">Enables or disables high quality imagery.</param>
+		/// <param name="useCompression">Enables or disables Unity Texture2D compression.</param>
+		/// <param name="useMipMap">Enables or disables Unity Texture2D image mipmapping.</param>
+		void SetProperties(ImagerySourceType imageSource, bool useRetina, bool useCompression, bool useMipMap);
+	}
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/IImageryLayer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/IImageryLayer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..da90cc6d5e619073f4059ce96a255e5d94ed17a0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/IImageryLayer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 80a22b06fd73b4e009a924a0be131391
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ILayer.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ILayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..63a42ac44b30612cddf2e3958df74199d1cc2ee0
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ILayer.cs
@@ -0,0 +1,309 @@
+using System.Linq;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.SourceLayers;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using System.Collections.Generic;
+	using Mapbox.Unity.MeshGeneration.Filters;
+	using Mapbox.Utils;
+	using UnityEngine;
+
+	public interface ILayer
+	{
+		/// <summary>
+		/// Gets the type of feature from the `FEATURES` section.
+		/// </summary>
+		MapLayerType LayerType { get; }
+		/// <summary>
+		/// Boolean for setting the feature layer active or inactive.
+		/// </summary>
+		bool IsLayerActive { get; }
+		/// <summary>
+		/// Gets the source ID for the feature layer.
+		/// </summary>
+		string LayerSourceId { get; }
+
+		/// <summary>
+		/// Gets the `Data Source` for the `MAP LAYERS` section.
+		/// </summary>
+		void SetLayerSource(string source);
+		void Initialize();
+		void Initialize(LayerProperties properties);
+		void Update(LayerProperties properties);
+		void Remove();
+	}
+
+	public interface IVectorDataLayer : ILayer
+	{
+		#region Layer Level APIs
+		TileJsonData GetTileJsonData();
+
+
+		/// <summary>
+		/// Gets the `Data Source` for the `MAP LAYERS` section.
+		/// </summary>
+		void SetLayerSource(VectorSourceType vectorSource);
+
+		/// <summary>
+		/// Adds the provided `Data Source` (`Tileset ID`) to existing ones. For multiple
+		/// sources, you can separate with a comma. `Tileset ID` string is added at the
+		/// end of the existing sources.
+		/// </summary>
+		/// <param name="vectorSource">`Data Source` (`Tileset ID`) to add to existing sources.</param>
+		void AddLayerSource(string vectorSource);
+
+		/// <summary>
+		/// Sets the layer source as Style-optimized vector tiles
+		/// </summary>
+		/// <param name="vectorSource">Vector source.</param>
+		/// <param name="styleId">Style-Optimized style id.</param>
+		/// <param name="modifiedDate">Modified date.</param>
+		/// <param name="styleName">Style name.</param>
+		void SetLayerSourceWithOptimizedStyle(string vectorSource, string styleId, string modifiedDate, string styleName = null);
+
+		/// <summary>
+		/// Sets the layer source as Style-optimized vector tiles
+		/// </summary>
+		/// <param name="vectorSource">Vector source.</param>
+		/// <param name="styleId">Style-Optimized style id.</param>
+		/// <param name="modifiedDate">Modified date.</param>
+		/// <param name="styleName">Style name.</param>
+		void SetLayerSourceWithOptimizedStyle(VectorSourceType vectorSource, string styleId, string modifiedDate, string styleName = null);
+
+		/// <summary>
+		/// Enables coroutines for vector features. Processes the specified amount
+		/// of them each frame.
+		/// </summary>
+		/// <param name="entityPerCoroutine">Numbers of features to process each frame.</param>
+		void EnableVectorFeatureProcessingWithCoroutines(int entityPerCoroutine = 20);
+
+		/// <summary>
+		/// Disables processing of vector features on coroutines.
+		/// </summary>
+		void DisableVectorFeatureProcessingWithCoroutines();
+		#endregion
+
+		#region LayerOperations
+
+		// FEATURE LAYER OPERATIONS
+
+		void AddFeatureSubLayer(VectorSubLayerProperties subLayerProperties);
+
+		/// <summary>
+		/// Adds a sub layer to render polygon features.
+		/// Default settings include :
+		/// Extrusion = true
+		/// ExtrusionType = PropertyHeight
+		/// ExtrusionGeometryType = Roof And Sides
+		/// Testuring = Realistic.
+		/// </summary>
+		/// <param name="assignedSubLayerName">Assigned sub layer name.</param>
+		/// <param name="dataLayerNameInService">Data layer name in service.</param>
+		void AddPolygonFeatureSubLayer(string assignedSubLayerName, string dataLayerNameInService);
+
+		/// <summary>
+		/// Adds a sub layer to render line features.
+		/// Default settings include :
+		/// LineWidth = 1
+		/// Extrusion = true
+		/// ExtrusionType = AbsoluteHeight
+		/// ExtrusionGeometryType = Roof And Sides
+		/// Testuring = Dark.
+		/// </summary>
+		/// <param name="assignedSubLayerName">Assigned sub layer name.</param>
+		/// <param name="dataLayerNameInService">Data layer name in service.</param>
+		/// <param name="lineWidth">Line width.</param>
+		void AddLineFeatureSubLayer(string assignedSubLayerName, string dataLayerNameInService, float lineWidth = 1);
+
+		/// <summary>
+		/// Adds a sub layer to render point features.
+		/// </summary>
+		/// <param name="assignedSubLayerName">Assigned sub layer name.</param>
+		/// <param name="dataLayerNameInService">Data layer name in service.</param>
+		void AddPointFeatureSubLayer(string assignedSubLayerName, string dataLayerNameInService);
+
+		/// <summary>
+		/// Adds feature sub layer for rendering using a custom pipeline.
+		/// Custom Feature Sub Layer should be used with custom modifiers to leverage the layer data or render it using a non-standard pipeline.
+		/// </summary>
+		/// <param name="assignedSubLayerName">Assigned sub layer name.</param>
+		/// <param name="dataLayerNameInService">Data layer name in service.</param>
+		void AddCustomFeatureSubLayer(string assignedSubLayerName, string dataLayerNameInService);
+
+		IEnumerable<VectorSubLayerProperties> GetAllFeatureSubLayers();
+
+		IEnumerable<VectorSubLayerProperties> GetAllPolygonFeatureSubLayers();
+
+		IEnumerable<VectorSubLayerProperties> GetAllLineFeatureSubLayers();
+
+		IEnumerable<VectorSubLayerProperties> GetAllPointFeatureSubLayers();
+
+		IEnumerable<VectorSubLayerProperties> GetFeatureSubLayerByQuery(Func<VectorSubLayerProperties, bool> query);
+
+		VectorSubLayerProperties GetFeatureSubLayerAtIndex(int i);
+
+		VectorSubLayerProperties FindFeatureSubLayerWithName(string featureLayerName);
+
+		void RemoveFeatureSubLayerWithName(string featureLayerName);
+
+		void RemoveFeatureSubLayer(VectorSubLayerProperties layer);
+
+		// POI LAYER OPERATIONS
+
+		void AddPointsOfInterestSubLayer(PrefabItemOptions poiLayerProperties);
+
+		IEnumerable<PrefabItemOptions> GetAllPointsOfInterestSubLayers();
+
+		PrefabItemOptions GetPointsOfInterestSubLayerAtIndex(int i);
+
+		IEnumerable<PrefabItemOptions> GetPointsOfInterestSubLayerByQuery(Func<PrefabItemOptions, bool> query);
+
+		PrefabItemOptions FindPointsofInterestSubLayerWithName(string poiLayerName);
+
+		void RemovePointsOfInterestSubLayerWithName(string poiLayerName);
+
+		void RemovePointsOfInterestSubLayer(PrefabItemOptions layer);
+
+		#endregion
+
+		#region Poi Api Methods
+
+		/// <summary>
+		/// Places a prefab at the specified LatLon on the Map.
+		/// </summary>
+		/// <param name="prefab"> A Game Object Prefab.</param>
+		/// <param name="LatLon">A Vector2d(Latitude Longitude) object</param>
+		void SpawnPrefabAtGeoLocation(GameObject prefab,
+											 Vector2d LatLon,
+											 Action<List<GameObject>> callback = null,
+											 bool scaleDownWithWorld = true,
+									  string locationItemName = "New Location");
+
+
+		/// <summary>
+		/// Places a prefab at all locations specified by the LatLon array.
+		/// </summary>
+		/// <param name="prefab"> A Game Object Prefab.</param>
+		/// <param name="LatLon">A Vector2d(Latitude Longitude) object</param>
+		void SpawnPrefabAtGeoLocation(GameObject prefab,
+											 Vector2d[] LatLon,
+											 Action<List<GameObject>> callback = null,
+											 bool scaleDownWithWorld = true,
+									  string locationItemName = "New Location");
+
+		/// <summary>
+		/// Places the prefab for supplied categories.
+		/// </summary>
+		/// <param name="prefab">GameObject Prefab</param>
+		/// <param name="categories"><see cref="LocationPrefabCategories"/> For more than one category separate them by pipe
+		/// (eg: LocationPrefabCategories.Food | LocationPrefabCategories.Nightlife)</param>
+		/// <param name="density">Density controls the number of POIs on the map.(Integer value between 1 and 30)</param>
+		/// <param name="locationItemName">Name of this location prefab item for future reference</param>
+		/// <param name="scaleDownWithWorld">Should the prefab scale up/down along with the map game object?</param>
+		void SpawnPrefabByCategory(GameObject prefab,
+										   LocationPrefabCategories categories = LocationPrefabCategories.AnyCategory,
+										   int density = 30, Action<List<GameObject>> callback = null,
+										   bool scaleDownWithWorld = true,
+								   string locationItemName = "New Location");
+
+
+		/// <summary>
+		/// Places the prefab at POI locations if its name contains the supplied string
+		/// <param name="prefab">GameObject Prefab</param>
+		/// <param name="nameString">This is the string that will be checked against the POI name to see if is contained in it, and ony those POIs will be spawned</param>
+		/// <param name="density">Density (Integer value between 1 and 30)</param>
+		/// <param name="locationItemName">Name of this location prefab item for future reference</param>
+		/// <param name="scaleDownWithWorld">Should the prefab scale up/down along with the map game object?</param>
+		/// </summary>
+		void SpawnPrefabByName(GameObject prefab,
+									  string nameString,
+									  int density = 30,
+									  Action<List<GameObject>> callback = null,
+									  bool scaleDownWithWorld = true,
+											  string locationItemName = "New Location");
+		#endregion
+	}
+
+	// TODO: Move interfaces into individual files.
+
+	public interface ISubLayerPolygonGeometryOptions
+	{
+
+	}
+
+	public interface ISubLayerFiltering
+	{
+		ILayerFilter AddStringFilterContains(string key, string property);
+		ILayerFilter AddNumericFilterEquals(string key, float value);
+		ILayerFilter AddNumericFilterLessThan(string key, float value);
+		ILayerFilter AddNumericFilterGreaterThan(string key, float value);
+		ILayerFilter AddNumericFilterInRange(string key, float min, float max);
+
+		ILayerFilter GetFilter(int index);
+
+		void RemoveFilter(int index);
+		void RemoveFilter(LayerFilter filter);
+		void RemoveFilter(ILayerFilter filter);
+		void RemoveAllFilters();
+
+		IEnumerable<ILayerFilter> GetAllFilters();
+		IEnumerable<ILayerFilter> GetFiltersByQuery(System.Func<ILayerFilter, bool> query);
+
+		LayerFilterCombinerOperationType GetFilterCombinerType();
+
+		void SetFilterCombinerType(LayerFilterCombinerOperationType layerFilterCombinerOperationType);
+	}
+
+	public interface ILayerFilter
+	{
+		bool FilterKeyContains(string key);
+		bool FilterKeyMatchesExact(string key);
+		bool FilterUsesOperationType(LayerFilterOperationType layerFilterOperationType);
+		bool FilterPropertyContains(string property);
+		bool FilterPropertyMatchesExact(string property);
+		bool FilterNumberValueEquals(float value);
+		bool FilterNumberValueIsGreaterThan(float value);
+		bool FilterNumberValueIsLessThan(float value);
+		bool FilterIsInRangeValueContains(float value);
+
+		string GetKey { get; }
+		LayerFilterOperationType GetFilterOperationType { get; }
+
+		string GetPropertyValue { get; }
+		float GetNumberValue { get; }
+
+		float GetMinValue { get; }
+		float GetMaxValue { get; }
+
+		void SetStringContains(string key, string property);
+		void SetNumberIsEqual(string key, float value);
+		void SetNumberIsLessThan(string key, float value);
+		void SetNumberIsGreaterThan(string key, float value);
+		void SetNumberIsInRange(string key, float min, float max);
+
+	}
+
+	public interface IVectorSubLayer
+	{
+		/// <summary>
+		/// Gets `Filters` data from the feature.
+		/// </summary>
+		ISubLayerFiltering Filtering { get; }
+		/// <summary>
+		/// Gets `Modeling` data from the feature.
+		/// </summary>
+		ISubLayerModeling Modeling { get; }
+		/// <summary>
+		/// Gets `Texturing` data from the feature.
+		/// </summary>
+		ISubLayerTexturing Texturing { get; }
+		/// <summary>
+		/// Gets `Behavior Modifiers` data from the feature.
+		/// </summary>
+		ISubLayerBehaviorModifiers BehaviorModifiers { get; }
+
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ILayer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ILayer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7aa8693111a018248af50b71a780a4f1c61afecc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ILayer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5f9eea74368704d888e4636d6229f30b
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerBehaviorModifiers.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerBehaviorModifiers.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d208271133feeacb460b70710dccf931f70aabb2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerBehaviorModifiers.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using Mapbox.Unity.MeshGeneration.Modifiers;
+
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerBehaviorModifiers
+	{
+		void IsBuildingIdsUnique(bool isUniqueIds);
+
+		void AddMeshModifier(MeshModifier modifier);
+		void AddMeshModifier(List<MeshModifier> modifiers);
+		List<MeshModifier> GetMeshModifier(Func<MeshModifier, bool> act);
+		void RemoveMeshModifier(MeshModifier modifier);
+
+		void AddGameObjectModifier(GameObjectModifier modifier);
+		void AddGameObjectModifier(List<GameObjectModifier> modifiers);
+		List<GameObjectModifier> GetGameObjectModifier(Func<GameObjectModifier, bool> act);
+		void RemoveGameObjectModifier(GameObjectModifier modifier);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerBehaviorModifiers.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerBehaviorModifiers.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1c28572fd827d50f9b6da1d74e678492c6f14b38
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerBehaviorModifiers.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1e87244935b842089e18d5a142aab6f6
+timeCreated: 1538422739
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColliderOptions.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColliderOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5a4e4fb7dd1b079e7121be1d8aa4a1b9bcf1d92d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColliderOptions.cs
@@ -0,0 +1,13 @@
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Unity.SourceLayers
+{
+	public interface ISubLayerColliderOptions
+	{
+		/// <summary>
+		/// Enable/Disable feature colliders and sets the type of colliders to use.
+		/// </summary>
+		/// <param name="colliderType">Type of the collider to use on features.</param>
+		void SetFeatureCollider(ColliderType colliderType);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColliderOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColliderOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..215d572173fabe356f4c81b8eab3dc480bdc0889
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColliderOptions.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 61f3c217145242289818236c5e1453e1
+timeCreated: 1538173678
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColorStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColorStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..31d618392bb93d97a8d61d29e8fae4a5ca1b9901
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColorStyle.cs
@@ -0,0 +1,13 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+
+	public interface ISubLayerColorStyle : ISubLayerStyle
+	{
+		Color FeatureColor { get; set; }
+		void SetAsStyle(Color featureColor);
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColorStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColorStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2a3042856001a6d6a9390860d6065cb2955a9a9b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerColorStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 997854840cbc44433b7bb5dce1c2da46
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCoreOptions.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCoreOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3b7b448b966ea0a707db0fad68d5582f0d5f45a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCoreOptions.cs
@@ -0,0 +1,14 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerCoreOptions
+	{
+		/// <summary>
+		/// Change the primtive type of the feature which will be used to decide
+		/// what type of mesh operations features will require.
+		/// In example, roads are generally visualized as lines and buildings are
+		/// generally visualized as polygons.
+		/// </summary>
+		/// <param name="type">Primitive type of the featues in the layer.</param>
+		void SetPrimitiveType(VectorPrimitiveType type);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCoreOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCoreOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..33e850c090c3aa8a49080fdd9420c5f6dac02fb3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCoreOptions.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 23f54a8816004e0a80a6eddb751c77a8
+timeCreated: 1538173695
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..075fa7db65d6e77f646b4049a2a5cc1e32a73ca4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyle.cs
@@ -0,0 +1,13 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerCustomStyle
+	{
+		UvMapType TexturingType { get; set; }
+		ISubLayerCustomStyleTiled Tiled { get; }
+		ISubLayerCustomStyleAtlas TextureAtlas { get; }
+		ISubLayerCustomStyleAtlasWithColorPallete TextureAtlasWithColorPallete { get; }
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d134dec03799a35f4850b940baf57c33fb5f070f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aa05a4fc1ec3d450baeff5e3c4538fe3
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlas.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlas.cs
new file mode 100644
index 0000000000000000000000000000000000000000..df6e4be3f8fc28ae2e9081e3c9dbd990c12f8f17
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlas.cs
@@ -0,0 +1,14 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public interface ISubLayerCustomStyleAtlas : ISubLayerCustomStyleOptions, ISubLayerStyle
+	{
+		AtlasInfo UvAtlas { get; set; }
+		void SetAsStyle(Material TopMaterial, Material SideMaterial, AtlasInfo uvAtlas);
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlas.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlas.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d41c6c0b02a003259e9028ebc08fbb319f68bc36
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlas.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 91bb7738d3ba44f27bad10b8c1d22bcd
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlasWithColorPallete.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlasWithColorPallete.cs
new file mode 100644
index 0000000000000000000000000000000000000000..acf15045ceeee0d2e0851e3d6e2d945a928e61be
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlasWithColorPallete.cs
@@ -0,0 +1,14 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public interface ISubLayerCustomStyleAtlasWithColorPallete : ISubLayerCustomStyleOptions, ISubLayerStyle
+	{
+		ScriptablePalette ColorPalette { get; set; }
+		void SetAsStyle(Material TopMaterial, Material SideMaterial, AtlasInfo uvAtlas, ScriptablePalette palette);
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlasWithColorPallete.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlasWithColorPallete.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..596a522afcb31063118e332c08d7e1d0a292ea9c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleAtlasWithColorPallete.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f6fa1fbd7ea4a4f7d87db12ffcc87f7e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleOptions.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..eb6360297ffd211b273fb6edac0c784666ed0a1f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleOptions.cs
@@ -0,0 +1,21 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+
+	public interface ISubLayerCustomStyleOptions
+	{
+		/// <summary>
+		/// Gets or sets the top material.
+		/// </summary>
+		/// <value>The top material.</value>
+		Material TopMaterial { get; set; }
+		/// <summary>
+		/// Gets or sets the side material.
+		/// </summary>
+		/// <value>The side material.</value>
+		Material SideMaterial { get; set; }
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..44baa5f6df48a069429f7db9505f7e3763ac31d7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleOptions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fd328d461e03643129348584d9d8e6ce
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleTiled.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleTiled.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e26d8b0d8920a4706129142581756d4a707813b4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleTiled.cs
@@ -0,0 +1,13 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+
+	public interface ISubLayerCustomStyleTiled : ISubLayerCustomStyleOptions, ISubLayerStyle
+	{
+		void SetMaterials(Material TopMaterial, Material SideMaterial);
+		void SetAsStyle(Material TopMaterial, Material SideMaterial = null);
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleTiled.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleTiled.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2f7f32e3b05194de27244954f171f72d3bc68dfc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerCustomStyleTiled.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dec23fe931b534e3aad750e71921d9f7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerDarkStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerDarkStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..69729e9c99e84d6c1766de772ad61cedf078d280
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerDarkStyle.cs
@@ -0,0 +1,11 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerDarkStyle : ISubLayerStyle
+	{
+		float Opacity { get; set; }
+		void SetAsStyle(float opacity);
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerDarkStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerDarkStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f77d3b3de8e47d9447756382627f3e22fea7758a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerDarkStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 84bf507c20215450a968d9bbed1b014b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerExtrusionOptions.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerExtrusionOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ecb80a16c4d81accae68535be1760aa06f1e9edd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerExtrusionOptions.cs
@@ -0,0 +1,85 @@
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Unity.SourceLayers
+{
+	public interface ISubLayerExtrusionOptions
+	{
+		/// <summary>
+		/// Disable mesh extrusion for the features in this layer.
+		/// </summary>
+		void DisableExtrusion();
+
+		/// <summary>
+		/// Sets the height value to be used for Absolute Height extrusion type.
+		/// Same field is used for the maximum height of Range Extrusion type so beware
+		/// of possible side effects.
+		/// </summary>
+		/// <param name="absoluteHeight">Fixed height value for all features in the layer.</param>
+		void SetAbsoluteHeight(float absoluteHeight);
+
+		/// <summary>
+		/// Change the minimum and maximum height values used for Range Height option.
+		/// Maximum height is also used for Absolute Height option so beware of possible side
+		/// effects.
+		/// </summary>
+		/// <param name="minHeight">Lower bound to be used for extrusion</param>
+		/// <param name="maxHeight">Top bound to be used for extrusion</param>
+		void SetHeightRange(float minHeight, float maxHeight);
+
+		/// <summary>
+		/// Sets the extrusion multiplier which will be used only in the Y axis (height).
+		/// </summary>
+		/// <param name="multiplier">Multiplier value.</param>
+		void SetExtrusionMultiplier(float multiplier);
+
+		/// <summary>
+		/// Changes extrusion type to "Absolute height" and extrudes all features by
+		/// the given fixed value.
+		/// </summary>
+		/// <param name="extrusionGeometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="height">Extrusion value</param>
+		/// <param name="extrusionScaleFactor">Height multiplier</param>
+		void EnableAbsoluteExtrusion(ExtrusionGeometryType extrusionGeometryType, float height, float extrusionScaleFactor = 1);
+
+		/// <summary>
+		/// Changes extrusion type to "Property" and extrudes all features by
+		/// the choosen property's value.
+		/// </summary>
+		/// <param name="extrusionGeometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="propertyName">Name of the property to use for extrusion</param>
+		/// <param name="extrusionScaleFactor">Height multiplier</param>
+		void EnablePropertyExtrusion(ExtrusionGeometryType extrusionGeometryType, string propertyName = "height", float extrusionScaleFactor = 1);
+
+		/// <summary>
+		/// Changes extrusion type to "Minimum Height" and extrudes all features by
+		/// the choosen property's value such that all vertices (roof) will be
+		/// flat at the lowest vertex elevation (after terrain elevation taken into account).
+		/// </summary>
+		/// <param name="extrusionGeometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="propertyName">Name of the property to use for extrusion</param>
+		/// <param name="extrusionScaleFactor">Height multiplier</param>
+		void EnableMinExtrusion(ExtrusionGeometryType extrusionGeometryType, string propertyName = "height", float extrusionScaleFactor = 1);
+
+		/// <summary>
+		/// Changes extrusion type to "Range Height" and extrudes all features by
+		/// the choosen property's value such that all vertices (roof) will be
+		/// flat at the highest vertex elevation (after terrain elevation taken into account).
+		/// </summary>
+		/// <param name="extrusionGeometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="propertyName">Name of the property to use for extrusion</param>
+		/// <param name="extrusionScaleFactor">Height multiplier</param>
+		void EnableMaxExtrusion(ExtrusionGeometryType extrusionGeometryType, string propertyName = "height", float extrusionScaleFactor = 1);
+
+		/// /// <summary>
+		/// Changes extrusion type to "Minimum Height" and extrudes all features by
+		/// the choosen property's value such that they'll be in provided range.
+		/// Lower values will be increase to Minimum Height and higher values will
+		/// be lowered to Maximum height.
+		/// </summary>
+		/// <param name="extrusionGeometryType">Option to create top and side polygons after extrusion.</param>
+		/// <param name="minHeight">Lower bound to be used for extrusion</param>
+		/// <param name="maxHeight">Top bound to be used for extrusion</param>
+		/// <param name="extrusionScaleFactor">Height multiplier</param>
+		void EnableRangeExtrusion(ExtrusionGeometryType extrusionGeometryType, float minHeight, float maxHeight, float extrusionScaleFactor = 1);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerExtrusionOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerExtrusionOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..59ee147abe3770e7f4576593dafecd205f5c318e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerExtrusionOptions.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 585a84b1db824dd4840e111be54f229e
+timeCreated: 1538173687
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerFantasyStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerFantasyStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3fe4dc536717f93ae9a36fb156c1d16e48b4c074
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerFantasyStyle.cs
@@ -0,0 +1,9 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerFantasyStyle : ISubLayerStyle
+	{
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerFantasyStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerFantasyStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2383b93cc5548c2a9a36ba65e12b61b894b40622
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerFantasyStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 682cc02fda6d5468cbf9168c6eadfc2e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLightStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLightStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ce78c4cd5c9ef2f226530cf8f01ebb706460f10a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLightStyle.cs
@@ -0,0 +1,11 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerLightStyle : ISubLayerStyle
+	{
+		float Opacity { get; set; }
+		void SetAsStyle(float opacity);
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLightStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLightStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e902125b98cb256a59b72505c7c751728716dfa6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLightStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ad0c9ea89e78e425491adfc13c5cc0c0
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLineGeometryOptions.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLineGeometryOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9f979f20b95c03ee472ed07c2b985edefd365db4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLineGeometryOptions.cs
@@ -0,0 +1,15 @@
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Unity.SourceLayers
+{
+	public interface ISubLayerLineGeometryOptions
+	{
+		/// <summary>
+		/// Sets the width of the mesh generated for line features.
+		/// </summary>
+		/// <param name="width">Width of the mesh generated for line features.</param>
+		void SetLineWidth(float width);
+		void SetJoinType(LineJoinType join);
+		void SetCapType(LineCapType cap);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLineGeometryOptions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLineGeometryOptions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d15d7a8f29ede2bc733ca0a344fbb0df25791bc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerLineGeometryOptions.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 80871125bf304f71aa5f43d2aa183376
+timeCreated: 1538173669
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerModeling.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerModeling.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e9ca93a2153e7f5434f6f11c5a89acc6283f306f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerModeling.cs
@@ -0,0 +1,26 @@
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Unity.SourceLayers
+{
+	public interface ISubLayerModeling
+	{
+		ISubLayerCoreOptions CoreOptions { get; }
+		ISubLayerExtrusionOptions ExtrusionOptions { get; }
+		ISubLayerColliderOptions ColliderOptions { get; }
+		ISubLayerLineGeometryOptions LineOptions { get; }
+		
+		/// <summary>
+		/// Enable terrain snapping for features which sets vertices to terrain
+		/// elevation before extrusion.
+		/// </summary>
+		/// <param name="isEnabled">Enabled terrain snapping</param>
+		void EnableSnapingTerrain(bool isEnabled);
+
+		/// <summary>
+		/// Enable combining individual features meshes into one to minimize gameobject
+		/// count and draw calls.
+		/// </summary>
+		/// <param name="isEnabled"></param>
+		void EnableCombiningMeshes(bool isEnabled);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerModeling.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerModeling.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..634e2deaa5f523be5185b07221aaf8224045c46c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerModeling.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 73b3b85ffdb64bb8a01ccb8755fae669
+timeCreated: 1538173657
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerRealisticStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerRealisticStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3ac2a9719cddb540a7f6dcf8bf5321abf1fd242c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerRealisticStyle.cs
@@ -0,0 +1,10 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerRealisticStyle : ISubLayerStyle
+	{
+
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerRealisticStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerRealisticStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ae420a70cc451cf4385ba19f07e143171274318d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerRealisticStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ea19562da51454ef893a64ebaa44f1da
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerSimpleStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerSimpleStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2ffb0bdf2e2cf1c3961257d1b5e3e388f334b3cc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerSimpleStyle.cs
@@ -0,0 +1,11 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerSimpleStyle : ISubLayerStyle
+	{
+		SamplePalettes PaletteType { get; set; }
+		void SetAsStyle(SamplePalettes palette);
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerSimpleStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerSimpleStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9a2c0ff4cabfe77fad00640f37d298e2fa2cb686
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerSimpleStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bdd2a8bddc6c14990b71aeaa10353c2b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..861efc296d792f037cd791abd1503b306b2fb179
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerStyle.cs
@@ -0,0 +1,10 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerStyle
+	{
+		void SetAsStyle();
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..15b563272592097800df6e410afd5adf21b9057b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f1c42abc9a20244c8b46c1cbb234eacf
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerTexturing.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerTexturing.cs
new file mode 100644
index 0000000000000000000000000000000000000000..28e7ddda8fcfab811a5431748bf44804ab5c9dc3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerTexturing.cs
@@ -0,0 +1,30 @@
+namespace Mapbox.Unity.Map
+{
+	public interface ISubLayerTexturing
+	{
+		ISubLayerDarkStyle DarkStyle { get; }
+		ISubLayerLightStyle LightStyle { get; }
+		ISubLayerColorStyle ColorStyle { get; }
+
+		ISubLayerRealisticStyle RealisticStyle { get; }
+		ISubLayerFantasyStyle FantasyStyle { get; }
+		ISubLayerSimpleStyle SimpleStyle { get; }
+
+		ISubLayerCustomStyle CustomStyle { get; }
+
+		/// <summary>
+		/// Sets the type of the style.
+		/// </summary>
+		/// <param name="styleType">Style type.</param>
+		void SetStyleType(StyleTypes styleType);
+
+		/// <summary>
+		/// Gets the type of style used in the layer.
+		/// </summary>
+		/// <returns>The style type.</returns>
+		StyleTypes GetStyleType();
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerTexturing.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerTexturing.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..36821f2fad1ba6cf211803c17d546bd051a62a38
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ISubLayerTexturing.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 69bc09e420e0949999f2fbaf03292937
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ITerrainLayer.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ITerrainLayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a247e5fbd5a12d1a13e59aeb6acdf599f0f062f8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ITerrainLayer.cs
@@ -0,0 +1,95 @@
+using UnityEngine;
+
+namespace Mapbox.Unity.Map
+{
+	public interface ITerrainLayer : ILayer
+	{
+		/// <summary>
+		/// Gets the `Data Source` for the `TERRAIN` section.
+		/// </summary>
+		ElevationSourceType LayerSource { get; }
+		/// <summary>
+		/// Gets the `Elevation Layer Type` for the `TERRAIN` section.
+		/// </summary>
+		ElevationLayerType ElevationType { get; set; }
+		/// <summary>
+		/// Gets the `Exaggeration Factor` for the `TERRAIN` section.
+		/// </summary>
+		float ExaggerationFactor { get; set; }
+
+		/// <summary>
+		/// Sets the Data Source for `TERRAIN`. By default this is set to
+		/// `Mapbox Terrain`. Currenly, only terrain-rgb is supported.
+		/// Use <paramref name="terrainSource"/> = `None`, to disable the terrain.
+		/// </summary>
+		/// <param name="terrainSource">`Data Source` for `TERRAIN`</param>
+		void SetLayerSource(ElevationSourceType terrainSource = ElevationSourceType.MapboxTerrain);
+
+		/// <summary>
+		/// Sets the `Elevation Layer Type` which is the main strategy for terrain
+		/// mesh generation. `Flat Terrain` doesn't pull data from servers, it
+		/// uses a quad as the terrain. </summary>
+		/// <param name="elevationType">Type of the elevation. Can be set to `Terrain with Elevation`,
+		/// `Flat Terrain`, `Globe`, or `Low Polygon Terrain`. Note: low poly doesn't
+		/// improve performance.</param>
+		void SetElevationType(ElevationLayerType elevationType);
+
+		/// <summary>
+		/// Enables or disables the `Add Collider` settings for adding a collider
+		/// to the terrain. The collider type is a mesh collider.
+		/// </summary>
+		/// <param name="enable">Boolean for toggling `Add Collider`. </param>
+		void EnableCollider(bool enable);
+
+		/// <summary>
+		/// Sets the `Exaggeration Factor` for the terrain. This acts as a multiplier
+		/// for elevation. Use this setting to better highlight elevation in your scene.
+		/// Each elevation point will be multiplied by the float value.
+		/// </summary>
+		/// <param name="factor">Elevation multiplier for `Exaggeration Factor` settings. </param>
+		void SetExaggerationFactor(float factor);
+
+		/// <summary>
+		/// Enables the settings for `Show Sidewalls`.
+		/// </summary>
+		/// <param name="wallHeight">Wall height.</param>
+		/// <param name="wallMaterial">Wall material.</param>
+		void EnableSideWalls(float wallHeight, Material wallMaterial);
+
+		/// <summary>
+		/// Disables the settings for `Show Sidewalls`.
+		/// </summary>
+		void DisableSideWalls();
+
+
+		/// <summary>
+		/// Adds the terrain mesh GameObject to a Unity layer.
+		/// </summary>
+		/// <param name="layerId">Layer identifier. You may need to add the layer in
+		/// the Tags and Layers manager.</param>
+		void AddToUnityLayer(int layerId);
+
+		/// <summary>
+		/// Removes the terrain GameObject from a Unity layer.
+		/// </summary>
+		/// <param name="layerId">Layer identifier.</param>
+		void RemoveFromUnityLayer(int layerId);
+
+		/// <summary>
+		/// Change the `TERRAIN` layer settings.
+		/// </summary>
+		/// <param name="dataSource">The `Data Source` for the terrain.</param>
+		/// <param name="elevationType">`Elevation Layer Type` setting to define elevation strategy.</param>
+		/// <param name="enableCollider">Enables or disables `Use Collider` settings for a mesh collider on the terrain.</param>
+		/// <param name="factor">`Exaggertion Factor` for a multiplier of the height data.</param>
+		/// <param name="layerId">`Add to Unity Layer` settings which adds terrrain to a layer.</param>
+		void SetProperties(ElevationSourceType dataSource = ElevationSourceType.MapboxTerrain, ElevationLayerType elevationType = ElevationLayerType.TerrainWithElevation, bool enableCollider = false, float factor = 1, int layerId = 0);
+	}
+
+
+	public interface IGlobeTerrainLayer : ITerrainLayer
+	{
+		float EarthRadius { get; set; }
+	}
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ITerrainLayer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ITerrainLayer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7ba4ddb9b9ead4cafb72a619d71244c0bf7df67a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ITerrainLayer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 187ce6c4b50f5417890e85afdfe403c4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ImageryLayer.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ImageryLayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..99988ad7df31ea3acd0bde0bc2b81e891f5cba76
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ImageryLayer.cs
@@ -0,0 +1,236 @@
+using Mapbox.Unity.MeshGeneration.Data;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Factories;
+	using Mapbox.Unity.Utilities;
+
+	[Serializable]
+	public class ImageryLayer : AbstractLayer, IImageryLayer
+	{
+		[SerializeField]
+		ImageryLayerProperties _layerProperty = new ImageryLayerProperties();
+
+		[NodeEditorElement("Image Layer")]
+		public ImageryLayerProperties LayerProperty
+		{
+			get
+			{
+				return _layerProperty;
+			}
+			set
+			{
+				_layerProperty = value;
+			}
+		}
+		public MapLayerType LayerType
+		{
+			get
+			{
+				return MapLayerType.Imagery;
+			}
+		}
+
+		public bool IsLayerActive
+		{
+			get
+			{
+				return (_layerProperty.sourceType != ImagerySourceType.None);
+			}
+		}
+
+		public string LayerSourceId
+		{
+			get
+			{
+				return _layerProperty.sourceOptions.Id;
+			}
+			internal set
+			{
+				if (value != _layerProperty.sourceOptions.Id)
+				{
+					_layerProperty.sourceOptions.Id = value;
+					_layerProperty.HasChanged = true;
+				}
+			}
+		}
+
+		public ImagerySourceType LayerSource
+		{
+			get
+			{
+				return _layerProperty.sourceType;
+			}
+		}
+
+		public ImageryLayer()
+		{
+
+		}
+
+		public ImageryLayer(ImageryLayerProperties properties)
+		{
+			_layerProperty = properties;
+		}
+
+
+		public void SetLayerSource(string imageSource)
+		{
+			if (!string.IsNullOrEmpty(imageSource))
+			{
+				_layerProperty.sourceType = ImagerySourceType.Custom;
+				_layerProperty.sourceOptions.Id = imageSource;
+			}
+			else
+			{
+				_layerProperty.sourceType = ImagerySourceType.None;
+				Debug.LogWarning("Empty source - turning off imagery. ");
+			}
+			_layerProperty.HasChanged = true;
+		}
+
+		public void SetRasterOptions(ImageryRasterOptions rasterOptions)
+		{
+			_layerProperty.rasterOptions = rasterOptions;
+			_layerProperty.HasChanged = true;
+		}
+
+		public void Initialize(LayerProperties properties)
+		{
+			_layerProperty = (ImageryLayerProperties)properties;
+			Initialize();
+		}
+
+		public void Initialize()
+		{
+			if (_layerProperty.sourceType != ImagerySourceType.Custom && _layerProperty.sourceType != ImagerySourceType.None)
+			{
+				_layerProperty.sourceOptions.layerSource = MapboxDefaultImagery.GetParameters(_layerProperty.sourceType);
+			}
+			_imageFactory = ScriptableObject.CreateInstance<MapImageFactory>();
+			_imageFactory.SetOptions(_layerProperty);
+			_layerProperty.PropertyHasChanged += RedrawLayer;
+			_layerProperty.rasterOptions.PropertyHasChanged += (property, e) =>
+			{
+				NotifyUpdateLayer(_imageFactory, property as MapboxDataProperty, false);
+			};
+		}
+
+		public void RedrawLayer(object sender, System.EventArgs e)
+		{
+			Factory.SetOptions(_layerProperty);
+			NotifyUpdateLayer(_imageFactory, sender as MapboxDataProperty, false);
+		}
+
+		public void Remove()
+		{
+			_layerProperty = new ImageryLayerProperties
+			{
+				sourceType = ImagerySourceType.None
+			};
+		}
+
+		public void Update(LayerProperties properties)
+		{
+			Initialize(properties);
+		}
+
+		private MapImageFactory _imageFactory;
+		public MapImageFactory Factory
+		{
+			get
+			{
+				return _imageFactory;
+			}
+		}
+
+		#region API Methods
+
+		/// <summary>
+		/// Sets the data source for the image factory.
+		/// </summary>
+		/// <param name="imageSource"></param>
+		public virtual void SetLayerSource(ImagerySourceType imageSource)
+		{
+			if (imageSource != ImagerySourceType.Custom && imageSource != ImagerySourceType.None)
+			{
+				_layerProperty.sourceType = imageSource;
+				_layerProperty.sourceOptions.layerSource = MapboxDefaultImagery.GetParameters(imageSource);
+				_layerProperty.HasChanged = true;
+			}
+			else
+			{
+				Debug.LogWarning("Invalid style - trying to set " + imageSource.ToString() + " as default style!");
+			}
+		}
+
+		/// <summary>
+		/// Enables high quality images for selected image factory source.
+		/// </summary>
+		/// <param name="useRetina"></param>
+		public virtual void UseRetina(bool useRetina)
+		{
+			if (_layerProperty.rasterOptions.useRetina != useRetina)
+			{
+				_layerProperty.rasterOptions.useRetina = useRetina;
+				_layerProperty.rasterOptions.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Enable Texture2D compression for image factory outputs.
+		/// </summary>
+		/// <param name="useCompression"></param>
+		public virtual void UseCompression(bool useCompression)
+		{
+			if (_layerProperty.rasterOptions.useCompression != useCompression)
+			{
+				_layerProperty.rasterOptions.useCompression = useCompression;
+				_layerProperty.rasterOptions.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Enable Texture2D MipMap option for image factory outputs.
+		/// </summary>
+		/// <param name="useMipMap"></param>
+		public virtual void UseMipMap(bool useMipMap)
+		{
+			if (_layerProperty.rasterOptions.useMipMap != useMipMap)
+			{
+				_layerProperty.rasterOptions.useMipMap = useMipMap;
+				_layerProperty.rasterOptions.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Change image layer settings.
+		/// </summary>
+		/// <param name="imageSource">Data source for the image provider.</param>
+		/// <param name="useRetina">Enable/Disable high quality imagery.</param>
+		/// <param name="useCompression">Enable/Disable Unity3d Texture2d image compression.</param>
+		/// <param name="useMipMap">Enable/Disable Unity3d Texture2d image mipmapping.</param>
+		public virtual void SetProperties(ImagerySourceType imageSource, bool useRetina, bool useCompression, bool useMipMap)
+		{
+			if (imageSource != ImagerySourceType.Custom && imageSource != ImagerySourceType.None)
+			{
+				_layerProperty.sourceType = imageSource;
+				_layerProperty.sourceOptions.layerSource = MapboxDefaultImagery.GetParameters(imageSource);
+				_layerProperty.HasChanged = true;
+			}
+
+			if (_layerProperty.rasterOptions.useRetina != useRetina ||
+				_layerProperty.rasterOptions.useCompression != useCompression ||
+				_layerProperty.rasterOptions.useMipMap != useMipMap)
+			{
+				_layerProperty.rasterOptions.useRetina = useRetina;
+				_layerProperty.rasterOptions.useCompression = useCompression;
+				_layerProperty.rasterOptions.useMipMap = useMipMap;
+				_layerProperty.rasterOptions.HasChanged = true;
+			}
+		}
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ImageryLayer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ImageryLayer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e41952673e198a64c5e1b09db86cb367b2431dd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/ImageryLayer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e27f3b90b51364893ba4077dae9a6f83
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultElevation.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultElevation.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2d5bcbedb43b98361e54de998bc72f50768ec86a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultElevation.cs
@@ -0,0 +1,29 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+
+	public static class MapboxDefaultElevation
+	{
+		public static Style GetParameters(ElevationSourceType defaultElevation)
+		{
+			Style defaultStyle = new Style();
+			switch (defaultElevation)
+			{
+				case ElevationSourceType.MapboxTerrain:
+					defaultStyle = new Style
+					{
+						Id = "mapbox.terrain-rgb",
+						Name = "Mapbox Terrain"
+					};
+
+					break;
+				case ElevationSourceType.Custom:
+					throw new Exception("Invalid type : Custom");
+				default:
+					break;
+			}
+
+			return defaultStyle;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultElevation.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultElevation.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..acd5f3246d24d77f02b051442865eb88eb44602d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultElevation.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2e4a090c1e7164452aa2e5e568bcf1a3
+timeCreated: 1520911901
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultImagery.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultImagery.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c4b59495294ca8135dc0a3c7761a4b772a185d16
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultImagery.cs
@@ -0,0 +1,71 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using Mapbox.Unity.MeshGeneration.Factories;
+	public static class MapboxDefaultImagery
+	{
+		public static Style GetParameters(ImagerySourceType defaultImagery)
+		{
+			Style defaultStyle = new Style();
+			switch (defaultImagery)
+			{
+				case ImagerySourceType.MapboxStreets:
+					defaultStyle = new Style
+					{
+						Id = "mapbox://styles/mapbox/streets-v10",
+						Name = "Streets"
+					};
+
+					break;
+				case ImagerySourceType.MapboxOutdoors:
+					defaultStyle = new Style
+					{
+						Id = "mapbox://styles/mapbox/outdoors-v10",
+						Name = "Streets"
+					};
+
+					break;
+				case ImagerySourceType.MapboxDark:
+					defaultStyle = new Style
+					{
+						Id = "mapbox://styles/mapbox/dark-v9",
+						Name = "Dark"
+					};
+
+					break;
+				case ImagerySourceType.MapboxLight:
+					defaultStyle = new Style
+					{
+						Id = "mapbox://styles/mapbox/light-v9",
+						Name = "Light"
+					};
+
+					break;
+				case ImagerySourceType.MapboxSatellite:
+					defaultStyle = new Style
+					{
+						Id = "mapbox.satellite",
+						Name = "Satellite"
+					};
+
+					break;
+				case ImagerySourceType.MapboxSatelliteStreet:
+					defaultStyle = new Style
+					{
+						Id = "mapbox://styles/mapbox/satellite-streets-v10",
+						Name = "Satellite Streets"
+					};
+
+					break;
+				case ImagerySourceType.Custom:
+					throw new Exception("Invalid type : Custom");
+				case ImagerySourceType.None:
+					throw new Exception("Invalid type : None");
+				default:
+					break;
+			}
+
+			return defaultStyle;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultImagery.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultImagery.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a92318be28475f7a54ac86dae59020c5584ab4bc
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultImagery.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2ae5c1afa3223459b8343ea6c6d580a2
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultStyles.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultStyles.cs
new file mode 100644
index 0000000000000000000000000000000000000000..faeb92755d909ee943c012a7774312527573975d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultStyles.cs
@@ -0,0 +1,34 @@
+
+namespace Mapbox.Unity.Map
+{
+	using System.IO;
+
+	/// <summary>
+	/// MapboxDefaultStyles generates a new GeometryMaterialOptions object based on data contained in a MapFeatureStyleOptions. 
+	/// </summary>
+
+	public class StyleAssetPathBundle
+	{
+		public string topMaterialPath;
+		public string sideMaterialPath;
+		public string atlasPath;
+		public string palettePath;
+
+		public StyleAssetPathBundle(string styleName, string path, string samplePaletteName = "")
+		{
+			string topMaterialName = string.Format("{0}{1}", styleName, Constants.StyleAssetNames.TOP_MATERIAL_SUFFIX);
+			string sideMaterialName = string.Format("{0}{1}", styleName, Constants.StyleAssetNames.SIDE_MATERIAL_SUFFIX);
+			string atlasInfoName = string.Format("{0}{1}", styleName, Constants.StyleAssetNames.ALTAS_SUFFIX);
+			string paletteName = (styleName == "Simple") ? samplePaletteName : string.Format("{0}{1}", styleName, Constants.StyleAssetNames.PALETTE_SUFFIX);
+
+			string materialFolderPath = Path.Combine(path, Constants.Path.MAPBOX_STYLES_MATERIAL_FOLDER);
+			string atlasFolderPath = Path.Combine(path, Constants.Path.MAPBOX_STYLES_ATLAS_FOLDER);
+			string paletteFolderPath = Path.Combine(path, Constants.Path.MAPBOX_STYLES_PALETTES_FOLDER);
+
+			topMaterialPath = Path.Combine(materialFolderPath, topMaterialName);
+			sideMaterialPath = Path.Combine(materialFolderPath, sideMaterialName);
+			atlasPath = Path.Combine(atlasFolderPath, atlasInfoName);
+			palettePath = Path.Combine(paletteFolderPath, paletteName);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultStyles.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultStyles.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..97eef3e8a8f9479282bd3d498ad5f8768624339c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultStyles.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 8ff494b8d5c6a455d91a0e5ef54f549e
+timeCreated: 1524678818
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultVector.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultVector.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3bf46394aa6a76c6e2670cb66b8138c69b6f2b1e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultVector.cs
@@ -0,0 +1,53 @@
+namespace Mapbox.Unity.Map
+{
+	using System;
+
+	public static class MapboxDefaultVector
+	{
+		public static Style GetParameters(VectorSourceType defaultElevation)
+		{
+			Style defaultStyle = new Style();
+			switch (defaultElevation)
+			{
+				case VectorSourceType.MapboxStreets:
+					defaultStyle = new Style
+					{
+						Id = "mapbox.mapbox-streets-v7",
+						Name = "Mapbox Streets v7"
+					};
+
+					break;
+				case VectorSourceType.MapboxStreetsV8:
+					defaultStyle = new Style
+					{
+						Id = "mapbox.mapbox-streets-v8",
+						Name = "Mapbox Streets v8"
+					};
+
+					break;
+				case VectorSourceType.MapboxStreetsWithBuildingIds:
+					defaultStyle = new Style
+					{
+						Id = "mapbox.3d-buildings,mapbox.mapbox-streets-v7",
+						Name = "Mapbox Streets With Building Ids"
+					};
+
+					break;
+				case VectorSourceType.MapboxStreetsV8WithBuildingIds:
+					defaultStyle = new Style
+					{
+						Id = "mapbox.3d-buildings,mapbox.mapbox-streets-v8",
+						Name = "Mapbox Streets v8 With Building Ids"
+					};
+
+					break;
+				case VectorSourceType.Custom:
+					throw new Exception("Invalid type : Custom");
+				default:
+					break;
+			}
+
+			return defaultStyle;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultVector.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultVector.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d7f106773411d71ab9e037354d9f51dd2dd75ce3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/MapboxDefaultVector.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c27882298c0e14c0ea03761c9aac8ecb
+timeCreated: 1520911901
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerBehaviorModifiers.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerBehaviorModifiers.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a2d1ae66a2068f3d56a34abb16e1246574d207a7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerBehaviorModifiers.cs
@@ -0,0 +1,169 @@
+using System;
+using System.Collections.Generic;
+using Mapbox.Unity.MeshGeneration.Modifiers;
+
+namespace Mapbox.Unity.Map
+{
+	public class SubLayerBehaviorModifiers : ISubLayerBehaviorModifiers
+	{
+		// TODO: Remove if not required.
+		VectorSubLayerProperties _subLayerProperties;
+		public SubLayerBehaviorModifiers(VectorSubLayerProperties subLayerProperties)
+		{
+			_subLayerProperties = subLayerProperties;
+		}
+
+		/// <summary>
+		/// Certain layers ("Mapbox Streets with Building Ids") contains unique identifiers
+		/// to help mesh generation and feature management. This settings should be
+		/// set to "true" while using these tilesets.
+		/// </summary>
+		/// <param name="isUniqueIds">Is layer using unique building ids</param>
+		public virtual void IsBuildingIdsUnique(bool isUniqueIds)
+		{
+			if (_subLayerProperties.buildingsWithUniqueIds != isUniqueIds)
+			{
+				_subLayerProperties.buildingsWithUniqueIds = isUniqueIds;
+				_subLayerProperties.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Set the strategy for pivot placement for features.
+		/// </summary>
+		/// <param name="positionTargetType">Strategy for feature pivot point</param>
+		public virtual void SetFeaturePivotStrategy(PositionTargetType positionTargetType)
+		{
+			if (_subLayerProperties.moveFeaturePositionTo != positionTargetType)
+			{
+				_subLayerProperties.moveFeaturePositionTo = positionTargetType;
+				_subLayerProperties.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Add game object modifier to the modifiers list.
+		/// </summary>
+		/// <param name="modifier">Game object modifier to add to style</param>
+		public virtual void AddGameObjectModifier(GameObjectModifier modifier)
+		{
+			if (_subLayerProperties.GoModifiers == null)
+			{
+				_subLayerProperties.GoModifiers = new List<GameObjectModifier>();
+			}
+			_subLayerProperties.GoModifiers.Add(modifier);
+			_subLayerProperties.HasChanged = true;
+		}
+
+		/// <summary>
+		/// List of game object modifiers to the modifiers list.
+		/// </summary>
+		/// <param name="modifiers">List of game object modifiers to add to style</param>
+		public virtual void AddGameObjectModifier(List<GameObjectModifier> modifiers)
+		{
+			if (_subLayerProperties.GoModifiers == null)
+			{
+				_subLayerProperties.GoModifiers = new List<GameObjectModifier>();
+			}
+			_subLayerProperties.GoModifiers.AddRange(modifiers);
+			_subLayerProperties.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Return game object modifiers from the modifiers list by query
+		/// </summary>
+		/// <param name="function">Query function to test mesh modifiers</param>
+		public virtual List<GameObjectModifier> GetGameObjectModifier(Func<GameObjectModifier, bool> function)
+		{
+			var finalList = new List<GameObjectModifier>();
+			if (_subLayerProperties.GoModifiers != null)
+			{
+				foreach (var goModifier in _subLayerProperties.GoModifiers)
+				{
+					if (function(goModifier))
+					{
+						finalList.Add(goModifier);
+					}
+				}
+			}
+
+			return finalList;
+		}
+
+		/// <summary>
+		/// Remove game object modifier from the modifiers list
+		/// </summary>
+		/// <param name="modifier">Game object modifier to be removed from style</param>
+		public virtual void RemoveGameObjectModifier(GameObjectModifier modifier)
+		{
+			if (_subLayerProperties.GoModifiers != null)
+			{
+				_subLayerProperties.GoModifiers.Remove(modifier);
+				_subLayerProperties.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Add mesh modifier to the modifiers list.
+		/// </summary>
+		/// <param name="modifier">Mesh modifier to add to style</param>
+		public virtual void AddMeshModifier(MeshModifier modifier)
+		{
+			if (_subLayerProperties.MeshModifiers == null)
+			{
+				_subLayerProperties.MeshModifiers = new List<MeshModifier>();
+			}
+			_subLayerProperties.MeshModifiers.Add(modifier);
+			_subLayerProperties.HasChanged = true;
+		}
+
+		/// <summary>
+		/// List of mesh modifiers to the modifiers list.
+		/// </summary>
+		/// <param name="modifiers">List of mesh modifiers to add to style</param>
+		public virtual void AddMeshModifier(List<MeshModifier> modifiers)
+		{
+			if (_subLayerProperties.MeshModifiers == null)
+			{
+				_subLayerProperties.MeshModifiers = new List<MeshModifier>();
+			}
+			_subLayerProperties.MeshModifiers.AddRange(modifiers);
+			_subLayerProperties.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Return mesh modifiers from the modifiers list by query
+		/// </summary>
+		/// <param name="function">Query function to test mesh modifiers</param>
+		public virtual List<MeshModifier> GetMeshModifier(Func<MeshModifier, bool> function)
+		{
+			var finalList = new List<MeshModifier>();
+			if (_subLayerProperties.MeshModifiers != null)
+			{
+				foreach (var meshModifier in _subLayerProperties.MeshModifiers)
+				{
+					if (function(meshModifier))
+					{
+						finalList.Add(meshModifier);
+					}
+				}
+			}
+
+			return finalList;
+		}
+
+		/// <summary>
+		/// Remove mesh modifier from the modifiers list
+		/// </summary>
+		/// <param name="modifier">Mesh modifier to be removed from style</param>
+		public virtual void RemoveMeshModifier(MeshModifier modifier)
+		{
+			if (_subLayerProperties.MeshModifiers != null)
+			{
+				_subLayerProperties.MeshModifiers.Remove(modifier);
+				_subLayerProperties.HasChanged = true;
+			}
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerBehaviorModifiers.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerBehaviorModifiers.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4c088b73ec8341d4a009194c6eb412599dd5dbf8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerBehaviorModifiers.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 4777224cd8804cc09e27cec98766a375
+timeCreated: 1538422726
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerColorStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerColorStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f733a324e224350828eb8fc258758316cb8e234b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerColorStyle.cs
@@ -0,0 +1,45 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+
+	public class SubLayerColorStyle : ISubLayerColorStyle
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerColorStyle(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+
+		public Color FeatureColor
+		{
+			get
+			{
+				return _materialOptions.colorStyleColor;
+			}
+
+			set
+			{
+				if (_materialOptions.colorStyleColor != value)
+				{
+					_materialOptions.colorStyleColor = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+
+		public void SetAsStyle()
+		{
+			SetAsStyle(Color.white);
+		}
+
+		public void SetAsStyle(Color featureColor)
+		{
+			_materialOptions.style = StyleTypes.Color;
+			_materialOptions.colorStyleColor = featureColor;
+			_materialOptions.HasChanged = true;
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerColorStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerColorStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4c10e4e3e6b32688f5e21db7f254b7006951da19
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerColorStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a01ce7b00f9c041ad85644335a300fa9
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5be9014d6c76293ffd730a34fcc75af8a54eb0c8
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyle.cs
@@ -0,0 +1,69 @@
+namespace Mapbox.Unity.Map
+{
+	public class SubLayerCustomStyle : ISubLayerCustomStyle
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerCustomStyle(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+
+		public UvMapType TexturingType
+		{
+			get
+			{
+				return _materialOptions.texturingType;
+			}
+
+			set
+			{
+				if (_materialOptions.texturingType != value)
+				{
+					_materialOptions.texturingType = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+		private SubLayerCustomStyleTiled _tiled;
+		public ISubLayerCustomStyleTiled Tiled
+		{
+			get
+			{
+				if (_tiled == null)
+				{
+					_tiled = new SubLayerCustomStyleTiled(_materialOptions);
+				}
+				return _tiled;
+			}
+		}
+
+		private SubLayerCustomStyleAtlas _textureAtlas;
+		public ISubLayerCustomStyleAtlas TextureAtlas
+		{
+			get
+			{
+				if (_textureAtlas == null)
+				{
+					_textureAtlas = new SubLayerCustomStyleAtlas(_materialOptions);
+				}
+				return _textureAtlas;
+			}
+		}
+
+		private SubLayerCustomStyleAtlasWithColorPallete _textureAtlasPallete;
+		public ISubLayerCustomStyleAtlasWithColorPallete TextureAtlasWithColorPallete
+		{
+			get
+			{
+				if (_textureAtlasPallete == null)
+				{
+					_textureAtlasPallete = new SubLayerCustomStyleAtlasWithColorPallete(_materialOptions);
+				}
+				return _textureAtlasPallete;
+			}
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4e1adb212fe5636a9b01cfa3d26112f5466c428f
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 266c669d1b70b40a88bec6b9193722ac
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlas.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlas.cs
new file mode 100644
index 0000000000000000000000000000000000000000..eb2aec1e6c13916c580354ef85de889821686166
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlas.cs
@@ -0,0 +1,78 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public class SubLayerCustomStyleAtlas : ISubLayerCustomStyleAtlas
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerCustomStyleAtlas(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+		public Material TopMaterial
+		{
+			get
+			{
+				return _materialOptions.customStyleOptions.materials[0].Materials[0];
+			}
+			set
+			{
+				if (_materialOptions.customStyleOptions.materials[0].Materials[0] != value)
+				{
+					_materialOptions.customStyleOptions.materials[0].Materials[0] = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+		public Material SideMaterial
+		{
+			get
+			{
+				return _materialOptions.customStyleOptions.materials[1].Materials[0];
+			}
+			set
+			{
+				if (_materialOptions.customStyleOptions.materials[1].Materials[0] != value)
+				{
+					_materialOptions.customStyleOptions.materials[1].Materials[0] = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+
+		public AtlasInfo UvAtlas
+		{
+			get
+			{
+				return _materialOptions.customStyleOptions.atlasInfo;
+			}
+
+			set
+			{
+				if (_materialOptions.customStyleOptions.atlasInfo != value)
+				{
+					_materialOptions.customStyleOptions.atlasInfo = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+		public void SetAsStyle(Material topMaterial, Material sideMaterial, AtlasInfo uvAtlas)
+		{
+			_materialOptions.customStyleOptions.texturingType = UvMapType.Atlas;
+			_materialOptions.customStyleOptions.materials[0].Materials[0] = topMaterial;
+			_materialOptions.customStyleOptions.materials[1].Materials[0] = sideMaterial;
+			_materialOptions.customStyleOptions.atlasInfo = uvAtlas;
+			_materialOptions.HasChanged = true;
+		}
+
+		public void SetAsStyle()
+		{
+			_materialOptions.customStyleOptions.SetDefaultAssets();
+			_materialOptions.HasChanged = true;
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlas.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlas.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ddf36b3417e9e05c132c360d74d06ddef54d904d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlas.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0091ed13b56ab49afa140339b816b763
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlasWithColorPallete.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlasWithColorPallete.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c02fe07125e145b2ffcc2090b073f2a63c83df37
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlasWithColorPallete.cs
@@ -0,0 +1,98 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	public class SubLayerCustomStyleAtlasWithColorPallete : ISubLayerCustomStyleAtlasWithColorPallete
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerCustomStyleAtlasWithColorPallete(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+
+		public Material TopMaterial
+		{
+			get
+			{
+				return _materialOptions.materials[0].Materials[0];
+			}
+			set
+			{
+				if (_materialOptions.materials[0].Materials[0] != value)
+				{
+					_materialOptions.materials[0].Materials[0] = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+		public Material SideMaterial
+		{
+			get
+			{
+				return _materialOptions.materials[1].Materials[0];
+			}
+			set
+			{
+				if (_materialOptions.materials[1].Materials[0] != value)
+				{
+					_materialOptions.materials[1].Materials[0] = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+
+		public AtlasInfo UvAtlas
+		{
+			get
+			{
+				return _materialOptions.atlasInfo;
+			}
+
+			set
+			{
+				if (_materialOptions.atlasInfo != value)
+				{
+					_materialOptions.atlasInfo = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+
+		public ScriptablePalette ColorPalette
+		{
+			get
+			{
+				return _materialOptions.colorPalette;
+			}
+
+			set
+			{
+				if (_materialOptions.colorPalette != value)
+				{
+					_materialOptions.colorPalette = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+
+		public void SetAsStyle(Material topMaterial, Material sideMaterial, AtlasInfo uvAtlas, ScriptablePalette palette)
+		{
+			_materialOptions.texturingType = UvMapType.Atlas;
+			_materialOptions.materials[0].Materials[0] = topMaterial;
+			_materialOptions.materials[1].Materials[0] = sideMaterial;
+			_materialOptions.atlasInfo = uvAtlas;
+			_materialOptions.colorPalette = palette;
+			_materialOptions.HasChanged = true;
+		}
+
+		public void SetAsStyle()
+		{
+			_materialOptions.SetDefaultAssets(UvMapType.AtlasWithColorPalette);
+			_materialOptions.HasChanged = true;
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlasWithColorPallete.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlasWithColorPallete.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0cf91989e51fb19d992b02a50c649970d48e6459
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleAtlasWithColorPallete.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a3d712d45039847a99a4c4a1df68827c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleTiled.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleTiled.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1269ba461f2ad9532a87512684a454dfa7b9efa3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleTiled.cs
@@ -0,0 +1,64 @@
+namespace Mapbox.Unity.Map
+{
+	using UnityEngine;
+
+	public class SubLayerCustomStyleTiled : ISubLayerCustomStyleTiled
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerCustomStyleTiled(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+		public Material TopMaterial
+		{
+			get
+			{
+				return _materialOptions.materials[0].Materials[0];
+			}
+			set
+			{
+				if (_materialOptions.materials[0].Materials[0] != value)
+				{
+					_materialOptions.materials[0].Materials[0] = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+		public Material SideMaterial
+		{
+			get
+			{
+				return _materialOptions.materials[1].Materials[0];
+			}
+			set
+			{
+				if (_materialOptions.materials[1].Materials[0] != value)
+				{
+					_materialOptions.materials[1].Materials[0] = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+
+		public void SetAsStyle(Material topMaterial, Material sideMaterial = null)
+		{
+			_materialOptions.texturingType = UvMapType.Tiled;
+			_materialOptions.materials[0].Materials[0] = topMaterial;
+			_materialOptions.materials[1].Materials[0] = sideMaterial;
+			_materialOptions.HasChanged = true;
+		}
+
+		public void SetAsStyle()
+		{
+			SetAsStyle(null, null);
+		}
+
+		public void SetMaterials(Material topMaterial, Material sideMaterial)
+		{
+			SetAsStyle(topMaterial, sideMaterial);
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleTiled.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleTiled.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dd4de1c2448e72716663081b7d429df6c58a8b34
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerCustomStyleTiled.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c39cffb4b1ef047e2be2134a6183444f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerDarkStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerDarkStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5a331551dcd0d10a66a99f855606d4e907ce000b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerDarkStyle.cs
@@ -0,0 +1,40 @@
+namespace Mapbox.Unity.Map
+{
+	public class SubLayerDarkStyle : ISubLayerDarkStyle
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerDarkStyle(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+
+		public float Opacity
+		{
+			get
+			{
+				return _materialOptions.darkStyleOpacity;
+			}
+
+			set
+			{
+				_materialOptions.darkStyleOpacity = value;
+				_materialOptions.HasChanged = true;
+			}
+		}
+
+		public void SetAsStyle()
+		{
+			SetAsStyle(1.0f);
+		}
+
+		public void SetAsStyle(float opacity)
+		{
+			_materialOptions.style = StyleTypes.Light;
+			_materialOptions.darkStyleOpacity = opacity;
+			_materialOptions.HasChanged = true;
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerDarkStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerDarkStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..05d530679d42f2352e739f04364a7c710aa7af1e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerDarkStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7d55a2e41465546e99410e822cbb622e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerFantasyStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerFantasyStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d7d3915fe4bfb73dde3d0e93c02e2a95b98ce0f3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerFantasyStyle.cs
@@ -0,0 +1,19 @@
+namespace Mapbox.Unity.Map
+{
+	public class SubLayerFantasyStyle : ISubLayerFantasyStyle
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerFantasyStyle(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+		public void SetAsStyle()
+		{
+			_materialOptions.style = StyleTypes.Fantasy;
+			_materialOptions.HasChanged = true;
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerFantasyStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerFantasyStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..caca7732a4e62a521b65c4887542ca3fcd95ca23
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerFantasyStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2799484baa53f492bbba93c9731b9e52
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerLightStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerLightStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1a96ea31518b370c9f039e6d1a943fd9a1a5dbe6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerLightStyle.cs
@@ -0,0 +1,40 @@
+namespace Mapbox.Unity.Map
+{
+	public class SubLayerLightStyle : ISubLayerLightStyle
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerLightStyle(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+
+		public float Opacity
+		{
+			get
+			{
+				return _materialOptions.lightStyleOpacity;
+			}
+
+			set
+			{
+				_materialOptions.lightStyleOpacity = value;
+				_materialOptions.HasChanged = true;
+			}
+		}
+
+		public void SetAsStyle()
+		{
+			SetAsStyle(1.0f);
+		}
+
+		public void SetAsStyle(float opacity)
+		{
+			_materialOptions.style = StyleTypes.Light;
+			_materialOptions.lightStyleOpacity = opacity;
+			_materialOptions.HasChanged = true;
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerLightStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerLightStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..79695f13550f0cad7e8dd6ed6a07c7906cf406ab
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerLightStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8ede91ec4657e404a87fa5bbe582cdb6
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerModeling.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerModeling.cs
new file mode 100644
index 0000000000000000000000000000000000000000..adc0420e705ee83601b6ed7623759ac925351923
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerModeling.cs
@@ -0,0 +1,64 @@
+using Mapbox.Unity.Map;
+
+namespace Mapbox.Unity.SourceLayers
+{
+	public class SubLayerModeling : ISubLayerModeling
+	{
+		VectorSubLayerProperties _subLayerProperties;
+
+		public SubLayerModeling(VectorSubLayerProperties subLayerProperties)
+		{
+			_subLayerProperties = subLayerProperties;
+		}
+
+		public ISubLayerCoreOptions CoreOptions
+		{
+			get { return _subLayerProperties.coreOptions; }
+		}
+
+		public ISubLayerExtrusionOptions ExtrusionOptions
+		{
+			get { return _subLayerProperties.extrusionOptions; }
+		}
+
+		public ISubLayerColliderOptions ColliderOptions
+		{
+			get { return _subLayerProperties.colliderOptions; }
+		}
+
+		public ISubLayerLineGeometryOptions LineOptions
+		{
+			get { return _subLayerProperties.lineGeometryOptions; }
+		}
+
+		/// <summary>
+		/// Enable terrain snapping for features which sets vertices to terrain
+		/// elevation before extrusion.
+		/// </summary>
+		/// <param name="isEnabled">Enabled terrain snapping</param>
+		public virtual void EnableSnapingTerrain(bool isEnabled)
+		{
+			if (_subLayerProperties.coreOptions.snapToTerrain != isEnabled)
+			{
+				_subLayerProperties.coreOptions.snapToTerrain = isEnabled;
+				_subLayerProperties.coreOptions.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Enable combining individual features meshes into one to minimize gameobject
+		/// count and draw calls.
+		/// </summary>
+		/// <param name="isEnabled"></param>
+		public virtual void EnableCombiningMeshes(bool isEnabled)
+		{
+			if (_subLayerProperties.coreOptions.combineMeshes != isEnabled)
+			{
+				_subLayerProperties.coreOptions.combineMeshes = isEnabled;
+				_subLayerProperties.coreOptions.HasChanged = true;
+			}
+		}
+
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerModeling.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerModeling.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2dfa874cecc3cd1613e7d656fd98d6ecdd44ab08
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerModeling.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ed8cfcdd6f584912ba4f749445adc3b4
+timeCreated: 1538171546
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerRealisticStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerRealisticStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9ad37545364204279992d324a9a48f8bfeaca4cf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerRealisticStyle.cs
@@ -0,0 +1,19 @@
+namespace Mapbox.Unity.Map
+{
+	public class SubLayerRealisticStyle : ISubLayerRealisticStyle
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerRealisticStyle(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+		public void SetAsStyle()
+		{
+			_materialOptions.style = StyleTypes.Realistic;
+			_materialOptions.HasChanged = true;
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerRealisticStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerRealisticStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a60fcce151ebb526d8a4d24d669512fd19709a82
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerRealisticStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aae18f819ca0c4f37a4882c43ffe04f1
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerSimpleStyle.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerSimpleStyle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fac8003ec2216b55977d26b949161445da0b3d06
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerSimpleStyle.cs
@@ -0,0 +1,43 @@
+namespace Mapbox.Unity.Map
+{
+	public class SubLayerSimpleStyle : ISubLayerSimpleStyle
+	{
+		private GeometryMaterialOptions _materialOptions;
+		public SubLayerSimpleStyle(GeometryMaterialOptions materialOptions)
+		{
+			_materialOptions = materialOptions;
+		}
+
+		public SamplePalettes PaletteType
+		{
+			get
+			{
+				return _materialOptions.samplePalettes;
+			}
+
+			set
+			{
+				if (_materialOptions.samplePalettes != value)
+				{
+					_materialOptions.samplePalettes = value;
+					_materialOptions.HasChanged = true;
+				}
+			}
+		}
+
+		public void SetAsStyle()
+		{
+			SetAsStyle(SamplePalettes.City);
+		}
+
+		public void SetAsStyle(SamplePalettes palette)
+		{
+			_materialOptions.style = StyleTypes.Fantasy;
+			_materialOptions.samplePalettes = palette;
+			_materialOptions.HasChanged = true;
+		}
+	}
+
+}
+
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerSimpleStyle.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerSimpleStyle.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f001fb367607f98084e615211560c708c1ac1c7c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/SubLayerSimpleStyle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: de75de3987dab4beaa381b91d5946df1
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/TerrainLayer.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/TerrainLayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..de16634d3f9bff3f4c9f1277b46882ed12b60ff6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/TerrainLayer.cs
@@ -0,0 +1,372 @@
+using Mapbox.Unity.MeshGeneration.Data;
+
+namespace Mapbox.Unity.Map
+{
+	using System;
+	using UnityEngine;
+	using Mapbox.Unity.MeshGeneration.Factories;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Unity.MeshGeneration.Factories.TerrainStrategies;
+
+	// Layer Concrete Implementation.
+	[Serializable]
+	public class TerrainLayer : AbstractLayer, ITerrainLayer, IGlobeTerrainLayer
+	{
+		[SerializeField]
+		[NodeEditorElement("Terrain Layer")]
+		ElevationLayerProperties _layerProperty = new ElevationLayerProperties();
+		[NodeEditorElement("Terrain Layer")]
+		public ElevationLayerProperties LayerProperty
+		{
+			get
+			{
+				return _layerProperty;
+			}
+		}
+
+		public MapLayerType LayerType
+		{
+			get
+			{
+				return MapLayerType.Elevation;
+			}
+		}
+
+		public bool IsLayerActive
+		{
+			get
+			{
+				return (_layerProperty.sourceType != ElevationSourceType.None);
+			}
+		}
+
+		public string LayerSourceId
+		{
+			get
+			{
+				return _layerProperty.sourceOptions.Id;
+			}
+		}
+
+		public ElevationSourceType LayerSource
+		{
+			get
+			{
+				return _layerProperty.sourceType;
+			}
+		}
+
+		public ElevationLayerType ElevationType
+		{
+			get
+			{
+				return _layerProperty.elevationLayerType;
+			}
+			set
+			{
+				if (_layerProperty.elevationLayerType != value)
+				{
+					_layerProperty.elevationLayerType = value;
+					_layerProperty.HasChanged = true;
+				}
+			}
+		}
+		public float ExaggerationFactor
+		{
+			get
+			{
+				return _layerProperty.requiredOptions.exaggerationFactor;
+			}
+			set
+			{
+				_layerProperty.requiredOptions.exaggerationFactor = value;
+				_layerProperty.requiredOptions.HasChanged = true;
+			}
+		}
+
+		public float EarthRadius
+		{
+			get
+			{
+				return _layerProperty.modificationOptions.earthRadius;
+			}
+
+			set
+			{
+				_layerProperty.modificationOptions.earthRadius = value;
+			}
+		}
+		private TerrainFactoryBase _elevationFactory;
+		public AbstractTileFactory Factory
+		{
+			get
+			{
+				return _elevationFactory;
+			}
+		}
+
+
+
+		public TerrainLayer()
+		{
+		}
+
+		public TerrainLayer(ElevationLayerProperties properties)
+		{
+			_layerProperty = properties;
+		}
+
+		public void Initialize(LayerProperties properties)
+		{
+			_layerProperty = (ElevationLayerProperties)properties;
+
+			Initialize();
+		}
+
+		public void Initialize()
+		{
+			_elevationFactory = ScriptableObject.CreateInstance<TerrainFactoryBase>();
+			SetFactoryOptions();
+
+			_layerProperty.colliderOptions.PropertyHasChanged += (property, e) =>
+			{
+				NotifyUpdateLayer(_elevationFactory, property as MapboxDataProperty, true);
+			};
+			_layerProperty.requiredOptions.PropertyHasChanged += (property, e) =>
+			{
+				NotifyUpdateLayer(_elevationFactory, property as MapboxDataProperty, true);
+			};
+			_layerProperty.unityLayerOptions.PropertyHasChanged += (property, e) =>
+			{
+				NotifyUpdateLayer(_elevationFactory, property as MapboxDataProperty, true);
+			};
+			_layerProperty.PropertyHasChanged += (property, e) =>
+			{
+				//terrain factory uses strategy objects and they are controlled by layer
+				//so we have to refresh that first
+				//pushing new settings to factory directly
+				SetFactoryOptions();
+				//notifying map to reload existing tiles
+				NotifyUpdateLayer(_elevationFactory, property as MapboxDataProperty, true);
+			};
+		}
+
+		private void SetFactoryOptions()
+		{
+			//terrain factory uses strategy objects and they are controlled by layer
+			//so we have to refresh that first
+			SetStrategy();
+			//pushing new settings to factory directly
+			Factory.SetOptions(_layerProperty);
+		}
+
+		private void SetStrategy()
+		{
+			switch (_layerProperty.elevationLayerType)
+			{
+				case ElevationLayerType.FlatTerrain:
+					_elevationFactory.Strategy = new FlatTerrainStrategy();
+					break;
+				case ElevationLayerType.LowPolygonTerrain:
+					_elevationFactory.Strategy = new LowPolyTerrainStrategy();
+					break;
+				case ElevationLayerType.TerrainWithElevation:
+					if (_layerProperty.sideWallOptions.isActive)
+					{
+						_elevationFactory.Strategy = new ElevatedTerrainWithSidesStrategy();
+					}
+					else
+					{
+						_elevationFactory.Strategy = new ElevatedTerrainStrategy();
+					}
+					break;
+				case ElevationLayerType.GlobeTerrain:
+					_elevationFactory.Strategy = new FlatSphereTerrainStrategy();
+					break;
+				default:
+					break;
+			}
+		}
+
+		public void Remove()
+		{
+			_layerProperty = new ElevationLayerProperties
+			{
+				sourceType = ElevationSourceType.None
+			};
+		}
+
+
+
+		public void Update(LayerProperties properties)
+		{
+			Initialize(properties);
+		}
+
+		#region API Methods
+
+		/// <summary>
+		/// Sets the data source for Terrain Layer.
+		/// Defaults to MapboxTerrain.
+		/// Use <paramref name="terrainSource"/> = None, to disable the Terrain Layer.
+		/// </summary>
+		/// <param name="terrainSource">Terrain source.</param>
+		public virtual void SetLayerSource(ElevationSourceType terrainSource = ElevationSourceType.MapboxTerrain)
+		{
+			if (terrainSource != ElevationSourceType.Custom && terrainSource != ElevationSourceType.None)
+			{
+				_layerProperty.sourceType = terrainSource;
+				_layerProperty.sourceOptions.layerSource = MapboxDefaultElevation.GetParameters(terrainSource);
+				_layerProperty.HasChanged = true;
+			}
+			else
+			{
+				Debug.LogWarning("Invalid style - trying to set " + terrainSource.ToString() + " as default style!");
+			}
+		}
+
+		/// <summary>
+		/// Sets the data source to a custom source for Terrain Layer.
+		/// </summary>
+		/// <param name="terrainSource">Terrain source.</param>
+		public virtual void SetLayerSource(string terrainSource)
+		{
+			if (!string.IsNullOrEmpty(terrainSource))
+			{
+				_layerProperty.sourceType = ElevationSourceType.Custom;
+				_layerProperty.sourceOptions.Id = terrainSource;
+			}
+			else
+			{
+				_layerProperty.sourceType = ElevationSourceType.None;
+				_layerProperty.elevationLayerType = ElevationLayerType.FlatTerrain;
+				Debug.LogWarning("Empty source - turning off terrain. ");
+			}
+			_layerProperty.HasChanged = true;
+		}
+		/// <summary>
+		/// Sets the main strategy for terrain mesh generation.
+		/// Flat terrain doesn't pull data from servers and just uses a quad as terrain.
+		/// </summary>
+		/// <param name="elevationType">Type of the elevation strategy</param>
+		public virtual void SetElevationType(ElevationLayerType elevationType)
+		{
+			if (_layerProperty.elevationLayerType != elevationType)
+			{
+				_layerProperty.elevationLayerType = elevationType;
+				_layerProperty.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Add/Remove terrain collider. Terrain uses mesh collider.
+		/// </summary>
+		/// <param name="enable">Boolean for enabling/disabling mesh collider</param>
+		public virtual void EnableCollider(bool enable)
+		{
+			if (_layerProperty.colliderOptions.addCollider != enable)
+			{
+				_layerProperty.colliderOptions.addCollider = enable;
+				_layerProperty.colliderOptions.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Sets the elevation multiplier for terrain. It'll regenerate terrain mesh, multiplying each point elevation by provided value.
+		/// </summary>
+		/// <param name="factor">Elevation multiplier</param>
+		public virtual void SetExaggerationFactor(float factor)
+		{
+			if (_layerProperty.requiredOptions.exaggerationFactor != factor)
+			{
+				_layerProperty.requiredOptions.exaggerationFactor = factor;
+				_layerProperty.requiredOptions.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Turn on terrain side walls.
+		/// </summary>
+		/// <param name="wallHeight">Wall height.</param>
+		/// <param name="wallMaterial">Wall material.</param>
+		public virtual void EnableSideWalls(float wallHeight, Material wallMaterial)
+		{
+			_layerProperty.sideWallOptions.isActive = true;
+			_layerProperty.sideWallOptions.wallHeight = wallHeight;
+			_layerProperty.sideWallOptions.wallMaterial = wallMaterial;
+			_layerProperty.HasChanged = true;
+		}
+		public void DisableSideWalls()
+		{
+			_layerProperty.sideWallOptions.isActive = false;
+			_layerProperty.HasChanged = true;
+		}
+
+		public void RemoveFromUnityLayer(int layerId)
+		{
+			if (_layerProperty.unityLayerOptions.layerId == layerId)
+			{
+				_layerProperty.unityLayerOptions.addToLayer = false;
+				_layerProperty.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Adds Terrain GameObject to Unity layer.
+		/// </summary>
+		/// <param name="layerId">Layer identifier.</param>
+		public virtual void AddToUnityLayer(int layerId)
+		{
+			if (_layerProperty.unityLayerOptions.layerId != layerId)
+			{
+				_layerProperty.unityLayerOptions.addToLayer = true;
+				_layerProperty.unityLayerOptions.layerId = layerId;
+				_layerProperty.HasChanged = true;
+			}
+		}
+
+		/// <summary>
+		/// Change terrain layer settings.
+		/// </summary>
+		/// <param name="dataSource">The data source for the terrain height map.</param>
+		/// <param name="elevationType">Mesh generation strategy for the tile/height.</param>
+		/// <param name="enableCollider">Enable/Disable collider component for the tile game object.</param>
+		/// <param name="factor">Multiplier for the height data.</param>
+		/// <param name="layerId">Unity Layer for the tile game object.</param>
+		public virtual void SetProperties(ElevationSourceType dataSource = ElevationSourceType.MapboxTerrain,
+			ElevationLayerType elevationType = ElevationLayerType.TerrainWithElevation,
+			bool enableCollider = false,
+			float factor = 1,
+			int layerId = 0)
+		{
+			if (_layerProperty.sourceType != dataSource ||
+				_layerProperty.elevationLayerType != elevationType)
+			{
+				_layerProperty.sourceType = dataSource;
+				_layerProperty.elevationLayerType = elevationType;
+				_layerProperty.HasChanged = true;
+			}
+
+			if (_layerProperty.colliderOptions.addCollider != enableCollider)
+			{
+				_layerProperty.colliderOptions.addCollider = enableCollider;
+				_layerProperty.colliderOptions.HasChanged = true;
+			}
+
+			if (_layerProperty.requiredOptions.exaggerationFactor != factor)
+			{
+				_layerProperty.requiredOptions.exaggerationFactor = factor;
+				_layerProperty.requiredOptions.HasChanged = true;
+			}
+
+			if (_layerProperty.unityLayerOptions.layerId != layerId)
+			{
+				_layerProperty.unityLayerOptions.layerId = layerId;
+				_layerProperty.unityLayerOptions.HasChanged = true;
+			}
+		}
+
+
+		#endregion
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/TerrainLayer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/TerrainLayer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1df23ce11b42121183161486db5563624876f6e3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/TerrainLayer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: e443cd3cf7e5244aeb3ef573767b000b
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/VectorLayer.cs b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/VectorLayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2f6fb35696cc89826a5cb4bc17b269bd61e84f02
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/VectorLayer.cs
@@ -0,0 +1,661 @@
+using System.Linq;
+using Mapbox.Utils;
+using System;
+using UnityEngine;
+using System.Collections.Generic;
+using Mapbox.Unity.MeshGeneration.Data;
+using Mapbox.Unity.MeshGeneration.Factories;
+using Mapbox.Unity.Utilities;
+
+namespace Mapbox.Unity.Map
+{
+	[Serializable]
+	public class VectorLayer : AbstractLayer, IVectorDataLayer
+	{
+		//Private Fields
+		[SerializeField]
+		private VectorLayerProperties _layerProperty = new VectorLayerProperties();
+		private VectorTileFactory _vectorTileFactory;
+
+		//Events
+		public EventHandler SubLayerAdded;
+		public EventHandler SubLayerRemoved;
+
+		//Properties
+		[NodeEditorElement(" Vector Layer ")]
+		public VectorLayerProperties LayerProperty
+		{
+			get
+			{
+				return _layerProperty;
+			}
+		}
+		public MapLayerType LayerType
+		{
+			get
+			{
+				return MapLayerType.Vector;
+			}
+		}
+		public bool IsLayerActive
+		{
+			get
+			{
+				return (_layerProperty.sourceType != VectorSourceType.None);
+			}
+		}
+		public string LayerSourceId
+		{
+			get
+			{
+				return _layerProperty.sourceOptions.Id;
+			}
+		}
+		public VectorTileFactory Factory
+		{
+			get
+			{
+				return _vectorTileFactory;
+			}
+		}
+
+		//Public Methods
+		public void Initialize(LayerProperties properties)
+		{
+			_layerProperty = (VectorLayerProperties)properties;
+			Initialize();
+		}
+
+		public void Initialize()
+		{
+			_vectorTileFactory = ScriptableObject.CreateInstance<VectorTileFactory>();
+			UpdateFactorySettings();
+
+			_layerProperty.PropertyHasChanged += RedrawVectorLayer;
+			_layerProperty.SubLayerPropertyAdded += AddVectorLayer;
+			_layerProperty.SubLayerPropertyRemoved += RemoveVectorLayer;
+			_vectorTileFactory.TileFactoryHasChanged += OnVectorTileFactoryOnTileFactoryHasChanged;
+		}
+
+
+		public void Update(LayerProperties properties)
+		{
+			Initialize(properties);
+		}
+
+		public void UnbindAllEvents()
+		{
+			if (_vectorTileFactory != null)
+			{
+				_vectorTileFactory.UnbindEvents();
+			}
+		}
+
+		public void UpdateFactorySettings()
+		{
+			_vectorTileFactory.SetOptions(_layerProperty);
+		}
+
+		public void Remove()
+		{
+			_layerProperty = new VectorLayerProperties
+			{
+				sourceType = VectorSourceType.None
+			};
+		}
+
+		//Private Methods
+		private void AddVectorLayer(object sender, EventArgs args)
+		{
+			VectorLayerUpdateArgs layerUpdateArgs = args as VectorLayerUpdateArgs;
+			if (layerUpdateArgs.property is PrefabItemOptions)
+			{
+				layerUpdateArgs.visualizer =
+					_vectorTileFactory.AddPOIVectorLayerVisualizer((PrefabItemOptions)layerUpdateArgs.property);
+			}
+			else if (layerUpdateArgs.property is VectorSubLayerProperties)
+			{
+				layerUpdateArgs.visualizer =
+					_vectorTileFactory.AddVectorLayerVisualizer((VectorSubLayerProperties)layerUpdateArgs.property);
+			}
+
+			layerUpdateArgs.factory = _vectorTileFactory;
+
+			if (SubLayerAdded != null)
+			{
+				SubLayerAdded(this, layerUpdateArgs);
+			}
+		}
+
+		private void RemoveVectorLayer(object sender, EventArgs args)
+		{
+			VectorLayerUpdateArgs layerUpdateArgs = args as VectorLayerUpdateArgs;
+
+			layerUpdateArgs.visualizer = _vectorTileFactory.FindVectorLayerVisualizer((VectorSubLayerProperties)layerUpdateArgs.property);
+			layerUpdateArgs.factory = _vectorTileFactory;
+
+			if (SubLayerRemoved != null)
+			{
+				SubLayerRemoved(this, layerUpdateArgs);
+			}
+		}
+
+		private void RedrawVectorLayer(object sender, System.EventArgs e)
+		{
+			NotifyUpdateLayer(_vectorTileFactory, sender as MapboxDataProperty, true);
+		}
+
+		private void OnVectorTileFactoryOnTileFactoryHasChanged(object sender, EventArgs args)
+		{
+			NotifyUpdateLayer(args as LayerUpdateArgs);
+		}
+
+		#region Api Methods
+
+		public virtual TileJsonData GetTileJsonData()
+		{
+			return _layerProperty.tileJsonData;
+		}
+
+		/// <summary>
+		/// Add provided data source (TilesetId) to existing ones.
+		/// Mapbox vector api supports comma separated TilesetIds and this method
+		/// adds the provided TilesetId at the end of the existing source.
+		/// </summary>
+		/// <param name="vectorSource">Data source (TilesetId) to add to existing sources.</param>
+		public virtual void AddLayerSource(string vectorSource)
+		{
+			if (!string.IsNullOrEmpty(vectorSource))
+			{
+				if (!_layerProperty.sourceOptions.Id.Contains(vectorSource))
+				{
+					if (string.IsNullOrEmpty(_layerProperty.sourceOptions.Id))
+					{
+						SetLayerSource(vectorSource);
+						return;
+					}
+					var newLayerSource = _layerProperty.sourceOptions.Id + "," + vectorSource;
+					SetLayerSource(newLayerSource);
+				}
+			}
+			else
+			{
+				Debug.LogError("Empty source. Nothing was added to the list of data sources");
+			}
+		}
+
+		/// <summary>
+		/// Change existing data source (TilesetId) with provided source.
+		/// </summary>
+		/// <param name="vectorSource">Data source (TilesetId) to use.</param>
+		public virtual void SetLayerSource(string vectorSource)
+		{
+			SetLayerSourceInternal(vectorSource);
+			_layerProperty.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Change existing data source (TilesetId) with provided source.
+		/// </summary>
+		/// <param name="vectorSource">Data source (TilesetId) to use.</param>
+		public virtual void SetLayerSource(VectorSourceType vectorSource)
+		{
+			SetLayerSourceInternal(vectorSource);
+			_layerProperty.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the layer source as Style-optimized vector tiles
+		/// </summary>
+		/// <param name="vectorSource">Vector source.</param>
+		/// <param name="styleId">Style-Optimized style id.</param>
+		/// <param name="modifiedDate">Modified date.</param>
+		/// <param name="styleName">Style name.</param>
+		public virtual void SetLayerSourceWithOptimizedStyle(string vectorSource, string styleId, string modifiedDate, string styleName = null)
+		{
+			SetLayerSourceInternal(vectorSource);
+			SetOptimizedStyleInternal(styleId, modifiedDate, styleName);
+			_layerProperty.HasChanged = true;
+		}
+
+		/// <summary>
+		/// Sets the layer source as Style-optimized vector tiles
+		/// </summary>
+		/// <param name="vectorSource">Vector source.</param>
+		/// <param name="styleId">Style-Optimized style id.</param>
+		/// <param name="modifiedDate">Modified date.</param>
+		/// <param name="styleName">Style name.</param>
+		public virtual void SetLayerSourceWithOptimizedStyle(VectorSourceType vectorSource, string styleId, string modifiedDate, string styleName = null)
+		{
+			SetLayerSourceInternal(vectorSource);
+			SetOptimizedStyleInternal(styleId, modifiedDate, styleName);
+			_layerProperty.HasChanged = true;
+		}
+
+
+		/// <summary>
+		/// Enable coroutines for vector features, processing choosen amount
+		/// of them each frame.
+		/// </summary>
+		/// <param name="entityPerCoroutine">Numbers of features to process each frame.</param>
+		///
+		public virtual void EnableVectorFeatureProcessingWithCoroutines(int entityPerCoroutine = 20)
+		{
+			if (_layerProperty.performanceOptions.isEnabled != true ||
+				_layerProperty.performanceOptions.entityPerCoroutine != entityPerCoroutine)
+			{
+				_layerProperty.performanceOptions.isEnabled = true;
+				_layerProperty.performanceOptions.entityPerCoroutine = entityPerCoroutine;
+				_layerProperty.performanceOptions.HasChanged = true;
+			}
+		}
+
+		public void DisableVectorFeatureProcessingWithCoroutines()
+		{
+			_layerProperty.performanceOptions.isEnabled = false;
+		}
+
+		#endregion
+
+		#region Poi Api Methods
+
+		/// <summary>
+		/// Creates the prefab layer.
+		/// </summary>
+		/// <param name="item"> the options of the prefab layer.</param>
+		private void CreatePrefabLayer(PrefabItemOptions item)
+		{
+			if (LayerProperty.sourceType == VectorSourceType.None
+				|| !LayerProperty.sourceOptions.Id.Contains(MapboxDefaultVector.GetParameters(VectorSourceType.MapboxStreets).Id))
+			{
+				Debug.LogError("In order to place location prefabs please add \"mapbox.mapbox-streets-v7\" to the list of vector data sources");
+				return;
+			}
+
+			AddPointsOfInterestSubLayer(item);
+		}
+
+		/// <summary>
+		/// Places a prefab at the specified LatLon on the Map.
+		/// </summary>
+		/// <param name="prefab"> A Game Object Prefab.</param>
+		/// <param name="LatLon">A Vector2d(Latitude Longitude) object</param>
+		public virtual void SpawnPrefabAtGeoLocation(GameObject prefab,
+											 Vector2d LatLon,
+											 Action<List<GameObject>> callback = null,
+											 bool scaleDownWithWorld = true,
+											 string locationItemName = "New Location")
+		{
+			var latLonArray = new Vector2d[] { LatLon };
+			SpawnPrefabAtGeoLocation(prefab, latLonArray, callback, scaleDownWithWorld, locationItemName);
+		}
+
+		/// <summary>
+		/// Places a prefab at all locations specified by the LatLon array.
+		/// </summary>
+		/// <param name="prefab"> A Game Object Prefab.</param>
+		/// <param name="LatLon">A Vector2d(Latitude Longitude) object</param>
+		public virtual void SpawnPrefabAtGeoLocation(GameObject prefab,
+											 Vector2d[] LatLon,
+											 Action<List<GameObject>> callback = null,
+											 bool scaleDownWithWorld = true,
+											 string locationItemName = "New Location")
+		{
+			var coordinateArray = new string[LatLon.Length];
+			for (int i = 0; i < LatLon.Length; i++)
+			{
+				coordinateArray[i] = LatLon[i].x + ", " + LatLon[i].y;
+			}
+
+			PrefabItemOptions item = new PrefabItemOptions()
+			{
+				findByType = LocationPrefabFindBy.AddressOrLatLon,
+				prefabItemName = locationItemName,
+				spawnPrefabOptions = new SpawnPrefabOptions()
+				{
+					prefab = prefab,
+					scaleDownWithWorld = scaleDownWithWorld
+				},
+
+				coordinates = coordinateArray
+			};
+
+			if (callback != null)
+			{
+				item.OnAllPrefabsInstantiated += callback;
+			}
+
+			CreatePrefabLayer(item);
+		}
+
+		/// <summary>
+		/// Places the prefab for supplied categories.
+		/// </summary>
+		/// <param name="prefab">GameObject Prefab</param>
+		/// <param name="categories"><see cref="LocationPrefabCategories"/> For more than one category separate them by pipe
+		/// (eg: LocationPrefabCategories.Food | LocationPrefabCategories.Nightlife)</param>
+		/// <param name="density">Density controls the number of POIs on the map.(Integer value between 1 and 30)</param>
+		/// <param name="locationItemName">Name of this location prefab item for future reference</param>
+		/// <param name="scaleDownWithWorld">Should the prefab scale up/down along with the map game object?</param>
+		public virtual void SpawnPrefabByCategory(GameObject prefab,
+										  LocationPrefabCategories categories = LocationPrefabCategories.AnyCategory,
+										  int density = 30, Action<List<GameObject>> callback = null,
+										  bool scaleDownWithWorld = true,
+										  string locationItemName = "New Location")
+		{
+			PrefabItemOptions item = new PrefabItemOptions()
+			{
+				findByType = LocationPrefabFindBy.MapboxCategory,
+				categories = categories,
+				density = density,
+				prefabItemName = locationItemName,
+				spawnPrefabOptions = new SpawnPrefabOptions()
+				{
+					prefab = prefab,
+					scaleDownWithWorld = scaleDownWithWorld
+				}
+			};
+
+			if (callback != null)
+			{
+				item.OnAllPrefabsInstantiated += callback;
+			}
+
+			CreatePrefabLayer(item);
+		}
+
+		/// <summary>
+		/// Places the prefab at POI locations if its name contains the supplied string
+		/// <param name="prefab">GameObject Prefab</param>
+		/// <param name="nameString">This is the string that will be checked against the POI name to see if is contained in it, and ony those POIs will be spawned</param>
+		/// <param name="density">Density (Integer value between 1 and 30)</param>
+		/// <param name="locationItemName">Name of this location prefab item for future reference</param>
+		/// <param name="scaleDownWithWorld">Should the prefab scale up/down along with the map game object?</param>
+		/// </summary>
+		public virtual void SpawnPrefabByName(GameObject prefab,
+									  string nameString,
+									  int density = 30,
+									  Action<List<GameObject>> callback = null,
+									  bool scaleDownWithWorld = true,
+									  string locationItemName = "New Location")
+		{
+			PrefabItemOptions item = new PrefabItemOptions()
+			{
+				findByType = LocationPrefabFindBy.POIName,
+				nameString = nameString,
+				density = density,
+				prefabItemName = locationItemName,
+				spawnPrefabOptions = new SpawnPrefabOptions()
+				{
+					prefab = prefab,
+					scaleDownWithWorld = scaleDownWithWorld
+				}
+			};
+
+			CreatePrefabLayer(item);
+		}
+
+
+
+		#endregion
+
+		#region LayerOperations
+
+		// FEATURE LAYER OPERATIONS
+
+		public virtual void AddFeatureSubLayer(VectorSubLayerProperties subLayerProperties)
+		{
+			if (_layerProperty.vectorSubLayers == null)
+			{
+				_layerProperty.vectorSubLayers = new List<VectorSubLayerProperties>();
+			}
+
+			_layerProperty.vectorSubLayers.Add(subLayerProperties);
+			_layerProperty.OnSubLayerPropertyAdded(new VectorLayerUpdateArgs { property = _layerProperty.vectorSubLayers.Last() });
+		}
+
+		public virtual void AddPolygonFeatureSubLayer(string assignedSubLayerName, string dataLayerNameInService)
+		{
+
+			VectorSubLayerProperties subLayer = PresetSubLayerPropertiesFetcher.GetSubLayerProperties(PresetFeatureType.Buildings);
+			subLayer.coreOptions.layerName = dataLayerNameInService;
+			subLayer.coreOptions.sublayerName = assignedSubLayerName;
+
+			AddFeatureSubLayer(subLayer);
+		}
+		public virtual void AddLineFeatureSubLayer(string assignedSubLayerName, string dataLayerNameInService, float lineWidth = 1)
+		{
+			VectorSubLayerProperties subLayer = PresetSubLayerPropertiesFetcher.GetSubLayerProperties(PresetFeatureType.Roads);
+			subLayer.coreOptions.layerName = dataLayerNameInService;
+			subLayer.coreOptions.sublayerName = assignedSubLayerName;
+			subLayer.lineGeometryOptions.Width = lineWidth;
+
+			AddFeatureSubLayer(subLayer);
+		}
+		public virtual void AddPointFeatureSubLayer(string assignedSubLayerName, string dataLayerNameInService)
+		{
+			VectorSubLayerProperties subLayer = PresetSubLayerPropertiesFetcher.GetSubLayerProperties(PresetFeatureType.Points);
+			subLayer.coreOptions.layerName = dataLayerNameInService;
+			subLayer.coreOptions.sublayerName = assignedSubLayerName;
+
+			AddFeatureSubLayer(subLayer);
+		}
+		public virtual void AddCustomFeatureSubLayer(string assignedSubLayerName, string dataLayerNameInService)
+		{
+			VectorSubLayerProperties subLayer = PresetSubLayerPropertiesFetcher.GetSubLayerProperties(PresetFeatureType.Custom);
+			subLayer.coreOptions.layerName = dataLayerNameInService;
+			subLayer.coreOptions.sublayerName = assignedSubLayerName;
+
+			AddFeatureSubLayer(subLayer);
+		}
+
+		public virtual IEnumerable<VectorSubLayerProperties> GetAllFeatureSubLayers()
+		{
+			return _layerProperty.vectorSubLayers.AsEnumerable();
+		}
+
+		public virtual IEnumerable<VectorSubLayerProperties> GetAllPolygonFeatureSubLayers()
+		{
+			foreach (var featureLayer in _layerProperty.vectorSubLayers)
+			{
+				if (featureLayer.coreOptions.geometryType == VectorPrimitiveType.Polygon)
+				{
+					yield return featureLayer;
+				}
+			}
+		}
+
+		public virtual IEnumerable<VectorSubLayerProperties> GetAllLineFeatureSubLayers()
+		{
+			foreach (var featureLayer in _layerProperty.vectorSubLayers)
+			{
+				if (featureLayer.coreOptions.geometryType == VectorPrimitiveType.Line)
+				{
+					yield return featureLayer;
+				}
+			}
+		}
+
+		public virtual IEnumerable<VectorSubLayerProperties> GetAllPointFeatureSubLayers()
+		{
+			foreach (var featureLayer in _layerProperty.vectorSubLayers)
+			{
+				if (featureLayer.coreOptions.geometryType == VectorPrimitiveType.Point)
+				{
+					yield return featureLayer;
+				}
+			}
+		}
+
+		public virtual IEnumerable<VectorSubLayerProperties> GetFeatureSubLayerByQuery(Func<VectorSubLayerProperties, bool> query)
+		{
+			foreach (var featureLayer in _layerProperty.vectorSubLayers)
+			{
+				if (query(featureLayer))
+				{
+					yield return featureLayer;
+				}
+			}
+		}
+
+		public virtual VectorSubLayerProperties GetFeatureSubLayerAtIndex(int i)
+		{
+			if (i < _layerProperty.vectorSubLayers.Count)
+			{
+				return _layerProperty.vectorSubLayers[i];
+			}
+			else
+			{
+				return null;
+			}
+		}
+
+		public virtual VectorSubLayerProperties FindFeatureSubLayerWithName(string featureLayerName)
+		{
+			int foundLayerIndex = -1;
+			// Optimize for performance.
+			for (int i = 0; i < _layerProperty.vectorSubLayers.Count; i++)
+			{
+				if (_layerProperty.vectorSubLayers[i].SubLayerNameMatchesExact(featureLayerName))
+				{
+					foundLayerIndex = i;
+					break;
+				}
+			}
+
+			return (foundLayerIndex != -1) ? _layerProperty.vectorSubLayers[foundLayerIndex] : null;
+		}
+
+		public virtual void RemoveFeatureSubLayerWithName(string featureLayerName)
+		{
+			var layerToRemove = FindFeatureSubLayerWithName(featureLayerName);
+			if (layerToRemove != null)
+			{
+				_layerProperty.OnSubLayerPropertyRemoved(new VectorLayerUpdateArgs { property = layerToRemove });
+			}
+		}
+
+		public virtual void RemoveFeatureSubLayer(VectorSubLayerProperties layer)
+		{
+			_layerProperty.vectorSubLayers.Remove(layer);
+			_layerProperty.OnSubLayerPropertyRemoved(new VectorLayerUpdateArgs { property = layer });
+		}
+
+		// POI LAYER OPERATIONS
+
+		public virtual void AddPointsOfInterestSubLayer(PrefabItemOptions poiLayerProperties)
+		{
+			if (_layerProperty.locationPrefabList == null)
+			{
+				_layerProperty.locationPrefabList = new List<PrefabItemOptions>();
+			}
+
+			_layerProperty.locationPrefabList.Add(poiLayerProperties);
+			_layerProperty.OnSubLayerPropertyAdded(new VectorLayerUpdateArgs { property = _layerProperty.locationPrefabList.Last() });
+		}
+
+		public virtual IEnumerable<PrefabItemOptions> GetAllPointsOfInterestSubLayers()
+		{
+			return _layerProperty.locationPrefabList.AsEnumerable();
+		}
+
+		public virtual PrefabItemOptions GetPointsOfInterestSubLayerAtIndex(int i)
+		{
+			if (i < _layerProperty.vectorSubLayers.Count)
+			{
+				return _layerProperty.locationPrefabList[i];
+			}
+			else
+			{
+				return null;
+			}
+		}
+
+		public virtual IEnumerable<PrefabItemOptions> GetPointsOfInterestSubLayerByQuery(Func<PrefabItemOptions, bool> query)
+		{
+			foreach (var poiLayer in _layerProperty.locationPrefabList)
+			{
+				if (query(poiLayer))
+				{
+					yield return poiLayer;
+				}
+			}
+		}
+
+		public virtual PrefabItemOptions FindPointsofInterestSubLayerWithName(string poiLayerName)
+		{
+			int foundLayerIndex = -1;
+			// Optimize for performance.
+			for (int i = 0; i < _layerProperty.locationPrefabList.Count; i++)
+			{
+				if (_layerProperty.locationPrefabList[i].SubLayerNameMatchesExact(poiLayerName))
+				{
+					foundLayerIndex = i;
+					break;
+				}
+			}
+
+			return (foundLayerIndex != -1) ? _layerProperty.locationPrefabList[foundLayerIndex] : null;
+		}
+
+		public virtual void RemovePointsOfInterestSubLayerWithName(string poiLayerName)
+		{
+			var layerToRemove = FindPointsofInterestSubLayerWithName(poiLayerName);
+			if (layerToRemove != null)
+			{
+				_layerProperty.OnSubLayerPropertyRemoved(new VectorLayerUpdateArgs { property = layerToRemove });
+			}
+		}
+
+		public virtual void RemovePointsOfInterestSubLayer(PrefabItemOptions layer)
+		{
+			_layerProperty.locationPrefabList.Remove(layer);
+			_layerProperty.OnSubLayerPropertyRemoved(new VectorLayerUpdateArgs { property = layer });
+		}
+
+		#endregion
+
+		#region Private helper methods
+		private void SetLayerSourceInternal(VectorSourceType vectorSource)
+		{
+			if (vectorSource != VectorSourceType.Custom && vectorSource != VectorSourceType.None)
+			{
+				_layerProperty.sourceType = vectorSource;
+				_layerProperty.sourceOptions.layerSource = MapboxDefaultVector.GetParameters(vectorSource);
+			}
+			else
+			{
+				Debug.LogWarning("Invalid style - trying to set " + vectorSource.ToString() + " as default style!");
+			}
+		}
+		private void SetLayerSourceInternal(string vectorSource)
+		{
+			if (!string.IsNullOrEmpty(vectorSource))
+			{
+				_layerProperty.sourceType = VectorSourceType.Custom;
+				_layerProperty.sourceOptions.Id = vectorSource;
+			}
+			else
+			{
+				_layerProperty.sourceType = VectorSourceType.None;
+				Debug.LogWarning("Empty source - turning off vector data. ");
+			}
+		}
+
+		private void SetOptimizedStyleInternal(string styleId, string modifiedDate, string styleName)
+		{
+			_layerProperty.useOptimizedStyle = true;
+
+			_layerProperty.optimizedStyle = _layerProperty.optimizedStyle ?? new Style();
+
+			_layerProperty.optimizedStyle.Id = styleId;
+			_layerProperty.optimizedStyle.Modified = modifiedDate;
+			if (!String.IsNullOrEmpty(styleName))
+			{
+				_layerProperty.optimizedStyle.Name = styleName;
+			}
+		}
+		#endregion
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/SourceLayers/VectorLayer.cs.meta b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/VectorLayer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d2fc2dd9a312dc1f48e3445644b4da0f9f012b5
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/SourceLayers/VectorLayer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5642fbfe18ab544ca9ff521909205f5f
+timeCreated: 1519860268
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Styling.meta b/T3-Unity/Assets/Mapbox/Unity/Styling.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a4d5baae1341e2d2ac69f9b5fe56768d045eab94
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Styling.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 14ab092256ad94ad1b9ff1f8555a2091
+folderAsset: yes
+timeCreated: 1530222581
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Styling/ScriptablePalette.cs b/T3-Unity/Assets/Mapbox/Unity/Styling/ScriptablePalette.cs
new file mode 100644
index 0000000000000000000000000000000000000000..de8b48d60418af0df9c82fb7ffd482426c8541bb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Styling/ScriptablePalette.cs
@@ -0,0 +1,51 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[CreateAssetMenu(menuName = "Mapbox/ScriptablePalette")]
+public class ScriptablePalette : ScriptableObject 
+{
+    public int m_numColors = 3;
+
+    public Color m_keyColor = Color.white;
+
+    public Color[] m_colors;
+
+    public float m_hueRange;
+    public float m_saturationRange;
+    public float m_valueRange;
+
+    public bool m_setBaseColor_Override;
+    public bool m_setDetailColor1_Override;
+    public bool m_setDetailColor2_Override;
+
+    public Color m_baseColor_Override = Color.white;
+    public Color m_detailColor1_Override = Color.white;
+    public Color m_detailColor2_Override = Color.white;
+
+    public void GeneratePalette()
+    {
+
+        float hue = 0.0f;
+        float sat = 0.0f;;
+        float val = 0.0f;
+
+        Color.RGBToHSV(m_keyColor, out hue, out sat, out val);
+
+        float hueMin = hue - m_hueRange;
+        float hueMax = hue + m_hueRange;
+
+        float satMin = Mathf.Clamp(sat - m_saturationRange, 0.0f, 1.0f);
+        float satMax = Mathf.Clamp(sat + m_saturationRange, 0.0f, 1.0f);
+
+        float valMin = Mathf.Clamp(val - m_valueRange, 0.0f, 1.0f);
+        float valMax = Mathf.Clamp(val + m_valueRange, 0.0f, 1.0f);
+
+        m_colors = new Color[m_numColors];
+
+        for (int i = 0; i < m_numColors; i++)
+        {
+            m_colors[i] = Random.ColorHSV(hueMin, hueMax, satMin, satMax, valMin, valMax);
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Styling/ScriptablePalette.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Styling/ScriptablePalette.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3a65281e7ae2e22a483191c058a8c87fe4855b65
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Styling/ScriptablePalette.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 324a61621a4444024b4a9423715bd22b
+timeCreated: 1520470657
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8313b81e1c82f383b8f9f6092b5f8e3bb7a57938
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ff43b04e8265a4ea69fb9b5064253dc1
+folderAsset: yes
+timeCreated: 1495731121
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/ITelemetryLibrary.cs b/T3-Unity/Assets/Mapbox/Unity/Telemetry/ITelemetryLibrary.cs
new file mode 100644
index 0000000000000000000000000000000000000000..228f3b5855f007e5a2d16fcce47c7b67d86289cf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/ITelemetryLibrary.cs
@@ -0,0 +1,9 @@
+namespace Mapbox.Unity.Telemetry
+{
+	public interface ITelemetryLibrary
+	{
+		void Initialize(string accessToken);
+		void SendTurnstile();
+		void SetLocationCollectionState(bool enable);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/ITelemetryLibrary.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry/ITelemetryLibrary.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..605cf0d089a88803afa03dd332ccb06fa16b737b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/ITelemetryLibrary.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 60254f905810e483288c61f416978e74
+timeCreated: 1495739868
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryAndroid.cs b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryAndroid.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fa4fa5a26cffbc35da0988c9a8570dffbf71ceaf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryAndroid.cs
@@ -0,0 +1,105 @@
+#if UNITY_ANDROID
+namespace Mapbox.Unity.Telemetry
+{
+	using UnityEngine;
+
+	public static class AndroidJavaObjectExtensions
+	{
+
+		public static AndroidJavaObject ClassForName(string className)
+		{
+			using (var clazz = new AndroidJavaClass("java.lang.Class"))
+			{
+				return clazz.CallStatic<AndroidJavaObject>("forName", className);
+			}
+		}
+
+		// Cast extension method
+		public static AndroidJavaObject Cast(this AndroidJavaObject source, string destClass)
+		{
+			using (var destClassAJC = ClassForName(destClass))
+			{
+				return destClassAJC.Call<AndroidJavaObject>("cast", source);
+			}
+		}
+
+	}
+
+	public class TelemetryAndroid : ITelemetryLibrary
+	{
+		AndroidJavaObject _activityContext = null;
+		AndroidJavaObject _telemInstance = null;
+
+		static ITelemetryLibrary _instance = new TelemetryAndroid();
+		public static ITelemetryLibrary Instance
+		{
+			get
+			{
+				return _instance;
+			}
+		}
+
+		public void Initialize(string accessToken)
+		{
+			if (string.IsNullOrEmpty(accessToken))
+			{
+				throw new System.ArgumentNullException("accessToken");
+			}
+
+			using (AndroidJavaClass activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
+			{
+				_activityContext = activityClass.GetStatic<AndroidJavaObject>("currentActivity");
+			}
+
+			if (null == _activityContext)
+			{
+				Debug.LogError("Could not get current activity");
+				return;
+			}
+
+			_telemInstance = new AndroidJavaObject("com.mapbox.android.telemetry.MapboxTelemetry",
+													_activityContext,
+													accessToken,
+													"MapboxEventsUnityAndroid/" + Constants.SDK_VERSION);
+
+			if (null == _telemInstance)
+			{
+				Debug.LogError("Could not get class 'MapboxTelemetry'");
+				return;
+			}
+			else
+				_telemInstance.Call<bool>("disable");
+		}
+
+		public void SendTurnstile()
+		{
+			using (AndroidJavaObject MapboxAndroidTurnstileEvent = new AndroidJavaObject("com.mapbox.android.telemetry.AppUserTurnstile", "MapboxEventsUnityAndroid", Constants.SDK_VERSION))
+			{
+				if (null == MapboxAndroidTurnstileEvent)
+				{
+					Debug.LogError("Could not get class 'AppUserTurnstile'");
+					return;
+				}
+				MapboxAndroidTurnstileEvent.Call("setSkuId", Constants.SDK_SKU_ID);
+				_telemInstance.Call<bool>("push", MapboxAndroidTurnstileEvent);
+			}
+		}
+
+		public void SetLocationCollectionState(bool enable)
+		{
+			if (enable)
+			{
+				_telemInstance.Call<bool>("enable");
+			}
+			else
+			{
+				_telemInstance.Call<bool>("disable");
+			}
+			//_telemInstance.Call(
+			//	"setTelemetryEnabled"
+			//	, enable
+			//);
+		}
+	}
+}
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryAndroid.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryAndroid.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..259213647d38ef5a81b6cfa8d2e46454798e39fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryAndroid.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 482b4af485a1148558ccb578af5ed81f
+timeCreated: 1495731343
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryDummy.cs b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryDummy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f23ad4ed34fc713e9046efe4a59aec1508e3f32a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryDummy.cs
@@ -0,0 +1,29 @@
+namespace Mapbox.Unity.Telemetry
+{
+	public class TelemetryDummy : ITelemetryLibrary
+	{
+		static ITelemetryLibrary _instance = new TelemetryDummy();
+		public static ITelemetryLibrary Instance
+		{
+			get
+			{
+				return _instance;
+			}
+		}
+
+		public void Initialize(string accessToken)
+		{
+			// empty.
+		}
+
+		public void SendTurnstile()
+		{
+			// empty.
+		}
+
+		public void SetLocationCollectionState(bool enable)
+		{
+			// empty.
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryDummy.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryDummy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..47077c47f174d4fc67a0eb1a941eb961415bb0ba
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryDummy.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 5cf9f00b4c350437ea7ef15fa73733de
+timeCreated: 1495739868
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryEditor.cs b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f4350135d17e46b8e28c5ba2ef3306b3c4476a19
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryEditor.cs
@@ -0,0 +1,143 @@
+#if UNITY_EDITOR
+namespace Mapbox.Unity.Telemetry
+{
+	using System.Collections.Generic;
+	using System.Collections;
+	using Mapbox.Json;
+	using System;
+	using Mapbox.Unity.Utilities;
+	using UnityEngine;
+	using System.Text;
+	using UnityEditor;
+	using UnityEngine.Networking;
+
+	public class TelemetryEditor : ITelemetryLibrary
+	{
+		string _url;
+
+		static ITelemetryLibrary _instance = new TelemetryEditor();
+		public static ITelemetryLibrary Instance
+		{
+			get
+			{
+				return _instance;
+			}
+		}
+
+		public void Initialize(string accessToken)
+		{
+			_url = string.Format("{0}events/v2?access_token={1}", Mapbox.Utils.Constants.EventsAPI, accessToken);
+		}
+
+		public void SendTurnstile()
+		{
+			var ticks = DateTime.Now.Ticks;
+			if (ShouldPostTurnstile(ticks))
+			{
+				Runnable.Run(PostWWW(_url, GetPostBody()));
+			}
+		}
+
+		string GetPostBody()
+		{
+			List<Dictionary<string, object>> eventList = new List<Dictionary<string, object>>();
+			Dictionary<string, object> jsonDict = new Dictionary<string, object>();
+
+			long unixTimestamp = (long)Mapbox.Utils.UnixTimestampUtils.To(DateTime.UtcNow);
+
+			jsonDict.Add("event", "appUserTurnstile");
+			jsonDict.Add("created", unixTimestamp);
+			jsonDict.Add("userId", SystemInfo.deviceUniqueIdentifier);
+			jsonDict.Add("enabled.telemetry", false);
+			jsonDict.Add("sdkIdentifier", GetSDKIdentifier());
+			jsonDict.Add("skuId", Constants.SDK_SKU_ID);
+			jsonDict.Add("sdkVersion", Constants.SDK_VERSION);
+			eventList.Add(jsonDict);
+
+			var jsonString = JsonConvert.SerializeObject(eventList);
+			return jsonString;
+		}
+
+		bool ShouldPostTurnstile(long ticks)
+		{
+			var date = new DateTime(ticks);
+			var longAgo = DateTime.Now.AddDays(-100).Ticks.ToString();
+			var lastDateString = PlayerPrefs.GetString(Constants.Path.TELEMETRY_TURNSTILE_LAST_TICKS_EDITOR_KEY, longAgo);
+			long lastTicks = 0;
+			long.TryParse(lastDateString, out lastTicks);
+			var lastDate = new DateTime(lastTicks);
+			var timeSpan = date - lastDate;
+			return timeSpan.Days >= 1;
+		}
+
+		IEnumerator PostWWW(string url, string bodyJsonString)
+		{
+			byte[] bodyRaw = Encoding.UTF8.GetBytes(bodyJsonString);
+
+#if UNITY_2017_1_OR_NEWER
+			UnityWebRequest postRequest = new UnityWebRequest(url, "POST");
+			postRequest.SetRequestHeader("Content-Type", "application/json");
+
+			postRequest.downloadHandler = new DownloadHandlerBuffer();
+			postRequest.uploadHandler = new UploadHandlerRaw(bodyRaw);
+
+			yield return postRequest.SendWebRequest();
+
+			while (!postRequest.isDone) { yield return null; }
+
+			if (!postRequest.isNetworkError)
+			{
+#else
+				var headers = new Dictionary<string, string>();
+				headers.Add("Content-Type", "application/json");
+				headers.Add("user-agent", GetUserAgent());
+				var www = new WWW(url, bodyRaw, headers);
+				yield return www;
+
+				while (!www.isDone) { yield return null; }
+
+				// www doesn't expose HTTP status code, relay on 'error' property
+				if (!string.IsNullOrEmpty(www.error))
+				{
+#endif
+				PlayerPrefs.SetString(Constants.Path.TELEMETRY_TURNSTILE_LAST_TICKS_EDITOR_KEY, "0");
+			}
+			else
+			{
+				PlayerPrefs.SetString(Constants.Path.TELEMETRY_TURNSTILE_LAST_TICKS_EDITOR_KEY, DateTime.Now.Ticks.ToString());
+			}
+		}
+
+		static string GetUserAgent()
+		{
+			var userAgent = string.Format(
+				"{0}/{1}/{2} MapboxEventsUnityEditor/{3}",
+				PlayerSettings.applicationIdentifier,
+				PlayerSettings.bundleVersion,
+#if UNITY_IOS
+				PlayerSettings.iOS.buildNumber,
+#elif UNITY_ANDROID
+				PlayerSettings.Android.bundleVersionCode,
+#else
+				 "0",
+#endif
+				 Constants.SDK_VERSION
+			);
+			return userAgent;
+		}
+
+		private string GetSDKIdentifier()
+		{
+			var sdkIdentifier = string.Format("MapboxEventsUnity{0}",
+										  Application.platform
+										 );
+			return sdkIdentifier;
+		}
+
+		public void SetLocationCollectionState(bool enable)
+		{
+			// Empty.
+		}
+	}
+}
+#endif
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryEditor.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..24431e9d8ff0a3e3008dc9a69f4061b9a0ce33e6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 27d433fd51a8f43dfb24c4797efe3304
+timeCreated: 1499712270
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFactory.cs b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..45ff45ab9c4cc6462945f2ca83efb8086e1d01b2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFactory.cs
@@ -0,0 +1,20 @@
+namespace Mapbox.Unity.Telemetry
+{
+	public static class TelemetryFactory
+	{
+		public static ITelemetryLibrary GetTelemetryInstance()
+		{
+#if UNITY_EDITOR
+			return TelemetryEditor.Instance;
+#elif UNITY_IOS
+			return TelemetryIos.Instance;
+#elif UNITY_ANDROID
+			return TelemetryAndroid.Instance;
+#elif UNITY_WEBGL
+			return TelemetryWebgl.Instance;
+#else
+			return TelemetryFallback.Instance;
+#endif
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFactory.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFactory.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b13f293f5980583c9859ae2d8b12ed6702205477
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFactory.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 22b1b1677ad464ff499ec366ca41ad2b
+timeCreated: 1511971959
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFallback.cs b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFallback.cs
new file mode 100644
index 0000000000000000000000000000000000000000..89d27617043b032e22d8376af6273a9650e3ce36
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFallback.cs
@@ -0,0 +1,118 @@
+namespace Mapbox.Unity.Telemetry
+{
+	using System.Collections.Generic;
+	using System.Collections;
+	using Mapbox.Json;
+	using System;
+	using Mapbox.Unity.Utilities;
+	using UnityEngine;
+	using System.Text;
+	using UnityEngine.Networking;
+
+	public class TelemetryFallback : ITelemetryLibrary
+	{
+		string _url;
+
+		static ITelemetryLibrary _instance = new TelemetryFallback();
+		public static ITelemetryLibrary Instance
+		{
+			get
+			{
+				return _instance;
+			}
+		}
+
+		public void Initialize(string accessToken)
+		{
+			_url = string.Format("{0}events/v2?access_token={1}", Mapbox.Utils.Constants.EventsAPI, accessToken);
+		}
+
+		public void SendTurnstile()
+		{
+			var ticks = DateTime.Now.Ticks;
+			if (ShouldPostTurnstile(ticks))
+			{
+				Runnable.Run(PostWWW(_url, GetPostBody()));
+				PlayerPrefs.SetString(Constants.Path.TELEMETRY_TURNSTILE_LAST_TICKS_FALLBACK_KEY, ticks.ToString());
+			}
+		}
+
+		string GetPostBody()
+		{
+			List<Dictionary<string, object>> eventList = new List<Dictionary<string, object>>();
+			Dictionary<string, object> jsonDict = new Dictionary<string, object>();
+
+			long unixTimestamp = (long)Mapbox.Utils.UnixTimestampUtils.To(DateTime.UtcNow);
+
+			jsonDict.Add("event", "appUserTurnstile");
+			jsonDict.Add("created", unixTimestamp);
+			jsonDict.Add("userId", SystemInfo.deviceUniqueIdentifier);
+			jsonDict.Add("enabled.telemetry", false);
+			jsonDict.Add("sdkIdentifier", GetSDKIdentifier());
+			jsonDict.Add("skuId", Constants.SDK_SKU_ID);
+			jsonDict.Add("sdkVersion", Constants.SDK_VERSION);
+			eventList.Add(jsonDict);
+
+			var jsonString = JsonConvert.SerializeObject(eventList);
+			return jsonString;
+		}
+
+		bool ShouldPostTurnstile(long ticks)
+		{
+			var date = new DateTime(ticks);
+			var longAgo = DateTime.Now.AddDays(-100).Ticks.ToString();
+			var lastDateString = PlayerPrefs.GetString(Constants.Path.TELEMETRY_TURNSTILE_LAST_TICKS_FALLBACK_KEY, longAgo);
+			long lastTicks = 0;
+			long.TryParse(lastDateString, out lastTicks);
+			var lastDate = new DateTime(lastTicks);
+			var timeSpan = date - lastDate;
+			return timeSpan.Days >= 1;
+		}
+
+		IEnumerator PostWWW(string url, string bodyJsonString)
+		{
+			byte[] bodyRaw = Encoding.UTF8.GetBytes(bodyJsonString);
+
+#if UNITY_2017_1_OR_NEWER
+			UnityWebRequest postRequest = new UnityWebRequest(url, "POST");
+			postRequest.SetRequestHeader("Content-Type", "application/json");
+
+			postRequest.downloadHandler = new DownloadHandlerBuffer();
+			postRequest.uploadHandler = new UploadHandlerRaw(bodyRaw);
+
+			yield return postRequest.SendWebRequest();
+#else
+			var headers = new Dictionary<string, string>();
+			headers.Add("Content-Type", "application/json");
+			headers.Add("user-agent", GetUserAgent());
+			var www = new WWW(url, bodyRaw, headers);
+			yield return www;
+#endif
+		}
+
+		static string GetUserAgent()
+		{
+			var userAgent = string.Format("{0}/{1}/{2} MapboxEventsUnity{3}/{4}",
+										  Application.identifier,
+										  Application.version,
+										  "0",
+										  Application.platform,
+										  Constants.SDK_VERSION
+										 );
+			return userAgent;
+		}
+
+		private string GetSDKIdentifier()
+		{
+			var sdkIdentifier = string.Format("MapboxEventsUnity{0}",
+										  Application.platform
+										 );
+			return sdkIdentifier;
+		}
+
+		public void SetLocationCollectionState(bool enable)
+		{
+			// empty.
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFallback.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFallback.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1ad372068cae6cf56fcec2d1449d524bdcfd0921
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryFallback.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 30faf59456fb74b29a054e8684302e5e
+timeCreated: 1499713323
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryIos.cs b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryIos.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8c7dcdf6fd7036427e2943861e6829245dd24da6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryIos.cs
@@ -0,0 +1,46 @@
+#if UNITY_IOS
+namespace Mapbox.Unity.Telemetry
+{
+	using System.Runtime.InteropServices;
+
+	public class TelemetryIos : ITelemetryLibrary
+	{
+		[DllImport("__Internal")]
+		private static extern void initialize(string accessToken, string userAgentBase, string hostSDKVersion);
+
+		[DllImport("__Internal")]
+		static extern void sendTurnstileEvent();
+
+		[DllImport("__Internal")]
+		private static extern void setLocationCollectionState(bool enable);
+
+		[DllImport("__Internal")]
+		private static extern void setSkuId(string skuId);
+
+		static ITelemetryLibrary _instance = new TelemetryIos();
+		public static ITelemetryLibrary Instance
+		{
+			get
+			{
+				return _instance;
+			}
+		}
+
+		public void Initialize(string accessToken)
+		{
+			initialize(accessToken, "MapboxEventsUnityiOS", Constants.SDK_VERSION);
+		}
+
+		public void SendTurnstile()
+		{
+			setSkuId(Constants.SDK_SKU_ID);
+			sendTurnstileEvent();
+		}
+
+		public void SetLocationCollectionState(bool enable)
+		{
+			setLocationCollectionState(enable);
+		}
+	}
+}
+#endif
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryIos.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryIos.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1f3af5d6d22f6aa41a8c6c729325be4b14af0ec3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryIos.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1089e784167a94312a00eacedff66aa7
+timeCreated: 1495731331
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryWebgl.cs b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryWebgl.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b39d71cb2e1cd6c61e07f82745b68f6cb6f80c40
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryWebgl.cs
@@ -0,0 +1,122 @@
+namespace Mapbox.Unity.Telemetry
+{
+	using System.Collections.Generic;
+	using System.Collections;
+	using Mapbox.Json;
+	using System;
+	using Mapbox.Unity.Utilities;
+	using UnityEngine;
+	using System.Text;
+	using UnityEngine.Networking;
+
+	public class TelemetryWebgl : ITelemetryLibrary
+	{
+		string _url;
+
+		static ITelemetryLibrary _instance = new TelemetryFallback();
+		public static ITelemetryLibrary Instance
+		{
+			get
+			{
+				return _instance;
+			}
+		}
+
+		public void Initialize(string accessToken)
+		{
+			_url = string.Format("{0}events/v2?access_token={1}", Mapbox.Utils.Constants.EventsAPI, accessToken);
+		}
+
+		public void SendTurnstile()
+		{
+			var ticks = DateTime.Now.Ticks;
+
+			if (ShouldPostTurnstile(ticks))
+			{
+				Runnable.Run(PostWWW(_url, GetPostBody()));
+				PlayerPrefs.SetString(Constants.Path.TELEMETRY_TURNSTILE_LAST_TICKS_FALLBACK_KEY, ticks.ToString());
+			}
+		}
+
+		string GetPostBody()
+		{
+			List<Dictionary<string, object>> eventList = new List<Dictionary<string, object>>();
+			Dictionary<string, object> jsonDict = new Dictionary<string, object>();
+
+			long unixTimestamp = (long)Mapbox.Utils.UnixTimestampUtils.To(DateTime.UtcNow);
+
+			jsonDict.Add("event", "appUserTurnstile");
+			jsonDict.Add("created", unixTimestamp);
+			jsonDict.Add("userId", SystemInfo.deviceUniqueIdentifier);
+			jsonDict.Add("enabled.telemetry", false);
+			jsonDict.Add("sdkIdentifier", GetSDKIdentifier());
+			jsonDict.Add("skuId", Constants.SDK_SKU_ID);
+			jsonDict.Add("sdkVersion", Constants.SDK_VERSION);
+
+			// user-agent cannot be set from web broswer, so we send in payload, instead!
+			jsonDict.Add("userAgent", GetUserAgent());
+
+			eventList.Add(jsonDict);
+
+			var jsonString = JsonConvert.SerializeObject(eventList);
+			return jsonString;
+		}
+
+		bool ShouldPostTurnstile(long ticks)
+		{
+			var date = new DateTime(ticks);
+			var longAgo = DateTime.Now.AddDays(-100).Ticks.ToString();
+			var lastDateString = PlayerPrefs.GetString(Constants.Path.TELEMETRY_TURNSTILE_LAST_TICKS_FALLBACK_KEY, longAgo);
+			long lastTicks = 0;
+			long.TryParse(lastDateString, out lastTicks);
+			var lastDate = new DateTime(lastTicks);
+			var timeSpan = date - lastDate;
+			return timeSpan.Days >= 1;
+		}
+
+		IEnumerator PostWWW(string url, string bodyJsonString)
+		{
+			byte[] bodyRaw = Encoding.UTF8.GetBytes(bodyJsonString);
+#if UNITY_2017_1_OR_NEWER
+			UnityWebRequest postRequest = new UnityWebRequest(url, "POST");
+			postRequest.SetRequestHeader("Content-Type", "application/json");
+
+			postRequest.downloadHandler = new DownloadHandlerBuffer();
+			postRequest.uploadHandler = new UploadHandlerRaw(bodyRaw);
+
+			yield return postRequest.SendWebRequest();
+#else
+			var headers = new Dictionary<string, string>();
+			headers.Add("Content-Type", "application/json");
+			headers.Add("user-agent", GetUserAgent());
+			var www = new WWW(url, bodyRaw, headers);
+			yield return www;
+#endif
+		}
+
+		static string GetUserAgent()
+		{
+			var userAgent = string.Format("{0}/{1}/{2} MapboxEventsUnity{3}/{4}",
+										  Application.identifier,
+										  Application.version,
+										  "0",
+										  Application.platform,
+										  Constants.SDK_VERSION
+										 );
+			return userAgent;
+		}
+
+		private string GetSDKIdentifier()
+		{
+			var sdkIdentifier = string.Format("MapboxEventsUnity{0}",
+										  Application.platform
+										 );
+			return sdkIdentifier;
+		}
+
+		public void SetLocationCollectionState(bool enable)
+		{
+			// empty.
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryWebgl.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryWebgl.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b14a97e31a0d64f5092d5f8c59148e8b2e9439ec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Telemetry/TelemetryWebgl.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cd7351c4625584230b9b6fbe75e801ca
+timeCreated: 1511971959
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7e24eaf405b878c86ebc4d0b775f041d1c882702
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 3d10bbba7a3d94e2989079bc02fa1f98
+folderAsset: yes
+timeCreated: 1481916046
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/AndroidSettings.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/AndroidSettings.cs
new file mode 100644
index 0000000000000000000000000000000000000000..91353c3b3a7c7bb404c032b2bda3c61203b81504
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/AndroidSettings.cs
@@ -0,0 +1,44 @@
+namespace Mapbox.Unity.Utilities.Android
+{
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+
+	public static class AndroidSettings
+	{
+
+		public static void Open()
+		{
+			try
+			{
+#if UNITY_ANDROID
+				using (var unityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
+				{
+					using (AndroidJavaObject currentActivityObject = unityClass.GetStatic<AndroidJavaObject>("currentActivity"))
+					{
+						string packageName = currentActivityObject.Call<string>("getPackageName");
+						using (var uriClass = new AndroidJavaClass("android.net.Uri"))
+						{
+							using (AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("fromParts", "package", packageName, null))
+							{
+								using (var intentObject = new AndroidJavaObject("android.content.Intent", "android.settings.APPLICATION_DETAILS_SETTINGS", uriObject))
+								{
+									intentObject.Call<AndroidJavaObject>("addCategory", "android.intent.category.DEFAULT");
+									intentObject.Call<AndroidJavaObject>("setFlags", 0x10000000);
+									currentActivityObject.Call("startActivity", intentObject);
+								}
+							}
+						}
+					}
+				}
+#endif
+			}
+			catch (Exception ex)
+			{
+				Debug.LogException(ex);
+			}
+		}
+
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/AndroidSettings.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/AndroidSettings.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c1b8367bd14146066a38fa6cad562fdf3afe62ec
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/AndroidSettings.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 0e89e010c4fa7c04f9cdfc02a5775e35
+timeCreated: 1521064502
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/Console.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/Console.cs
new file mode 100644
index 0000000000000000000000000000000000000000..02d171a8ac3d729548d576ef5141d8712ecd9004
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/Console.cs
@@ -0,0 +1,60 @@
+namespace Mapbox.Unity.Utilities
+{
+	using UnityEngine;
+	using UnityEngine.UI;
+	
+	public class Console : MonoBehaviour
+	{
+		[SerializeField]
+		Button _toggleButton;
+
+		[SerializeField]
+		GameObject _menu;
+
+		[SerializeField]
+		Text _logText;
+
+		[SerializeField]
+		ScrollRect _logScroll;
+
+		static Console _instance;
+		public static Console Instance { get { return _instance; } }
+
+		string _log;
+
+
+		protected virtual void Awake()
+		{
+			if (_instance != null)
+			{
+				Debug.LogError("Duplicate singleton!", gameObject);
+			}
+			_instance = this;
+			ClearLog();
+		}
+
+		void ClearLog()
+		{
+			_log = "";
+			_logText.text = _log;
+			_logScroll.verticalNormalizedPosition = 0f;
+		}
+
+		public void Log(string log, string color)
+		{
+			if (!string.IsNullOrEmpty(_log) && _log.Length > 15000)
+			{
+				_log = "";
+			}
+			_log += string.Format("<color={0}>{1}</color>\n", color, log);
+			_logText.text = _log;
+			_logScroll.verticalNormalizedPosition = 0f;
+		}
+
+
+		public void ToggleMenu()
+		{
+			_menu.SetActive(!_menu.activeSelf);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/Console.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/Console.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8ba19faf6155a5d964b37fc9589b4ff693b2845a
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/Console.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c0d8056b5e53e42499659c2c1007be20
+timeCreated: 1502253530
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/Conversions.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/Conversions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9eca5bccc2043376f585a21f21cd0c5890b644f2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/Conversions.cs
@@ -0,0 +1,423 @@
+//-----------------------------------------------------------------------
+// <copyright file="Conversions.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Unity.Utilities
+{
+	using Mapbox.Map;
+	using System;
+	using Mapbox.Utils;
+	using UnityEngine;
+	using System.Globalization;
+	using Mapbox.Unity.MeshGeneration.Data;
+
+	/// <summary>
+	/// A set of Geo and Terrain Conversion utils.
+	/// </summary>
+	public static class Conversions
+	{
+		private const int TileSize = 256;
+		/// <summary>according to https://wiki.openstreetmap.org/wiki/Zoom_levels</summary>
+		private const int EarthRadius = 6378137; //no seams with globe example
+		private const double InitialResolution = 2 * Math.PI * EarthRadius / TileSize;
+		private const double OriginShift = 2 * Math.PI * EarthRadius / 2;
+
+		/// <summary>
+		/// Converts <see cref="T:Mapbox.Utils.Vector2d"/> struct, WGS84
+		/// lat/lon to Spherical Mercator EPSG:900913 xy meters.
+		/// </summary>
+		/// <param name="v"> The <see cref="T:Mapbox.Utils.Vector2d"/>. </param>
+		/// <returns> A <see cref="T:UnityEngine.Vector2d"/> of coordinates in meters. </returns>
+		public static Vector2d LatLonToMeters(Vector2d v)
+		{
+			return LatLonToMeters(v.x, v.y);
+		}
+
+		/// <summary>
+		/// Convert a simple string to a latitude longitude.
+		/// Expects format: latitude, longitude
+		/// </summary>
+		/// <returns>The lat/lon as Vector2d.</returns>
+		/// <param name="s">string.</param>
+		public static Vector2d StringToLatLon(string s)
+		{
+			var latLonSplit = s.Split(',');
+			if (latLonSplit.Length != 2)
+			{
+				throw new ArgumentException("Wrong number of arguments");
+			}
+
+			double latitude = 0;
+			double longitude = 0;
+
+			if (!double.TryParse(latLonSplit[0], NumberStyles.Any, NumberFormatInfo.InvariantInfo, out latitude))
+			{
+				throw new Exception(string.Format("Could not convert latitude to double: {0}", latLonSplit[0]));
+			}
+
+			if (!double.TryParse(latLonSplit[1], NumberStyles.Any, NumberFormatInfo.InvariantInfo, out longitude))
+			{
+				throw new Exception(string.Format("Could not convert longitude to double: {0}", latLonSplit[0]));
+			}
+
+			return new Vector2d(latitude, longitude);
+		}
+
+		/// <summary>
+		/// Converts WGS84 lat/lon to Spherical Mercator EPSG:900913 xy meters.
+		/// SOURCE: http://stackoverflow.com/questions/12896139/geographic-coordinates-converter.
+		/// </summary>
+		/// <param name="lat"> The latitude. </param>
+		/// <param name="lon"> The longitude. </param>
+		/// <returns> A <see cref="T:UnityEngine.Vector2d"/> of xy meters. </returns>
+		public static Vector2d LatLonToMeters(double lat, double lon)
+		{
+			var posx = lon * OriginShift / 180;
+			var posy = Math.Log(Math.Tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
+			posy = posy * OriginShift / 180;
+			return new Vector2d(posx, posy);
+		}
+
+		/// <summary>
+		/// Converts WGS84 lat/lon to x/y meters in reference to a center point
+		/// </summary>
+		/// <param name="lat"> The latitude. </param>
+		/// <param name="lon"> The longitude. </param>
+		/// <param name="refPoint"> A <see cref="T:UnityEngine.Vector2d"/> center point to offset resultant xy, this is usually map's center mercator</param>
+		/// <param name="scale"> Scale in meters. (default scale = 1) </param>
+		/// <returns> A <see cref="T:UnityEngine.Vector2d"/> xy tile ID. </returns>
+		/// <example>
+		/// Converts a Lat/Lon of (37.7749, 122.4194) into Unity coordinates for a map centered at (10,10) and a scale of 2.5 meters for every 1 Unity unit 
+		/// <code>
+		/// var worldPosition = Conversions.GeoToWorldPosition(37.7749, 122.4194, new Vector2d(10, 10), (float)2.5);
+		/// // worldPosition = ( 11369163.38585, 34069138.17805 )
+		/// </code>
+		/// </example>
+		public static Vector2d GeoToWorldPosition(double lat, double lon, Vector2d refPoint, float scale = 1)
+		{
+			var posx = lon * OriginShift / 180;
+			var posy = Math.Log(Math.Tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
+			posy = posy * OriginShift / 180;
+			return new Vector2d((posx - refPoint.x) * scale, (posy - refPoint.y) * scale);
+		}
+
+		public static Vector2d GeoToWorldPosition(Vector2d latLong, Vector2d refPoint, float scale = 1)
+		{
+			return GeoToWorldPosition(latLong.x, latLong.y, refPoint, scale);
+		}
+
+		public static Vector3 GeoToWorldGlobePosition(double lat, double lon, float radius)
+		{
+			double xPos = (radius) * Math.Cos(Mathf.Deg2Rad * lat) * Math.Cos(Mathf.Deg2Rad * lon);
+			double zPos = (radius) * Math.Cos(Mathf.Deg2Rad * lat) * Math.Sin(Mathf.Deg2Rad * lon);
+			double yPos = (radius) * Math.Sin(Mathf.Deg2Rad * lat);
+
+			return new Vector3((float)xPos, (float)yPos, (float)zPos);
+		}
+
+		public static Vector3 GeoToWorldGlobePosition(Vector2d latLong, float radius)
+		{
+			return GeoToWorldGlobePosition(latLong.x, latLong.y, radius);
+		}
+
+		public static Vector2d GeoFromGlobePosition(Vector3 point, float radius)
+		{
+			float latitude = Mathf.Asin(point.y / radius);
+			float longitude = Mathf.Atan2(point.z, point.x);
+			return new Vector2d(latitude * Mathf.Rad2Deg, longitude * Mathf.Rad2Deg);
+		}
+
+		/// <summary>
+		/// Converts Spherical Mercator EPSG:900913 in xy meters to WGS84 lat/lon.
+		/// Inverse of LatLonToMeters.
+		/// </summary>
+		/// <param name="m"> A <see cref="T:UnityEngine.Vector2d"/> of coordinates in meters.  </param>
+		/// <returns> The <see cref="T:Mapbox.Utils.Vector2d"/> in lat/lon. </returns>
+
+		/// <example>
+		/// Converts EPSG:900913 xy meter coordinates to lat lon 
+		/// <code>
+		/// var worldPosition =  new Vector2d (4547675.35434,13627665.27122);
+		/// var latlon = Conversions.MetersToLatLon(worldPosition);
+		/// // latlon = ( 37.77490, 122.41940 )
+		/// </code>
+		/// </example>
+		public static Vector2d MetersToLatLon(Vector2d m)
+		{
+			var vx = (m.x / OriginShift) * 180;
+			var vy = (m.y / OriginShift) * 180;
+			vy = 180 / Math.PI * (2 * Math.Atan(Math.Exp(vy * Math.PI / 180)) - Math.PI / 2);
+			return new Vector2d(vy, vx);
+		}
+
+		/// <summary>
+		/// Gets the xy tile ID from Spherical Mercator EPSG:900913 xy coords.
+		/// </summary>
+		/// <param name="m"> <see cref="T:UnityEngine.Vector2d"/> XY coords in meters. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> A <see cref="T:UnityEngine.Vector2d"/> xy tile ID. </returns>
+		/// 
+		/// <example>
+		/// Converts EPSG:900913 xy meter coordinates to web mercator tile XY coordinates at zoom 12.
+		/// <code>
+		/// var meterXYPosition = new Vector2d (4547675.35434,13627665.27122);
+		/// var tileXY = Conversions.MetersToTile (meterXYPosition, 12);
+		/// // tileXY = ( 655, 2512 )
+		/// </code>
+		/// </example>
+		public static Vector2 MetersToTile(Vector2d m, int zoom)
+		{
+			var p = MetersToPixels(m, zoom);
+			return PixelsToTile(p);
+		}
+
+		/// <summary>
+		/// Gets the tile bounds in Spherical Mercator EPSG:900913 meters from an xy tile ID.
+		/// </summary>
+		/// <param name="tileCoordinate"> XY tile ID. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> A <see cref="T:UnityEngine.Rect"/> in meters. </returns>
+		public static RectD TileBounds(Vector2 tileCoordinate, int zoom)
+		{
+			var min = PixelsToMeters(new Vector2d(tileCoordinate.x * TileSize, tileCoordinate.y * TileSize), zoom);
+			var max = PixelsToMeters(new Vector2d((tileCoordinate.x + 1) * TileSize, (tileCoordinate.y + 1) * TileSize), zoom);
+			return new RectD(min, max - min);
+		}
+
+		public static RectD TileBounds(UnwrappedTileId unwrappedTileId)
+		{
+			var min = PixelsToMeters(new Vector2d(unwrappedTileId.X * TileSize, unwrappedTileId.Y * TileSize), unwrappedTileId.Z);
+			var max = PixelsToMeters(new Vector2d((unwrappedTileId.X + 1) * TileSize, (unwrappedTileId.Y + 1) * TileSize), unwrappedTileId.Z);
+			return new RectD(min, max - min);
+		}
+
+		/// <summary>
+		/// Gets the xy tile ID at the requested zoom that contains the WGS84 lat/lon point.
+		/// See: http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames.
+		/// </summary>
+		/// <param name="latitude"> The latitude. </param>
+		/// <param name="longitude"> The longitude. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> A <see cref="T:Mapbox.Map.UnwrappedTileId"/> xy tile ID. </returns>
+		public static UnwrappedTileId LatitudeLongitudeToTileId(double latitude, double longitude, int zoom)
+		{
+			var x = (int)Math.Floor((longitude + 180.0) / 360.0 * Math.Pow(2.0, zoom));
+			var y = (int)Math.Floor((1.0 - Math.Log(Math.Tan(latitude * Math.PI / 180.0)
+					+ 1.0 / Math.Cos(latitude * Math.PI / 180.0)) / Math.PI) / 2.0 * Math.Pow(2.0, zoom));
+
+			return new UnwrappedTileId(zoom, x, y);
+		}
+
+
+		/// <summary>
+		/// Get coordinates for a given latitude/longitude in tile-space. Useful when comparing feature geometry to lat/lon coordinates.
+		/// </summary>
+		/// <returns>The longitude to tile position.</returns>
+		/// <param name="coordinate">Coordinate.</param>
+		/// <param name="tileZoom">The zoom level of the tile.</param>
+		/// <param name="layerExtent">Layer extent. Optional, but recommended. Defaults to 4096, the standard for Mapbox Tiles</param>
+		public static Vector2 LatitudeLongitudeToVectorTilePosition(Vector2d coordinate, int tileZoom, ulong layerExtent = 4096)
+		{
+			var coordinateTileId = Conversions.LatitudeLongitudeToTileId(
+				coordinate.x, coordinate.y, tileZoom);
+			var _meters = LatLonToMeters(coordinate);
+			var _rect = Conversions.TileBounds(coordinateTileId);
+
+			//vectortile space point (0 - layerExtent)
+			var vectorTilePoint = new Vector2((float)((_meters - _rect.Min).x / _rect.Size.x) * layerExtent,
+											  (float)(layerExtent - ((_meters - _rect.Max).y / _rect.Size.y) * layerExtent));
+
+			return vectorTilePoint;
+		}
+
+		public static Vector2 LatitudeLongitudeToUnityTilePosition(Vector2d coordinate, UnityTile tile, ulong layerExtent = 4096)
+		{
+			return LatitudeLongitudeToUnityTilePosition(coordinate, tile.CurrentZoom, tile.TileScale, layerExtent);
+		}
+
+		/// <summary>
+		/// Get coordinates for a given latitude/longitude in tile-space. Useful when comparing feature geometry to lat/lon coordinates.
+		/// </summary>
+		/// <returns>The longitude to tile position.</returns>
+		/// <param name="coordinate">Coordinate.</param>
+		/// <param name="tileZoom">The zoom level of the tile.</param>
+		/// <param name="tileScale">Tile scale. Optional, but recommended. Defaults to a scale of 1.</param>
+		/// <param name="layerExtent">Layer extent. Optional, but recommended. Defaults to 4096, the standard for Mapbox Tiles</param>
+		public static Vector2 LatitudeLongitudeToUnityTilePosition(Vector2d coordinate, int tileZoom, float tileScale, ulong layerExtent = 4096)
+		{
+			var coordinateTileId = Conversions.LatitudeLongitudeToTileId(
+				coordinate.x, coordinate.y, tileZoom);
+			var _rect = Conversions.TileBounds(coordinateTileId);
+
+			//vectortile space point (0 - layerExtent)
+			var vectorTilePoint = LatitudeLongitudeToVectorTilePosition(coordinate, tileZoom, layerExtent);
+
+			//UnityTile space
+			var unityTilePoint = new Vector2((float)(vectorTilePoint.x / layerExtent * _rect.Size.x - (_rect.Size.x / 2)) * tileScale,
+			                                 (float)((layerExtent - vectorTilePoint.y) / layerExtent * _rect.Size.y - (_rect.Size.y / 2)) * tileScale);
+
+			return unityTilePoint;
+		}
+
+		/// <summary>
+		/// Gets the WGS84 longitude of the northwest corner from a tile's X position and zoom level.
+		/// See: http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames.
+		/// </summary>
+		/// <param name="x"> Tile X position. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> NW Longitude. </returns>
+		public static double TileXToNWLongitude(int x, int zoom)
+		{
+			var n = Math.Pow(2.0, zoom);
+			var lon_deg = x / n * 360.0 - 180.0;
+			return lon_deg;
+		}
+
+		/// <summary>
+		/// Gets the WGS84 latitude of the northwest corner from a tile's Y position and zoom level.
+		/// See: http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames.
+		/// </summary>
+		/// <param name="y"> Tile Y position. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> NW Latitude. </returns>
+		public static double TileYToNWLatitude(int y, int zoom)
+		{
+			var n = Math.Pow(2.0, zoom);
+			var lat_rad = Math.Atan(Math.Sinh(Math.PI * (1 - 2 * y / n)));
+			var lat_deg = lat_rad * 180.0 / Math.PI;
+			return lat_deg;
+		}
+
+		/// <summary>
+		/// Gets the <see cref="T:Mapbox.Utils.Vector2dBounds"/> of a tile.
+		/// </summary>
+		/// <param name="x"> Tile X position. </param>
+		/// <param name="y"> Tile Y position. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> The <see cref="T:Mapbox.Utils.Vector2dBounds"/> of the tile. </returns>
+		public static Vector2dBounds TileIdToBounds(int x, int y, int zoom)
+		{
+			var sw = new Vector2d(TileYToNWLatitude(y, zoom), TileXToNWLongitude(x + 1, zoom));
+			var ne = new Vector2d(TileYToNWLatitude(y + 1, zoom), TileXToNWLongitude(x, zoom));
+			return new Vector2dBounds(sw, ne);
+		}
+
+		/// <summary>
+		/// Gets the WGS84 lat/lon of the center of a tile.
+		/// </summary>
+		/// <param name="x"> Tile X position. </param>
+		/// <param name="y"> Tile Y position. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns>A <see cref="T:UnityEngine.Vector2d"/> of lat/lon coordinates.</returns>
+		public static Vector2d TileIdToCenterLatitudeLongitude(int x, int y, int zoom)
+		{
+			var bb = TileIdToBounds(x, y, zoom);
+			var center = bb.Center;
+			return new Vector2d(center.x, center.y);
+		}
+
+
+		/// <summary>
+		/// Gets the Web Mercator x/y of the center of a tile.
+		/// </summary>
+		/// <param name="x"> Tile X position. </param>
+		/// <param name="y"> Tile Y position. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns>A <see cref="T:UnityEngine.Vector2d"/> of lat/lon coordinates.</returns>
+		public static Vector2d TileIdToCenterWebMercator(int x, int y, int zoom)
+		{
+			double tileCnt = Math.Pow(2, zoom);
+			double centerX = x + 0.5;
+			double centerY = y + 0.5;
+
+			centerX = ((centerX / tileCnt * 2) - 1) * Constants.WebMercMax;
+			centerY = (1 - (centerY / tileCnt * 2)) * Constants.WebMercMax;
+			return new Vector2d(centerX, centerY);
+		}
+
+		/// <summary>
+		/// Gets the meters per pixels at given latitude and zoom level for a 256x256 tile.
+		/// See: http://wiki.openstreetmap.org/wiki/Zoom_levels.
+		/// </summary>
+		/// <param name="latitude"> The latitude. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> Meters per pixel. </returns>
+		public static float GetTileScaleInMeters(float latitude, int zoom)
+		{
+			return (float)(40075016.685578d * Math.Cos(Mathf.Deg2Rad * latitude) / Math.Pow(2f, zoom + 8));
+		}
+
+		/// <summary>
+		/// Gets the degrees per tile at given zoom level for Web Mercator tile.
+		/// See: http://wiki.openstreetmap.org/wiki/Zoom_levels.
+		/// </summary>
+		/// <param name="latitude"> The latitude. </param>
+		/// <param name="zoom"> Zoom level. </param>
+		/// <returns> Degrees per tile. </returns>
+		public static float GetTileScaleInDegrees(float latitude, int zoom)
+		{
+			return (float)(360.0f / Math.Pow(2f, zoom + 8));
+		}
+
+		/// <summary>
+		/// Gets height from terrain-rgb adjusted for a given scale.
+		/// </summary>
+		/// <param name="color"> The <see cref="T:UnityEngine.Color"/>. </param>
+		/// <param name="relativeScale"> Relative scale. </param>
+		/// <returns> Adjusted height in meters. </returns>
+		public static float GetRelativeHeightFromColor(Color color, float relativeScale)
+		{
+			return GetAbsoluteHeightFromColor(color) * relativeScale;
+		}
+
+		/// <summary>
+		/// Specific formula for mapbox.terrain-rgb to decode height values from pixel values.
+		/// See: https://www.mapbox.com/blog/terrain-rgb/.
+		/// </summary>
+		/// <param name="color"> The <see cref="T:UnityEngine.Color"/>. </param>
+		/// <returns> Height in meters. </returns>
+		public static float GetAbsoluteHeightFromColor(Color color)
+		{
+			return (float)(-10000 + ((color.r * 255 * 256 * 256 + color.g * 255 * 256 + color.b * 255) * 0.1));
+		}
+
+		public static float GetAbsoluteHeightFromColor32(Color32 color)
+		{
+			return (float)(-10000 + ((color.r * 256 * 256 + color.g * 256 + color.b) * 0.1));
+		}
+
+		public static float GetAbsoluteHeightFromColor(float r, float g, float b)
+		{
+			return (-10000f + ((r * 65536f + g * 256f + b) * 0.1f));
+		}
+
+		private static double Resolution(int zoom)
+		{
+			return InitialResolution / Math.Pow(2, zoom);
+		}
+
+		private static Vector2d PixelsToMeters(Vector2d p, int zoom)
+		{
+			var res = Resolution(zoom);
+			var met = new Vector2d();
+			met.x = (p.x * res - OriginShift);
+			met.y = -(p.y * res - OriginShift);
+			return met;
+		}
+
+		private static Vector2d MetersToPixels(Vector2d m, int zoom)
+		{
+			var res = Resolution(zoom);
+			var pix = new Vector2d(((m.x + OriginShift) / res), ((-m.y + OriginShift) / res));
+			return pix;
+		}
+
+		private static Vector2 PixelsToTile(Vector2d p)
+		{
+			var t = new Vector2((int)Math.Ceiling(p.x / (double)TileSize) - 1, (int)Math.Ceiling(p.y / (double)TileSize) - 1);
+			return t;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/Conversions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/Conversions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..da9b6150422c08696532bfc76ebfd1c9f5eb601c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/Conversions.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 298fcb875e96e4d6f9b039f9f30aad82
+timeCreated: 1483998783
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c24d67e31541d1ad0852712044ff829fd1b741fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c2f9985805e6d4227a776425b7c33ca4
+folderAsset: yes
+timeCreated: 1512101271
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/SceneData.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/SceneData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..66d5e49204e66056916378a5e9c95392ddb8a17d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/SceneData.cs
@@ -0,0 +1,13 @@
+namespace Mapbox.Unity.Utilities.DebugTools
+{
+    using UnityEngine;
+
+    public class SceneData : ScriptableObject
+    {
+        public string Name;
+        public string ScenePath;
+        public Texture2D Image;
+        public TextAsset Text;
+    }
+}
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/SceneData.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/SceneData.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dea362b57c0c1f950391f53e8f5f0e1d2a9d3613
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/SceneData.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e5d9ef4c9a5f1410ea3cf247b3917654
+timeCreated: 1512584162
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/ScenesList.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/ScenesList.cs
new file mode 100644
index 0000000000000000000000000000000000000000..56f29c3ce156e0fbcfe9a433518469efdc31557b
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/ScenesList.cs
@@ -0,0 +1,58 @@
+namespace Mapbox.Unity.Utilities.DebugTools
+{
+	using UnityEngine;
+	#if UNITY_EDITOR
+	using UnityEditor;
+	#endif
+	public class ScenesList : ScriptableObject
+	{
+		public SceneData[] SceneList;
+
+		//ensure that linked scenes are stored in this object
+		#if UNITY_EDITOR
+
+		public void LinkScenes()
+		{
+			for (int i = 0; i < SceneList.Length; i++)
+			{
+				if (!ThisAssetContainsScene(SceneList[i]))
+				{
+					//duplicate the asset
+					var path = AssetDatabase.GetAssetPath(this);
+					var newScene = ScriptableObject.CreateInstance<SceneData>();
+					newScene.name = SceneList[i].name;
+					newScene.ScenePath = SceneList[i].ScenePath;
+					newScene.Text = SceneList[i].Text;
+					newScene.Image = SceneList[i].Image;
+
+					//assign it to the current scene list
+					AssetDatabase.AddObjectToAsset(newScene, path);
+					SceneList[i] = newScene;
+
+					//save the scenelist
+					EditorUtility.SetDirty(this);
+					AssetDatabase.SaveAssets();
+
+					//TODO: clean up unreferenced sub-assets with Destroy
+				}
+			}
+		}
+
+		private bool ThisAssetContainsScene(SceneData scene)
+		{
+			var path = AssetDatabase.GetAssetPath(this);
+			Object[] assets = AssetDatabase.LoadAllAssetsAtPath(path);
+			foreach (var asset in assets)
+			{
+				if (asset == scene)
+				{
+					return true;
+				}
+			}
+
+			return false;
+
+		}
+		#endif
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/ScenesList.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/ScenesList.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6d1f885903394df0abb89705415e2ef941b1f3f7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DebugTools/ScenesList.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c331d4375e95e4050aadbf5ed3492bba
+timeCreated: 1512102887
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DescriptionAttribute.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/DescriptionAttribute.cs
new file mode 100644
index 0000000000000000000000000000000000000000..60c3cdaf305928a080473ef33bb81254e47cff49
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DescriptionAttribute.cs
@@ -0,0 +1,22 @@
+namespace Mapbox.VectorTile.Geometry
+{
+
+
+	using System;
+
+
+#if ENABLE_WINMD_SUPPORT
+	[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
+	public class DescriptionAttribute : Attribute
+	{
+		private readonly string description;
+		public string Description { get { return description; } }
+		public DescriptionAttribute(string description)
+		{
+			this.description = description;
+		}
+	}
+#endif
+
+
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DescriptionAttribute.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/DescriptionAttribute.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..118400a945c1202a4547ff5e2739479a0ff8c79e
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DescriptionAttribute.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3ec8e3a68b131f54489938159f37c582
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DontDestroyOnLoad.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/DontDestroyOnLoad.cs
new file mode 100644
index 0000000000000000000000000000000000000000..09c0293e0b166729fe7b269665b5b9d4772745e7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DontDestroyOnLoad.cs
@@ -0,0 +1,24 @@
+namespace Mapbox.Unity.Utilities
+{
+	using UnityEngine;
+
+	public class DontDestroyOnLoad : MonoBehaviour
+	{
+		static DontDestroyOnLoad _instance;
+
+		[SerializeField]
+		bool _useSingleInstance;
+
+		protected virtual void Awake()
+		{
+			if (_instance != null && _useSingleInstance)
+			{
+				Destroy(gameObject);
+				return;
+			}
+
+			_instance = this;
+			DontDestroyOnLoad(gameObject);
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/DontDestroyOnLoad.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/DontDestroyOnLoad.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d8c1ff65f7e51a49f65d495c4f4195f9c0515bdb
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/DontDestroyOnLoad.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6db3a516f4a7041b4a415b35843f8841
+timeCreated: 1512101563
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/GameObjectExtensions.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/GameObjectExtensions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..172fe759d99ee4ac325f6bd02cfa271fc32ba4fd
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/GameObjectExtensions.cs
@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public static class GameObjectExtensions
+{
+	public static void Destroy(this Object obj, bool deleteAsset = false)
+	{
+		if (Application.isEditor && !Application.isPlaying)
+		{
+			GameObject.DestroyImmediate(obj, deleteAsset);
+		}
+		else
+		{
+			GameObject.Destroy(obj);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/GameObjectExtensions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/GameObjectExtensions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a93fd096ce401d17f97dbad7909dc85006b59017
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/GameObjectExtensions.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a1a6d75cc30cc48ffb47fbd112800b60
+timeCreated: 1544732620
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/GeocodeAttribute.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/GeocodeAttribute.cs
new file mode 100644
index 0000000000000000000000000000000000000000..512f814e7ad75695f9a28c617d81e9e7eeca4d55
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/GeocodeAttribute.cs
@@ -0,0 +1,14 @@
+namespace Mapbox.Unity.Utilities
+{
+    using UnityEngine;
+
+	/// <summary>
+	///     Property attribute used to create custom Geocode GUI field<para/>
+	///     Links to custom drawer: 
+	///     <see cref="T:Mapbox.Editor.GeocodeAttributeDrawer"/>. 
+	/// </summary>
+	public class GeocodeAttribute : PropertyAttribute
+	{
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/GeocodeAttribute.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/GeocodeAttribute.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6754d5b83227c20f8aed0c587a182cdfa663e862
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/GeocodeAttribute.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 58ead4aa98d3e8c41972efbfcefbf74f
+timeCreated: 1484134774
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/HTTPRequest.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/HTTPRequest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..12ad5936c610bad05e2c61e4ca1c63aab637c77d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/HTTPRequest.cs
@@ -0,0 +1,102 @@
+//-----------------------------------------------------------------------
+// <copyright file="HTTPRequest.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+
+namespace Mapbox.Unity.Utilities
+{
+	using System;
+	using UnityEngine.Networking;
+	using System.Collections;
+	using Mapbox.Platform;
+	using UnityEngine;
+
+#if UNITY_EDITOR
+	using UnityEditor;
+#endif
+
+	public enum HttpRequestType
+	{
+		Get,
+		Head
+	}
+
+
+	internal sealed class HTTPRequest : IAsyncRequest
+	{
+
+		private UnityWebRequest _request;
+		private HttpRequestType _requestType;
+		private int _timeout;
+		private readonly Action<Response> _callback;
+
+		public bool IsCompleted { get; private set; }
+
+		public HttpRequestType RequestType { get { return _requestType; } }
+
+		// TODO: simplify timeout for Unity 5.6+
+		// https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest-timeout.html
+		public HTTPRequest(string url, Action<Response> callback, int timeout, HttpRequestType requestType = HttpRequestType.Get)
+		{
+			IsCompleted = false;
+			_requestType = requestType;
+
+			switch (_requestType)
+			{
+				case HttpRequestType.Get:
+					_request = UnityWebRequest.Get(url);
+					break;
+				case HttpRequestType.Head:
+					_request = UnityWebRequest.Head(url);
+					break;
+				default:
+					_request = UnityWebRequest.Get(url);
+					break;
+			}
+
+			_request.timeout = timeout;
+			_callback = callback;
+
+#if UNITY_EDITOR
+			if (!EditorApplication.isPlaying)
+			{
+				Runnable.EnableRunnableInEditor();
+			}
+#endif
+			Runnable.Run(DoRequest());
+		}
+
+		public void Cancel()
+		{
+			if (_request != null)
+			{
+				_request.Abort();
+			}
+		}
+
+		private IEnumerator DoRequest()
+		{
+#if UNITY_EDITOR
+			// otherwise requests don't work in Edit mode, eg geocoding
+			// also lot of EditMode tests fail otherwise
+#pragma warning disable 0618
+			_request.Send();
+#pragma warning restore 0618
+			while (!_request.isDone) { yield return null; }
+#else
+#pragma warning disable 0618
+			yield return _request.Send();
+#pragma warning restore 0618
+#endif
+
+			var response = Response.FromWebResponse(this, _request, null);
+
+			_callback(response);
+			_request.Dispose();
+			_request = null;
+			IsCompleted = true;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/HTTPRequest.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/HTTPRequest.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6379afd9e66c11e040fae74453e8b8602948d890
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/HTTPRequest.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0af41ebc1f8e7485d93cb4b9070e9d1a
+timeCreated: 1482363481
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/MapVisualizerPerformance.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/MapVisualizerPerformance.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8100cd17af61a30e6e73555bd40988bad4786c27
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/MapVisualizerPerformance.cs
@@ -0,0 +1,70 @@
+namespace Mapbox.Unity.Utilities
+{
+	using Mapbox.Unity.Map;
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Diagnostics;
+	using UnityEngine;
+
+	public class MapVisualizerPerformance : MonoBehaviour
+	{
+		private Stopwatch _sw = new Stopwatch();
+		private AbstractMap _map;
+		private AbstractMapVisualizer _mapVisualizer;
+		public int TestCount = 10;
+		private int _currentTest = 1;
+		[NonSerialized]
+		public float TotalTime = 0;
+		private float _firstRun;
+
+		protected virtual void Awake()
+		{
+			TotalTime = 0;
+			_currentTest = 1;
+			_map = FindObjectOfType<AbstractMap>();
+			_mapVisualizer = _map.MapVisualizer;
+
+			_mapVisualizer.OnMapVisualizerStateChanged += (s) =>
+			{
+				if (s == ModuleState.Working)
+				{
+					_sw.Reset();
+					_sw.Start();
+				}
+				else if (s == ModuleState.Finished)
+				{
+					_sw.Stop();
+					if (_currentTest > 1)
+					{
+						TotalTime += _sw.ElapsedMilliseconds;
+						UnityEngine.Debug.Log("Test " + _currentTest + ": " + _sw.ElapsedMilliseconds);
+					}
+					else
+					{
+						_firstRun = _sw.ElapsedMilliseconds;
+					}
+
+					if (TestCount > _currentTest)
+					{
+						_currentTest++;
+						Invoke("Run", 1f);
+					}
+					else
+					{
+						if (_currentTest > 1)
+						{
+							UnityEngine.Debug.Log("First Run:        " + _firstRun + " \r\nRest Average: " + TotalTime / (_currentTest - 1));
+						}
+					}
+				}
+			};
+		}
+
+		public void Run()
+		{
+			//TODO : FIX THIS ERROR	
+			//_map.Reset();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/MapVisualizerPerformance.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/MapVisualizerPerformance.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e69c88a58b10122e6b3ffa85f8445d8d8077f587
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/MapVisualizerPerformance.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 49949b46d9cfc4a4b9d2419caf98f859
+timeCreated: 1509058153
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/NodeEditorElementAttribute.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/NodeEditorElementAttribute.cs
new file mode 100644
index 0000000000000000000000000000000000000000..80e65f6fb51e91043641a6689b03994f0875b781
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/NodeEditorElementAttribute.cs
@@ -0,0 +1,16 @@
+namespace Mapbox.Unity.Utilities
+{
+	using UnityEngine;
+	using System.Collections;
+	using System;
+
+	public class NodeEditorElementAttribute : Attribute
+	{
+		public string Name;
+
+		public NodeEditorElementAttribute(string s)
+		{
+			Name = s;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/NodeEditorElementAttribute.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/NodeEditorElementAttribute.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3d838ed99800e97934414b9bc0a219209278f2e6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/NodeEditorElementAttribute.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c03cf5b7204de7844baa0bc6167637bc
+timeCreated: 1502156751
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/ObjectPool.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/ObjectPool.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8a749e957b9d352149eb7d531db5a1b6766c5182
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/ObjectPool.cs
@@ -0,0 +1,43 @@
+namespace Mapbox.Unity.MeshGeneration.Data
+{
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+
+	public class ObjectPool<T>
+	{
+		private Queue<T> _objects;
+		private Func<T> _objectGenerator;
+
+		public ObjectPool(Func<T> objectGenerator)
+		{
+			if (objectGenerator == null) throw new ArgumentNullException("objectGenerator");
+			_objects = new Queue<T>();
+			_objectGenerator = objectGenerator;
+		}
+
+		public T GetObject()
+		{
+			if (_objects.Count > 0)
+				return _objects.Dequeue();
+			return _objectGenerator();
+		}
+
+		public void Put(T item)
+		{
+			_objects.Enqueue(item);
+		}
+
+		public void Clear()
+		{
+			_objects.Clear();
+		}
+
+		public IEnumerable<T> GetQueue()
+		{
+			return _objects;
+		}
+	}
+}
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/ObjectPool.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/ObjectPool.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c62a96c45e85dae1d9553af38fa789a989783571
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/ObjectPool.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8e82366f4588af547bebd4cdaa52acfb
+timeCreated: 1507502644
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/OpenUrlOnButtonClick.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/OpenUrlOnButtonClick.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f71b80357cab89981f03cd9bc86e0a0eebb0cdac
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/OpenUrlOnButtonClick.cs
@@ -0,0 +1,22 @@
+namespace Mapbox.Unity.Utilities
+{
+	using UnityEngine;
+	using UnityEngine.UI;
+
+	[RequireComponent(typeof(Button))]
+	public class OpenUrlOnButtonClick : MonoBehaviour
+	{
+		[SerializeField]
+		string _url;
+
+		protected virtual void Awake()
+		{
+			GetComponent<Button>().onClick.AddListener(VisitUrl);
+		}
+
+		void VisitUrl()
+		{
+			Application.OpenURL(_url);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/OpenUrlOnButtonClick.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/OpenUrlOnButtonClick.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..46e9f45ee42cab26bf944b32a53aad14109b4352
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/OpenUrlOnButtonClick.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7d2bfe282373c4419b3edefc8dd20f68
+timeCreated: 1495663466
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/PolygonUtils.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/PolygonUtils.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e8cddc6bf8d3fa77dab4e52ef5ba3b5547e08b4d
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/PolygonUtils.cs
@@ -0,0 +1,70 @@
+namespace Mapbox.Utils
+{
+
+
+	using System.Collections.Generic;
+	using Mapbox.VectorTile.Geometry;
+
+
+	public static class PolygonUtils
+	{
+		/// <summary>
+		/// <para>Method to check if a point is contained inside a polygon, ignores vertical axis (y axis)</para>
+		/// <para>from https://stackoverflow.com/a/7123291</para>
+		/// </summary>
+		/// <returns><c>true</c>, if point lies inside the constructed polygon, <c>false</c> otherwise.</returns>
+		/// <param name="polygon">Polygon points.</param>
+		/// <param name="p">The point that is to be tested.</param>
+		public static bool PointInPolygon(Point2d<float> p, List<List<Point2d<float>>> polygon)
+		{
+			List<Point2d<float>> poly = polygon[0];
+
+			Point2d<float> p1;
+			Point2d<float> p2;
+			bool inside = false;
+
+			if (poly.Count < 3)
+			{
+				return inside;
+			}
+
+			var oldPoint = new Point2d<float>(
+				poly[poly.Count - 1].X
+				, poly[poly.Count - 1].Y
+			);
+
+			for (int i = 0; i < poly.Count; i++)
+			{
+				var newPoint = new Point2d<float>(poly[i].X, poly[i].Y);
+
+				if (newPoint.X > oldPoint.X)
+				{
+					p1 = oldPoint;
+					p2 = newPoint;
+				}
+				else
+				{
+					p1 = newPoint;
+					p2 = oldPoint;
+				}
+
+				if (
+					(newPoint.X < p.X) == (p.X <= oldPoint.X)
+					&& (p.Y - (long)p1.Y) * (p2.X - p1.X) < (p2.Y - (long)p1.Y) * (p.X - p1.X)
+				)
+				{
+					inside = !inside;
+				}
+
+				oldPoint = newPoint;
+			}
+
+			return inside;
+		}
+
+
+
+	}
+
+}
+
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/PolygonUtils.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/PolygonUtils.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..46ba775834b4e23b8ebb768fee26dd86d3341f91
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/PolygonUtils.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: a8bec9161e1794b4eb4297f7098296d7
+timeCreated: 1526332346
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/Runnable.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/Runnable.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e201df63d97a71f83a18fdd3a8d8abfb32ec9145
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/Runnable.cs
@@ -0,0 +1,172 @@
+/**
+* Copyright 2015 IBM Corp. All Rights Reserved.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+// Uncomment to enable debugging of the Runnable class.
+//#define ENABLE_RUNNABLE_DEBUGGING
+
+namespace Mapbox.Unity.Utilities
+{
+    using UnityEngine;
+    using System.Collections;
+    using System.Collections.Generic;
+
+    /// <summary>
+    /// Helper class for running co-routines without having to inherit from MonoBehavior.
+    /// </summary>
+    public class Runnable : MonoBehaviour
+    {
+        #region Public Properties
+        /// <summary>
+        /// Returns the Runnable instance.
+        /// </summary>
+        public static Runnable Instance { get { return Singleton<Runnable>.Instance; } }
+        #endregion
+
+        #region Public Interface
+        /// <summary>
+        /// Start a co-routine function.
+        /// </summary>
+        /// <param name="routine">The IEnumerator returns by the co-routine function the user is invoking.</param>
+        /// <returns>Returns a ID that can be passed into Stop() to halt the co-routine.</returns>
+        public static int Run(IEnumerator routine)
+        {
+            Routine r = new Routine(routine);
+            return r.ID;
+        }
+
+        /// <summary>
+        /// Stops a active co-routine.
+        /// </summary>
+        /// <param name="ID">THe ID of the co-routine to stop.</param>
+        public static void Stop(int ID)
+        {
+            Routine r = null;
+            if (Instance.m_Routines.TryGetValue(ID, out r))
+                r.Stop = true;
+        }
+
+        /// <summary>
+        /// Check if a routine is still running.
+        /// </summary>
+        /// <param name="id">The ID returned by Run().</param>
+        /// <returns>Returns true if the routine is still active.</returns>
+        static public bool IsRunning(int id)
+        {
+            return Instance.m_Routines.ContainsKey(id);
+        }
+
+#if UNITY_EDITOR
+        private static bool sm_EditorRunnable = false;
+
+        /// <summary>
+        /// This function enables the Runnable in edit mode.
+        /// </summary>
+        public static void EnableRunnableInEditor()
+        {
+            if (!sm_EditorRunnable)
+            {
+                sm_EditorRunnable = true;
+                UnityEditor.EditorApplication.update += UpdateRunnable;
+            }
+        }
+        static void UpdateRunnable()
+        {
+            if (!Application.isPlaying)
+            {
+                Instance.UpdateRoutines();
+            }
+        }
+
+#endif
+        #endregion
+
+        #region Private Types
+        /// <summary>
+        /// This class handles a running co-routine.
+        /// </summary>
+        private class Routine : IEnumerator
+        {
+            #region Public Properties
+            public int ID { get; private set; }
+            public bool Stop { get; set; }
+            #endregion
+
+            #region Private Data
+            private bool m_bMoveNext = false;
+            private IEnumerator m_Enumerator = null;
+            #endregion
+
+            public Routine(IEnumerator a_enumerator)
+            {
+                m_Enumerator = a_enumerator;
+                Runnable.Instance.StartCoroutine(this);
+                Stop = false;
+                ID = Runnable.Instance.m_NextRoutineId++;
+
+                Runnable.Instance.m_Routines[ID] = this;
+#if ENABLE_RUNNABLE_DEBUGGING
+                Debug.Log( string.Format("Coroutine {0} started.", ID ) ); 
+#endif
+            }
+
+            #region IEnumerator Interface
+            public object Current { get { return m_Enumerator.Current; } }
+            public bool MoveNext()
+            {
+                m_bMoveNext = m_Enumerator.MoveNext();
+                if (m_bMoveNext && Stop)
+                    m_bMoveNext = false;
+
+                if (!m_bMoveNext)
+                {
+                    Runnable.Instance.m_Routines.Remove(ID);      // remove from the mapping
+#if ENABLE_RUNNABLE_DEBUGGING
+                    Debug.Log( string.Format("Coroutine {0} stopped.", ID ) );
+#endif
+                }
+
+                return m_bMoveNext;
+            }
+            public void Reset() { m_Enumerator.Reset(); }
+            #endregion
+        }
+        #endregion
+
+        #region Private Data
+        private Dictionary<int, Routine> m_Routines = new Dictionary<int, Routine>();
+        private int m_NextRoutineId = 1;
+        #endregion
+
+        /// <summary>
+        /// THis can be called by the user to force all co-routines to get a time slice, this is usually
+        /// invoked from an EditorApplication.Update callback so we can use runnable in Editor mode.
+        /// </summary>
+        public void UpdateRoutines()
+        {
+            if (m_Routines.Count > 0)
+            {
+                // we are not in play mode, so we must manually update our co-routines ourselves
+                List<Routine> routines = new List<Routine>();
+                foreach (var kp in m_Routines)
+                    routines.Add(kp.Value);
+
+                foreach (var r in routines)
+                    r.MoveNext();
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/Runnable.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/Runnable.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..050b9a74027b4ab19da6ffac111ecddf93854416
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/Runnable.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b87b2c1373aae46cda00a35c701735a8
+timeCreated: 1490371125
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/Singleton.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/Singleton.cs
new file mode 100644
index 0000000000000000000000000000000000000000..952047cffa394257a5864657ef4f6a4135077e75
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/Singleton.cs
@@ -0,0 +1,84 @@
+/**
+* Copyright 2015 IBM Corp. All Rights Reserved.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+//#define SINGLETONS_VISIBLE
+
+namespace Mapbox.Unity.Utilities {
+
+	using UnityEngine;
+	using System;
+#if NETFX_CORE
+	using System.Reflection;
+#endif
+
+	/// <summary>
+	/// Singleton pattern class. This class detects if T is a MonoBehavior and will 
+	/// make a containing GameObject.  
+	/// </summary>
+	/// <typeparam name="T">The typename of the class to create as a singleton object.</typeparam>
+	/// <remarks>An instance of this class needs to be of type <c>UnityEngine.Object</c> As long as this is used with UnityEngine classes, this should work fine. This is to resolve issue #116 <see href="https://github.com/mapbox/mapbox-unity-sdk/issues/116"/>	</remarks>
+	public class Singleton<T> where T : UnityEngine.Object {
+		#region Private Data
+		static private T sm_Instance = null;
+		#endregion
+
+		#region Public Properties
+		/// <summary>
+		/// Returns the Singleton instance of T.
+		/// </summary>
+		public static T Instance {
+			get {
+				if (sm_Instance == null)
+					CreateInstance();
+				return sm_Instance;
+			}
+		}
+		#endregion
+
+		#region Singleton Creation
+		/// <summary>
+		/// Create the singleton instance.
+		/// </summary>
+		private static void CreateInstance() {
+#if NETFX_CORE
+            if (typeof(MonoBehaviour).GetTypeInfo().IsAssignableFrom(typeof(T).GetTypeInfo())) {
+#else
+			if (typeof(MonoBehaviour).IsAssignableFrom(typeof(T))) {
+#endif
+				string singletonName = "_" + typeof(T).Name;
+
+				GameObject singletonObject = GameObject.Find(singletonName);
+				if (singletonObject == null)
+					singletonObject = new GameObject(singletonName);
+#if SINGLETONS_VISIBLE
+                singletonObject.hideFlags = HideFlags.DontSave;
+#else
+				singletonObject.hideFlags = HideFlags.HideAndDontSave;
+#endif
+				sm_Instance = singletonObject.GetComponent<T>();
+				if (sm_Instance == null)
+					sm_Instance = singletonObject.AddComponent(typeof(T)) as T;
+			} else {
+				sm_Instance = Activator.CreateInstance(typeof(T)) as T;
+			}
+
+			if (sm_Instance == null)
+				throw new Exception("Failed to create instance " + typeof(T).Name);
+		}
+		#endregion
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/Singleton.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/Singleton.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ecb9660432c0d600bd4d494fb01a09f3866e7dc6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/Singleton.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a6eab0daac2d048669b548ca8aa46e33
+timeCreated: 1490371156
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/SingletonScriptableObject.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/SingletonScriptableObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8c0081476a3bbe00ac071d1fc2b52a1c989aa606
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/SingletonScriptableObject.cs
@@ -0,0 +1,21 @@
+namespace Mapbox.Unity.Utilities
+{
+	using System.Linq;
+	using UnityEngine;
+
+	public abstract class SingletonScriptableObject<T> : ScriptableObject where T : ScriptableObject
+	{
+		static T _instance = null;
+		public static T Instance
+		{
+			get
+			{
+				if (!_instance)
+				{
+					_instance = Resources.FindObjectsOfTypeAll<T>().FirstOrDefault();
+				}
+				return _instance;
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/SingletonScriptableObject.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/SingletonScriptableObject.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eec79750951052494da91ea8ab74ba116bb0c9a3
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/SingletonScriptableObject.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: bdbbf7395941a4ca09714114a184a222
+timeCreated: 1499958792
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/StyleSearchAttribute.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/StyleSearchAttribute.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4038480e56b28ce7684c9a30cc0c4a652690c3e7
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/StyleSearchAttribute.cs
@@ -0,0 +1,14 @@
+namespace Mapbox.Unity.Utilities
+{
+	using UnityEngine;
+
+	/// <summary>
+	///     Property attribute used to search for styles associated with API token.<para/>
+	///     Links to custom drawer: 
+	///     <see cref="T:Mapbox.Editor.StyleSearchAttributeDrawer"/>. 
+	/// </summary>
+	public class StyleSearchAttribute : PropertyAttribute
+	{
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/StyleSearchAttribute.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/StyleSearchAttribute.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a18f54dd2ee1ffe82771bc968513c24963a55c86
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/StyleSearchAttribute.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e0cf90e1694114eb59752c674484735f
+timeCreated: 1500479391
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/TelemetryConfigurationButton.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/TelemetryConfigurationButton.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8e7a283a6bd1ec49b9c6e8e7caa60e91fb444cf2
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/TelemetryConfigurationButton.cs
@@ -0,0 +1,23 @@
+namespace Mapbox.Unity.Utilities
+{
+	using UnityEngine;
+	using UnityEngine.UI;
+
+	[RequireComponent(typeof(Button))]
+	public class TelemetryConfigurationButton : MonoBehaviour
+	{
+		[SerializeField]
+		bool _booleanValue;
+
+		protected virtual void Awake()
+		{
+			GetComponent<Button>().onClick.AddListener(SetPlayerPref);
+		}
+
+		void SetPlayerPref()
+		{
+			MapboxAccess.Instance.SetLocationCollectionState(_booleanValue);
+			PlayerPrefs.Save();
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/TelemetryConfigurationButton.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/TelemetryConfigurationButton.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5f8d8d992d8de44d04539d95c6cdd30f559a366c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/TelemetryConfigurationButton.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 859a38e5f727a4ea7ad0839a89bcd655
+timeCreated: 1495727882
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorEntity.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorEntity.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2de7f5162659c2fa2ab60d9633a93cd16ae2d72c
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorEntity.cs
@@ -0,0 +1,18 @@
+namespace Mapbox.Unity.MeshGeneration.Data
+{
+	using Mapbox.Unity.MeshGeneration.Components;
+	using Mapbox.Unity.MeshGeneration.Data;
+	using System.Collections;
+	using System.Collections.Generic;
+	using UnityEngine;
+
+	public class VectorEntity
+	{
+		public GameObject GameObject;
+		public MeshFilter MeshFilter;
+		public Mesh Mesh;
+		public MeshRenderer MeshRenderer;
+		public VectorFeatureUnity Feature;
+		public Transform Transform;
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorEntity.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorEntity.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7f3cf8e34933856ee4b655bc60ec6542791b8edf
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorEntity.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 528efe6105d5b1a4383498575196de07
+timeCreated: 1507239975
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorExtensions.cs b/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorExtensions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a49c0a2d0a1d71f8e74e37b97dc82464682a25f9
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorExtensions.cs
@@ -0,0 +1,145 @@
+//-----------------------------------------------------------------------
+// <copyright file="VectorExtensions.cs" company="Mapbox">
+//     Copyright (c) 2016 Mapbox. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace Mapbox.Unity.Utilities
+{
+	using Mapbox.Utils;
+	using UnityEngine;
+
+	public static class VectorExtensions
+	{
+		/// <summary>
+		/// Vector2 convenience method to convert Vector2 to Vector3.
+		/// </summary>
+		/// <returns>Vector3 with a y value of zero.</returns>
+		/// <param name="v">Vector2.</param>
+		public static Vector3 ToVector3xz(this Vector2 v)
+		{
+			return new Vector3(v.x, 0, v.y);
+		}
+
+		/// <summary>
+		/// Vector2d convenience method to convert Vector2d to Vector3.
+		/// </summary>
+		/// <returns>Vector3 with a y value of zero.</returns>
+		/// <param name="v">Vector2d.</param>
+		public static Vector3 ToVector3xz(this Vector2d v)
+		{
+			return new Vector3((float)v.x, 0, (float)v.y);
+		}
+
+		/// <summary>
+		/// Vector3 convenience method to convert Vector3 to Vector2.
+		/// </summary>
+		/// <returns>The Vector2.</returns>
+		/// <param name="v">Vector3.</param>
+		public static Vector2 ToVector2xz(this Vector3 v)
+		{
+			return new Vector2(v.x, v.z);
+		}
+
+		/// <summary>
+		/// Vector3 convenience method to convert Vector3 to Vector2d.
+		/// </summary>
+		/// <returns>The Vector2d.</returns>
+		/// <param name="v">Vector3.</param>
+		public static Vector2d ToVector2d(this Vector3 v)
+		{
+			return new Vector2d(v.x, v.z);
+		}
+		
+		
+		public static Vector3 Perpendicular(this Vector3 v)
+		{
+			return new Vector3(-v.z, v.y, v.x);
+		}
+
+		/// <summary>
+		/// Transform extension method to move a Unity transform to a specific latitude/longitude.
+		/// </summary>
+		/// <param name="t">Transform.</param>
+		/// <param name="lat">Latitude.</param>
+		/// <param name="lng">Longitude.</param>
+		/// <param name="refPoint">Reference point.</param>
+		/// <param name="scale">Scale.</param>
+		/// <example>
+		/// Place a Unity transform at 10, 10, with a map center of (0, 0) and scale 1:
+		/// <code>
+		/// transform.MoveToGeocoordinate(10, 10, new Vector2d(0, 0), 1f);
+		/// Debug.Log(transform.position);
+		/// // (1113195.0, 0.0, 1118890.0)
+		/// </code>
+		/// </example>
+		public static void MoveToGeocoordinate(this Transform t, double lat, double lng, Vector2d refPoint, float scale = 1)
+		{
+			t.position = Conversions.GeoToWorldPosition(lat, lng, refPoint, scale).ToVector3xz();
+		}
+
+		/// <summary>
+		/// Transform extension method to move a Unity transform to a specific Vector2d.
+		/// </summary>
+		/// <param name="t">Transform.</param>
+		/// <param name="latLon">Latitude Longitude.</param>
+		/// <param name="refPoint">Reference point.</param>
+		/// <param name="scale">Scale.</param>
+		/// <example>
+		/// Place a Unity transform at 10, 10, with a map center of (0, 0) and scale 1:
+		/// <code>
+		/// transform.MoveToGeocoordinate(new Vector2d(10, 10), new Vector2d(0, 0), 1f);
+		/// Debug.Log(transform.position);
+		/// // (1113195.0, 0.0, 1118890.0)
+		/// </code>
+		/// </example>
+		public static void MoveToGeocoordinate(this Transform t, Vector2d latLon, Vector2d refPoint, float scale = 1)
+		{
+			t.MoveToGeocoordinate(latLon.x, latLon.y, refPoint, scale);
+		}
+
+		/// <summary>
+		/// Vector2 extension method to convert from a latitude/longitude to a Unity Vector3.
+		/// </summary>
+		/// <returns>The Vector3 Unity position.</returns>
+		/// <param name="latLon">Latitude Longitude.</param>
+		/// <param name="refPoint">Reference point.</param>
+		/// <param name="scale">Scale.</param>
+		public static Vector3 AsUnityPosition(this Vector2 latLon, Vector2d refPoint, float scale = 1)
+		{
+			return Conversions.GeoToWorldPosition(latLon.x, latLon.y, refPoint, scale).ToVector3xz();
+		}
+
+		/// <summary>
+		/// Transform extension method to return the transform's position as a Vector2d latitude/longitude.
+		/// </summary>
+		/// <returns>Vector2d that represents latitude/longitude.</returns>
+		/// <param name="t">T.</param>
+		/// <param name="refPoint">Reference point.</param>
+		/// <param name="scale">Scale.</param>
+		/// <example>
+		/// Get the latitude/longitude of a transform at (1113195, 0, 1118890), map center (0, 0) and scale 1.
+		/// <code>
+		/// var latLng = transform.GetGeoPosition(new Vector2d(0, 0), 1);
+		/// Debug.Log(latLng);
+		/// // (10.00000, 10.00000)
+		/// </code>
+		/// </example>
+		public static Vector2d GetGeoPosition(this Transform t, Vector2d refPoint, float scale = 1)
+		{
+			var pos = refPoint + (t.position / scale).ToVector2d();
+			return Conversions.MetersToLatLon(pos);
+		}
+
+		public static Vector2d GetGeoPosition(this Vector3 position, Vector2d refPoint, float scale = 1)
+		{
+			var pos = refPoint + (position / scale).ToVector2d();
+			return Conversions.MetersToLatLon(pos);
+		}
+
+		public static Vector2d GetGeoPosition(this Vector2 position, Vector2d refPoint, float scale = 1)
+		{
+			return position.ToVector3xz().GetGeoPosition(refPoint, scale);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorExtensions.cs.meta b/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorExtensions.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..262fef95a39526c298cc9097094107e805eca196
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/Unity/Utilities/VectorExtensions.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c1f035bcb5a8d45419d1342c88c8d47c
+timeCreated: 1478552630
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Mapbox/link.xml b/T3-Unity/Assets/Mapbox/link.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a00409b0759dbf5ce04827f53b693f7bd5dc2fe4
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/link.xml
@@ -0,0 +1,7 @@
+<linker>
+    <assembly fullname="System.Core">
+        <type fullname="System.Linq.Expressions.Expression`1">
+            <method name="Create"/>
+        </type>
+    </assembly>
+</linker>
\ No newline at end of file
diff --git a/T3-Unity/Assets/Mapbox/link.xml.meta b/T3-Unity/Assets/Mapbox/link.xml.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4e2738ed135168d26465cc56c84865a5526c7bc6
--- /dev/null
+++ b/T3-Unity/Assets/Mapbox/link.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 72c1c1fd3db010e43ba47af89c0c9a16
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR.meta b/T3-Unity/Assets/MapboxAR.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e0f10c3c673fc3bf679d10d11856edf399525417
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e9b6e59af332ab549a84c67ae911036f
+folderAsset: yes
+timeCreated: 1519150523
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples.meta b/T3-Unity/Assets/MapboxAR/Examples.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ce76836353f9ff60609de9b732887734b6e987ca
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9b196d5b682c9434e8c84bcbf965a156
+folderAsset: yes
+timeCreated: 1519150524
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARPrerequisiteInfo.cs b/T3-Unity/Assets/MapboxAR/Examples/ARPrerequisiteInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..eda5898884ad116fe50eb24c074a20f8e4ff193c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARPrerequisiteInfo.cs
@@ -0,0 +1,25 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+public class ARPrerequisiteInfo : MonoBehaviour
+{
+}
+
+#if UNITY_EDITOR
+[CustomEditor(typeof(ARPrerequisiteInfo))]
+public class ARPrerequisiteInfoEditor : Editor
+{
+	public override void OnInspectorGUI()
+	{
+		//serializedObject.Update();
+
+		EditorGUILayout.HelpBox(" For AR examples to work as expected, please add layers with the following names \n ARGameObject \n Map \n Path \n Both", MessageType.Warning);
+
+		//serializedObject.ApplyModifiedProperties();
+	}
+}
+#endif
+
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARPrerequisiteInfo.cs.meta b/T3-Unity/Assets/MapboxAR/Examples/ARPrerequisiteInfo.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d475065f5491eaf737162cf08a01c03f7a82ac13
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARPrerequisiteInfo.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 36d7ad32f43dd40b99362ede5c2a1ce6
+timeCreated: 1521511046
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop.meta
new file mode 100644
index 0000000000000000000000000000000000000000..261157b7263c24e13b79d1de2a4ce91f8bf9bc1d
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: f64b682ac6341418cb1ed96ed3939afa
+folderAsset: yes
+timeCreated: 1513618721
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer.meta
new file mode 100644
index 0000000000000000000000000000000000000000..923705c61c8cc5b9d0ded57d9c0ba32953e9f5fc
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d1757ffcaf1d042feaedcd6339b08f27
+folderAsset: yes
+timeCreated: 1513618803
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ARTabletopMapVisualizer.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ARTabletopMapVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..9d0f6ed2c13e66138f3a3758dd430e34e1242eca
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ARTabletopMapVisualizer.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 526c8a90df31d41fe8057a6f85c7a3e4, type: 3}
+  m_Name: ARTabletopMapVisualizer
+  m_EditorClassIdentifier: 
+  Factories:
+  - {fileID: 11400000, guid: bb3f493c4b2e545dd993fb797dd21e97, type: 2}
+  - {fileID: 11400000, guid: 92275604a24ef45b5bc9f97d045e5de9, type: 2}
+  - {fileID: 11400000, guid: 578bee8d6ba444c12a4bbbadd051522c, type: 2}
+  _loadingTexture: {fileID: 2800000, guid: 70976333360a046c1bcf8dc7cb1f593c, type: 3}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ARTabletopMapVisualizer.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ARTabletopMapVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a30b6c1307ab7d9d27479f561e68f5706a114375
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ARTabletopMapVisualizer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a792d19402e2345aead98a5eb4e25664
+timeCreated: 1502383765
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingHeightModifier.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1f648a416ff3e5dfd2fc1dd178989b3a4d90770e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingHeightModifier.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: ClipBuildingHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 0
+  _height: 0
+  _createSideWalls: 1
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingHeightModifier.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2a310bf34ccf3c3d921ddb49e764eac3985ea5f2
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 236d4341bd743443ab8495048bc8bb13
+timeCreated: 1502384466
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingLayerModifier.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingLayerModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..28a0a696ee5d5bae1509488d0dfa1ece1067e312
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingLayerModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a4644f4fa4408d144a9c7927401f3807, type: 3}
+  m_Name: ClipBuildingLayerModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _layerId: 8
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingLayerModifier.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingLayerModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d623fb5d0946a4c0155004feac9dc610430269a8
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingLayerModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3b6cb2e34194d42dfbf3d6dd37152df6
+timeCreated: 1502384665
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingTextureModifier.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingTextureModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..2ae92f441c4cb2de0616251dfea0aac06bd0aa7a
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingTextureModifier.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7d86f7dc89b3e33408563e4ada9d1c74, type: 3}
+  m_Name: ClipBuildingTextureModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _textureTop: 1
+  _useSatelliteTexture: 0
+  _topMaterials:
+  - {fileID: 2100000, guid: aead03cf37aea4f7aa9a995040a5c8e3, type: 2}
+  _textureSides: 1
+  _sideMaterials:
+  - {fileID: 2100000, guid: 1483fff17cbcf44a591209316077c3c8, type: 2}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingTextureModifier.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingTextureModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4c7a631f0126615d47a26c4de1924f420abc6ad9
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipBuildingTextureModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 62c2c2d8b045f42988694e7dbed7250e
+timeCreated: 1502384688
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapBuildings.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapBuildings.asset
new file mode 100644
index 0000000000000000000000000000000000000000..481cf2d2c8b7370a1330ca1637831e3d7e544191
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapBuildings.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: ClipMapBuildings
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: building
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 0fb96108893574e37b5bfed68598692a, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapBuildings.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapBuildings.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ae6fecf1c1774d1d2ff7272277304ccc6eae5fbf
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapBuildings.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ec903140515b34f559811d789d00dce4
+timeCreated: 1502384393
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapFlatTerrainFactory.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapFlatTerrainFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f3fb3187c7fd6bd0007ea2200cab1ed6130b60f2
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapFlatTerrainFactory.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a6523094c07d4ee683da5d826fce510, type: 3}
+  m_Name: ClipMapFlatTerrainFactory
+  m_EditorClassIdentifier: 
+  _baseMaterial: {fileID: 2100000, guid: ef6b4a925b8854a94acb4dc94dcc3d95, type: 2}
+  _createSideWalls: 0
+  _sideWallHeight: 10
+  _sideWallMaterial: {fileID: 0}
+  _addCollider: 0
+  _addToLayer: 1
+  _layerId: 9
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapFlatTerrainFactory.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapFlatTerrainFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4c06108ae8e4bddece29f61a53f024014b7c6e6e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapFlatTerrainFactory.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bb3f493c4b2e545dd993fb797dd21e97
+timeCreated: 1502383785
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapImageFactory.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapImageFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..1892976bb7982af996c7958a5eb04eaf64043753
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapImageFactory.asset
@@ -0,0 +1,23 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2b10536479dade041b6db9893fdf723a, type: 3}
+  m_Name: ClipMapImageFactory
+  m_EditorClassIdentifier: 
+  _mapIdType: 0
+  _customStyle:
+    Name: 
+    Id: 
+    Modified: 
+    UserName: 
+  _mapId: mapbox://styles/mapbox/streets-v10
+  _useCompression: 0
+  _useMipMap: 0
+  _useRetina: 1
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapImageFactory.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapImageFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3e85b91c4599220d93b901ab901ca397f7f70354
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapImageFactory.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 92275604a24ef45b5bc9f97d045e5de9
+timeCreated: 1502383835
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapVectorFactory.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapVectorFactory.asset
new file mode 100644
index 0000000000000000000000000000000000000000..ea2ce3ea67792cef402b052d7c883bf0216c36bf
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapVectorFactory.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63d97cb1cfb3f1b499c24763afa54873, type: 3}
+  m_Name: ClipMapVectorFactory
+  m_EditorClassIdentifier: 
+  _mapId: mapbox.mapbox-streets-v7
+  Visualizers:
+  - {fileID: 11400000, guid: ec903140515b34f559811d789d00dce4, type: 2}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapVectorFactory.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapVectorFactory.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..053c0b9751d57e51423413803a627e5ccbf5f736
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMapVectorFactory.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 578bee8d6ba444c12a4bbbadd051522c
+timeCreated: 1502384372
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMergedBuildingStack.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMergedBuildingStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..7d815ef84e77e1334afbdfd3224ee4cdb1fc25c7
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMergedBuildingStack.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3}
+  m_Name: ClipMergedBuildingStack
+  m_EditorClassIdentifier: 
+  MeshModifiers:
+  - {fileID: 11400000, guid: ab399a4d9d70345a6af0656fa9d38c73, type: 2}
+  - {fileID: 11400000, guid: 239f012c0bd1044da97461c3374ed178, type: 2}
+  - {fileID: 11400000, guid: 236d4341bd743443ab8495048bc8bb13, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 3b6cb2e34194d42dfbf3d6dd37152df6, type: 2}
+  - {fileID: 11400000, guid: 62c2c2d8b045f42988694e7dbed7250e, type: 2}
+  - {fileID: 11400000, guid: 3b6cb2e34194d42dfbf3d6dd37152df6, type: 2}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMergedBuildingStack.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMergedBuildingStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4f2b6ddab9c3a39e4b6d602e49cc2f58dde367b2
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipMergedBuildingStack.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0fb96108893574e37b5bfed68598692a
+timeCreated: 1502384417
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipPolygonModifier.asset b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipPolygonModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..59b21957024f57afbf7fd793f0495070a0f6789b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipPolygonModifier.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6c7ba03c743d46c4a99f4971c74f7cbd, type: 3}
+  m_Name: ClipPolygonModifier
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipPolygonModifier.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipPolygonModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e5d86e87385302f280cfc384a2e2e347df6b506c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/ARTableMapVisualizer/ClipPolygonModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ab399a4d9d70345a6af0656fa9d38c73
+timeCreated: 1502384447
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fd96e3e52101684b9488ba566a13a33ef2e24ac2
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 905bbb6fe19d946abb8315db413099de
+folderAsset: yes
+timeCreated: 1513618827
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial.mat b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..af83082d259a88fc21a273d3e253d53320364f7e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial.mat
@@ -0,0 +1,87 @@
+%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: Clip_BuildingsMaterial
+  m_Shader: {fileID: 4800000, guid: 292d33f3031af4794a9890aa8854c5ff, type: 3}
+  m_ShaderKeywords: _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 1
+  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}
+    - _Conversion:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1.35, y: -0.21}
+        m_Offset: {x: -0.21, 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
+    - _ConvertDistance: -0
+    - _ConvertEmission: 0.383
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 0
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BoxRotation: {r: -0, g: 0, b: 0, a: 0}
+    - _BoxSize: {r: 0, g: 0, b: 0, a: 0}
+    - _Color: {r: 0.71323526, g: 0.71323526, b: 0.71323526, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _Origin: {r: 0, g: 0, b: 0, a: 0}
+    - _PlaneNormal: {r: 1.06, g: -44.85, b: 1, a: 1}
+    - _PlanePoint: {r: -3.95, g: -12, b: 1, a: 1}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial.mat.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ed105aea401a1e52f7f2435014f86be1dac31827
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1483fff17cbcf44a591209316077c3c8
+timeCreated: 1502383802
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial_top.mat b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial_top.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a2f0cb6b6c1efd0651e30ca009e443fdf7b1a478
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial_top.mat
@@ -0,0 +1,87 @@
+%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: Clip_BuildingsMaterial_top
+  m_Shader: {fileID: 4800000, guid: 292d33f3031af4794a9890aa8854c5ff, type: 3}
+  m_ShaderKeywords: _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 1
+  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}
+    - _Conversion:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1.35, y: -0.21}
+        m_Offset: {x: -0.21, 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
+    - _ConvertDistance: -0
+    - _ConvertEmission: 0.383
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 0
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BoxRotation: {r: -0, g: 0, b: 0, a: 0}
+    - _BoxSize: {r: 0, g: 0, b: 0, a: 0}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _Origin: {r: 0, g: 0, b: 0, a: 0}
+    - _PlaneNormal: {r: 1.06, g: -44.85, b: 1, a: 1}
+    - _PlanePoint: {r: -3.95, g: -12, b: 1, a: 1}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial_top.mat.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial_top.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b84d21ee891ac1fe73fa4b0b2d3cd2b331e9b935
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_BuildingsMaterial_top.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: aead03cf37aea4f7aa9a995040a5c8e3
+timeCreated: 1502383802
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesFacadesPerRenderer.mat b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesFacadesPerRenderer.mat
new file mode 100644
index 0000000000000000000000000000000000000000..32cabafa0dc4933e6924c0c7687d26970610d1f8
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesFacadesPerRenderer.mat
@@ -0,0 +1,102 @@
+%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: Clip_MapboxStylesFacadesPerRenderer
+  m_Shader: {fileID: 4800000, guid: 64e3437cc9d82448a82ef269bc63c929, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 4d520150ef3724e4bb52237605c761df, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: 36bfefc139bfa434daf90848bb333e1d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: aaebc04bedf1444bebad66d5386b3744, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _Emission: 0.512
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 0, g: 0.751724, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _WindowColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesFacadesPerRenderer.mat.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesFacadesPerRenderer.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0d53f99cbbc20b81ecf6eaccc2a0a2c5d0a08805
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesFacadesPerRenderer.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 29ccb82811b0d43f8adac026781c4c15
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesRoofsPerRenderer.mat b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesRoofsPerRenderer.mat
new file mode 100644
index 0000000000000000000000000000000000000000..f14173dc1a70d711bc603a868d83d4626cc4e980
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesRoofsPerRenderer.mat
@@ -0,0 +1,102 @@
+%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: Clip_MapboxStylesRoofsPerRenderer
+  m_Shader: {fileID: 4800000, guid: 64e3437cc9d82448a82ef269bc63c929, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseTex:
+        m_Texture: {fileID: 2800000, guid: 89d3c1f500b7e4b8bba0ce9b760e9134, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex1:
+        m_Texture: {fileID: 2800000, guid: a7ad6933f58d64d56a4879cc266290b3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailTex2:
+        m_Texture: {fileID: 2800000, guid: abf274fea99064d7f9087e58ccaf6d27, type: 3}
+        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}
+    - _WindowTex:
+        m_Texture: {fileID: 2800000, guid: a88424a1da5f049169a689bf6ba4e638, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _Emission: 0.558
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor: {r: 1, g: 0.99264705, b: 1, a: 1}
+    - _DetailColor1: {r: 1, g: 1, b: 1, a: 1}
+    - _DetailColor2: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _WindowColor: {r: 0.23529412, g: 0.41911763, b: 1, a: 1}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesRoofsPerRenderer.mat.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesRoofsPerRenderer.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..02e6cdde8e82c3ea214ee24a86b71d4fa5baf18b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_MapboxStylesRoofsPerRenderer.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ed6f9ad81dc3a4e87864ef50526951c8
+timeCreated: 1520454477
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_TerrainMaterial.mat b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_TerrainMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..adf81af6aba8feb834b02e9f6588f6a3b6582462
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_TerrainMaterial.mat
@@ -0,0 +1,87 @@
+%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: Clip_TerrainMaterial
+  m_Shader: {fileID: 4800000, guid: 292d33f3031af4794a9890aa8854c5ff, type: 3}
+  m_ShaderKeywords: _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 1
+  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}
+    - _Conversion:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1.35, y: -0.21}
+        m_Offset: {x: -0.21, 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: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _ConvertDistance: -0
+    - _ConvertEmission: 0.383
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 0
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _BoxRotation: {r: -0, g: 0, b: 0, a: 0}
+    - _BoxSize: {r: 0, g: 0, b: 0, a: 0}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
+    - _Origin: {r: 0, g: 0, b: 0, a: 0}
+    - _PlaneNormal: {r: 1.06, g: -44.85, b: 1, a: 1}
+    - _PlanePoint: {r: -3.95, g: -12, b: 1, a: 1}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_TerrainMaterial.mat.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_TerrainMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..718b367c193854c737c6867c625fd51669b05af3
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Materials/Clip_TerrainMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ef6b4a925b8854a94acb4dc94dcc3d95
+timeCreated: 1502383802
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2f6d2735e65a285cdc3c7a3f564e7110ac85bbb5
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b2dd74bd35e11479b97da14c47b70e7e
+folderAsset: yes
+timeCreated: 1513618810
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARPlaneHandler.cs b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARPlaneHandler.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b9dd3adf1ce696c119785c0d814f0c3c7941e288
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARPlaneHandler.cs
@@ -0,0 +1,35 @@
+using UnityEngine;
+using System;
+
+namespace UnityARInterface
+{
+	public class ARPlaneHandler : MonoBehaviour
+	{
+		public static Action resetARPlane;
+		public static Action<BoundedPlane> returnARPlane;
+		private string _planeId;
+		private BoundedPlane _cachedARPlane;
+
+		void Start()
+		{
+			ARInterface.planeAdded += UpdateARPlane;
+			ARInterface.planeUpdated += UpdateARPlane;
+		}
+
+		void UpdateARPlane(BoundedPlane arPlane)
+		{
+
+			if (_planeId == null)
+			{
+				_planeId = arPlane.id;
+			}
+
+			if (arPlane.id == _planeId)
+			{
+				_cachedARPlane = arPlane;
+			}
+
+			returnARPlane(_cachedARPlane);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARPlaneHandler.cs.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARPlaneHandler.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..311170c13ee23ec5b44867cdd87791179497f8a5
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARPlaneHandler.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 642295543cf604e8db40851de83fa292
+timeCreated: 1513603128
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARTableTopCameraMovement.cs b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARTableTopCameraMovement.cs
new file mode 100644
index 0000000000000000000000000000000000000000..217de1337b761a171c7127f71a1aa5994b3794a6
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARTableTopCameraMovement.cs
@@ -0,0 +1,177 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.Utilities;
+	using Mapbox.Utils;
+	using UnityEngine;
+	using UnityEngine.EventSystems;
+	using System;
+
+	public class ARTableTopCameraMovement : MonoBehaviour
+	{
+		[SerializeField]
+		[Range(.1f, 10f)]
+		public float _panSpeed = 1.0f;
+
+		[SerializeField]
+		float _zoomSpeed = 0.25f;
+
+		[SerializeField]
+		public Camera _referenceCamera;
+
+		[SerializeField]
+		AbstractMap _mapManager;
+
+		private Vector3 _origin;
+		private Vector3 _mousePosition;
+		private Vector3 _mousePositionPrevious;
+		private bool _shouldDrag;
+		private bool _isInitialized = false;
+
+		void Awake()
+		{
+			if (null == _referenceCamera)
+			{
+				_referenceCamera = GetComponent<Camera>();
+				if (null == _referenceCamera) { Debug.LogErrorFormat("{0}: reference camera not set", this.GetType().Name); }
+			}
+			_mapManager.OnInitialized += () =>
+			{
+				_isInitialized = true;
+			};
+		}
+
+
+		private void LateUpdate()
+		{
+			if (!_isInitialized) { return; }
+
+			if (Input.touchSupported && Input.touchCount > 0)
+			{
+				HandleTouch();
+			}
+			else
+			{
+				HandleMouseAndKeyBoard();
+			}
+		}
+
+		void HandleMouseAndKeyBoard()
+		{
+			// zoom
+			float scrollDelta = 0.0f;
+			scrollDelta = Input.GetAxis("Mouse ScrollWheel");
+			ZoomMapUsingTouchOrMouse(scrollDelta);
+
+			//pan mouse
+			PanMapUsingTouchOrMouse();
+		}
+
+		void HandleTouch()
+		{
+			float zoomFactor = 0.0f;
+			//pinch to zoom.
+			switch (Input.touchCount)
+			{
+				case 1:
+					{
+						PanMapUsingTouchOrMouse();
+					}
+					break;
+				case 2:
+					{
+						// Store both touches.
+						Touch touchZero = Input.GetTouch(0);
+						Touch touchOne = Input.GetTouch(1);
+
+						// Find the position in the previous frame of each touch.
+						Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition;
+						Vector2 touchOnePrevPos = touchOne.position - touchOne.deltaPosition;
+
+						// Find the magnitude of the vector (the distance) between the touches in each frame.
+						float prevTouchDeltaMag = (touchZeroPrevPos - touchOnePrevPos).magnitude;
+						float touchDeltaMag = (touchZero.position - touchOne.position).magnitude;
+
+						// Find the difference in the distances between each frame.
+						zoomFactor = 0.01f * (touchDeltaMag - prevTouchDeltaMag);
+					}
+					ZoomMapUsingTouchOrMouse(zoomFactor);
+					break;
+				default:
+					break;
+			}
+		}
+
+		void ZoomMapUsingTouchOrMouse(float zoomFactor)
+		{
+			var zoom = Mathf.Max(0.0f, Mathf.Min(_mapManager.Zoom + zoomFactor * _zoomSpeed, 21.0f));
+
+			if (Math.Abs(zoom - _mapManager.Zoom) > 0.0f)
+			{
+				_mapManager.UpdateMap(_mapManager.CenterLatitudeLongitude, zoom);
+			}
+		}
+
+		void PanMapUsingKeyBoard(float xMove, float zMove)
+		{
+			if (Math.Abs(xMove) > 0.0f || Math.Abs(zMove) > 0.0f)
+			{
+				// Get the number of degrees in a tile at the current zoom level.
+				// Divide it by the tile width in pixels ( 256 in our case)
+				// to get degrees represented by each pixel.
+				// Keyboard offset is in pixels, therefore multiply the factor with the offset to move the center.
+				float factor = (_panSpeed) * (Conversions.GetTileScaleInDegrees((float)_mapManager.CenterLatitudeLongitude.x, _mapManager.AbsoluteZoom));
+				var latitudeLongitude = new Vector2d(_mapManager.CenterLatitudeLongitude.x + zMove * factor * 2.0f, _mapManager.CenterLatitudeLongitude.y + xMove * factor * 4.0f);
+				_mapManager.UpdateMap(latitudeLongitude, _mapManager.Zoom);
+			}
+		}
+
+		void PanMapUsingTouchOrMouse()
+		{
+			if (Input.GetMouseButton(0) && !EventSystem.current.IsPointerOverGameObject())
+			{
+				var mousePosScreen = Input.mousePosition;
+				_mousePosition = mousePosScreen;
+
+				if (_shouldDrag == false)
+				{
+					_shouldDrag = true;
+					_origin = mousePosScreen;
+				}
+			}
+			else
+			{
+				_shouldDrag = false;
+			}
+
+			if (_shouldDrag == true)
+			{
+
+				var changeFromPreviousPosition = _mousePositionPrevious - _mousePosition;
+				if (Mathf.Abs(changeFromPreviousPosition.x) > 0.0f || Mathf.Abs(changeFromPreviousPosition.y) > 0.0f)
+				{
+					_mousePositionPrevious = _mousePosition;
+
+					var offsetDelta = _origin - _mousePosition;
+					var offset = new Vector3(offsetDelta.x, 0f, offsetDelta.y);
+					offset = Camera.main.transform.rotation * offset;
+
+					if (Mathf.Abs(offset.x) > 0.0f || Mathf.Abs(offset.z) > 0.0f)
+					{
+						PanMapUsingKeyBoard(offset.x, offset.z);
+					}
+					_origin = _mousePosition;
+				}
+				else
+				{
+					if (EventSystem.current.IsPointerOverGameObject())
+					{
+						return;
+					}
+					_mousePositionPrevious = _mousePosition;
+					_origin = _mousePosition;
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARTableTopCameraMovement.cs.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARTableTopCameraMovement.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..49a7f870cab0e21872e2d1e8fd4b440af39c42a0
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/ARTableTopCameraMovement.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5209c2a5ffaf941c5b8bbbb59a81c0c3
+timeCreated: 1522083751
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/PlaceMapOnARPlane.cs b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/PlaceMapOnARPlane.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ee0752281c37f578a8276b136af122738fffd7d6
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/PlaceMapOnARPlane.cs
@@ -0,0 +1,35 @@
+using UnityEngine;
+using UnityARInterface;
+
+public class PlaceMapOnARPlane : MonoBehaviour
+{
+
+	[SerializeField]
+	private Transform _mapTransform;
+
+	void Start()
+	{
+		ARPlaneHandler.returnARPlane += PlaceMap;
+		ARPlaneHandler.resetARPlane += ResetPlane;
+	}
+
+	void PlaceMap(BoundedPlane plane)
+	{
+		if (!_mapTransform.gameObject.activeSelf)
+		{
+			_mapTransform.gameObject.SetActive(true);
+		}
+
+		_mapTransform.position = plane.center;
+	}
+
+	void ResetPlane()
+	{
+		_mapTransform.gameObject.SetActive(false);
+	}
+
+	private void OnDisable()
+	{
+		ARPlaneHandler.returnARPlane -= PlaceMap;
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/PlaceMapOnARPlane.cs.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/PlaceMapOnARPlane.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..365e1aa38b079090733f93bfaa763e4b242ea665
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/PlaceMapOnARPlane.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 71f3d3304b92245bcb942f7dc12cc99b
+timeCreated: 1513602710
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/SnapMapToTargetTransform.cs b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/SnapMapToTargetTransform.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8403737a5262400e59060e4706eeccdcfcd51064
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/SnapMapToTargetTransform.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Mapbox.Unity.Map;
+
+public class SnapMapToTargetTransform : MonoBehaviour
+{
+	[SerializeField]
+	private AbstractMap _map;
+	[SerializeField]
+	private Transform _target;
+
+	private void Awake()
+	{
+		if (_map == null)
+		{
+			_map = FindObjectOfType<AbstractMap>();
+		}
+	}
+
+	void Start()
+	{
+		_map.OnUpdated += SnapMapToTarget;
+	}
+
+	void SnapMapToTarget()
+	{
+		var h = _map.QueryElevationInUnityUnitsAt(_map.CenterLatitudeLongitude);
+		_map.Root.transform.position = new Vector3(
+			 _map.Root.transform.position.x,
+			  _target.transform.position.y - h,
+			 _map.Root.transform.position.z);
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/SnapMapToTargetTransform.cs.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/SnapMapToTargetTransform.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0dafb1e8f84c678d4eeb022f0ef70bb1048d8f49
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/SnapMapToTargetTransform.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4a0def3e793b744849a7bd42ac59a338
+timeCreated: 1539027390
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/UpdateShaderCoordinatesByARPlane.cs b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/UpdateShaderCoordinatesByARPlane.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a5d1c044088e548a9dff934d36bd94ec4c82cd2b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/UpdateShaderCoordinatesByARPlane.cs
@@ -0,0 +1,60 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityARInterface;
+
+public class UpdateShaderCoordinatesByARPlane : MonoBehaviour
+{
+	private Quaternion _rotation;
+	private Vector3 _localScale, _position;
+
+	void Start()
+	{
+		ARPlaneHandler.returnARPlane += CheckCoordinates;
+		ARPlaneHandler.resetARPlane += ResetShaderValues;
+	}
+
+	void CheckCoordinates(BoundedPlane plane)
+	{
+		_position = plane.center;
+		_rotation = Quaternion.Inverse(plane.rotation);
+		_localScale = new Vector3(plane.extents.x, 10, plane.extents.y);
+
+		UpdateShaderValues(_position, _localScale, _rotation);
+	}
+
+	void UpdateShaderValues(Vector3 position, Vector3 localScale, Quaternion rotation)
+	{
+
+		Shader.SetGlobalVector("_Origin", new Vector4(
+			  position.x,
+			  position.y,
+			  position.z,
+			  0f));
+		Shader.SetGlobalVector("_BoxRotation", new Vector4(
+			   rotation.eulerAngles.x,
+			   rotation.eulerAngles.y,
+			   rotation.eulerAngles.z,
+			   0f));
+
+		Shader.SetGlobalVector("_BoxSize", new Vector4(
+			localScale.x,
+			localScale.y,
+			localScale.z,
+			0f));
+	}
+
+	private void ResetShaderValues()
+	{
+		var vZero = new Vector3(0, 0, 0);
+		var qZero = new Quaternion(0, 0, 0, 0);
+
+		UpdateShaderValues(vZero, vZero, qZero);
+	}
+
+	private void OnDisable()
+	{
+		ARPlaneHandler.returnARPlane -= CheckCoordinates;
+	}
+
+}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/UpdateShaderCoordinatesByARPlane.cs.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/UpdateShaderCoordinatesByARPlane.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a3b175a7d80005ba2aa49c31efa3088d470902c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Scripts/UpdateShaderCoordinatesByARPlane.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5698001a6edd244c898af1c8f86a48ba
+timeCreated: 1513345191
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders.meta
new file mode 100644
index 0000000000000000000000000000000000000000..414bb3a73cd66868292ba87b910b827a26e34250
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c0062fadaf9344411b71810eab773c53
+folderAsset: yes
+timeCreated: 1513618763
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d5d110d457fb15bb22f48a4e2ca0a7b4fd7ebdfa
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9f347de91a42d499f8204b5606b7f6ab
+folderAsset: yes
+timeCreated: 1521069068
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/Clip_Box.shader b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/Clip_Box.shader
new file mode 100644
index 0000000000000000000000000000000000000000..dc954fe16102521f9ccea8a430f4e9d8506371c0
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/Clip_Box.shader
@@ -0,0 +1,108 @@
+
+//    MIT License
+//    
+//    Copyright (c) 2017 Dustin Whirle
+//    
+//    My Youtube stuff: https://www.youtube.com/playlist?list=PL-sp8pM7xzbVls1NovXqwgfBQiwhTA_Ya
+//    
+//    Permission is hereby granted, free of charge, to any person obtaining a copy
+//    of this software and associated documentation files (the "Software"), to deal
+//    in the Software without restriction, including without limitation the rights
+//    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+//    copies of the Software, and to permit persons to whom the Software is
+//    furnished to do so, subject to the following conditions:
+//    
+//    The above copyright notice and this permission notice shall be included in all
+//    copies or substantial portions of the Software.
+//    
+//    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+//    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+//    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+//    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+//    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+//    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+//    SOFTWARE.
+
+// clips any pixel in an area defined by size, rotation, and position
+
+Shader "Clip/Box"
+{
+	Properties
+	{
+		_Color("Color", Color) = (1,1,1,1)
+		_MainTex("Main Texture", 2D) = "white" {}
+		_Glossiness("Smoothness", Range(0,1)) = 0.5
+		_Metallic("Metallic", Range(0,1)) = 0.0
+	}
+
+	SubShader
+	{
+		Tags { "RenderType" = "Opaque" }
+		Cull Off
+		CGPROGRAM
+		// Physically based Standard lighting model, and enable shadows on all light types
+		#pragma surface surf Standard fullforwardshadows
+
+		// Use shader model 3.0 target, to get nicer looking lighting
+		#pragma target 3.0
+
+		struct Input
+		{
+			float2 uv_MainTex;
+			float2 uv_Conversion;
+			float2 uv_BumpMap;
+			float3 worldPos;
+		};
+
+		half _Glossiness;
+		half _Metallic;
+		half _ConvertDistance;
+		half _ConvertEmission;
+
+		float3 _Origin;
+		float3 _BoxSize;
+		float3 _BoxRotation;
+
+		fixed4 _Color;
+
+		sampler2D _MainTex;
+
+		void surf(Input IN, inout SurfaceOutputStandard o)
+		{
+			float3 dir = IN.worldPos - _Origin;
+			float3 rads = float3(radians(_BoxRotation.x), radians(_BoxRotation.y), radians(_BoxRotation.z));
+			// z
+			dir = cos(rads.z) * dir + sin(rads.z) * cross(float3(0,0,1.0f), dir) + (1.0f - cos(rads.z)) * dot(float3(0,0,1.0f), dir) * float3(0,0,1.0f);
+			// x
+			dir = cos(rads.x) * dir + sin(rads.x) * cross(float3(1.0f,0,0), dir) + (1.0f - cos(rads.x)) * dot(float3(1.0f,0,0), dir) * float3(1.0f,0,0);
+			// y
+			dir = cos(rads.y) * dir + sin(rads.y) * cross(float3(0,1.0f,0), dir) + (1.0f - cos(rads.y)) * dot(float3(0,1.0f,0), dir) * float3(0,1.0f,0);
+			
+			half3 dist = half3(
+				abs(dir.x), // no negatives
+				abs(dir.y), // no negatives
+				abs(dir.z)  // no negatives
+			);
+
+			dist.x = dist.x - _BoxSize.x * 0.5;
+			dist.y = dist.y - _BoxSize.y * 0.5;
+			dist.z = dist.z - _BoxSize.z * 0.5;
+
+			half t = min(1, dist.x);
+			t = max(t, dist.y);
+			t = max(t, dist.z);
+			
+			clip(-1 * t);
+			
+			fixed4 albedo = tex2D(_MainTex, IN.uv_MainTex);
+
+			o.Albedo = albedo.rgb * _Color;
+			o.Metallic = _Metallic;
+			o.Smoothness = _Glossiness;
+			o.Alpha = albedo.a * _Color.a;
+
+		}
+			ENDCG
+	}
+	Fallback "Diffuse"
+}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/Clip_Box.shader.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/Clip_Box.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b36643e3b8afbc296a73c07bf4036fe5555bf8b7
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/Clip_Box.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 292d33f3031af4794a9890aa8854c5ff
+timeCreated: 1497550267
+licenseType: Free
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/LICENSE.txt b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/LICENSE.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2b50a07a010f6866706d83aa0882d8ad5f3a91e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/LICENSE.txt
@@ -0,0 +1,24 @@
+
+MIT License
+
+Copyright (c) 2017 Dustin Whirle
+
+My Youtube stuff: https://www.youtube.com/playlist?list=PL-sp8pM7xzbVls1NovXqwgfBQiwhTA_Ya
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/LICENSE.txt.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/LICENSE.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2d79998a7fcf008a0e0f3f775a87b61ac0762496
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/ClipBox/LICENSE.txt.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 61f0f236ceb71419eb0c7ea1df349e10
+timeCreated: 1498625279
+licenseType: Free
+TextScriptImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapBoxStylesPerRenderer.shader b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapBoxStylesPerRenderer.shader
new file mode 100644
index 0000000000000000000000000000000000000000..807119e0a5ad01597fbcbb59930bc9c70752c060
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapBoxStylesPerRenderer.shader
@@ -0,0 +1,128 @@
+// Upgrade NOTE: upgraded instancing buffer 'Props' to new syntax.
+
+//    MIT License
+//
+//    Copyright (c) 2017 Dustin Whirle
+//
+//    My Youtube stuff: https://www.youtube.com/playlist?list=PL-sp8pM7xzbVls1NovXqwgfBQiwhTA_Ya
+//
+//    Permission is hereby granted, free of charge, to any person obtaining a copy
+//    of this software and associated documentation files (the "Software"), to deal
+//    in the Software without restriction, including without limitation the rights
+//    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+//    copies of the Software, and to permit persons to whom the Software is
+//    furnished to do so, subject to the following conditions:
+//
+//    The above copyright notice and this permission notice shall be included in all
+//    copies or substantial portions of the Software.
+//
+//    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+//    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+//    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+//    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+//    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+//    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+//    SOFTWARE.
+
+// clips any pixel in an area defined by size, rotation, and position
+
+Shader "Mapbox/Clip_MapboxStylesPerRenderer" {
+Properties
+{
+    [PerRendererData]_BaseColor ("BaseColor", Color) = (1,1,1,1)
+    [PerRendererData]_DetailColor1 ("DetailColor1", Color) = (1,1,1,1)
+    [PerRendererData]_DetailColor2 ("DetailColor2", Color) = (1,1,1,1)
+
+    _BaseTex ("Base", 2D) = "white" {}
+    _DetailTex1 ("Detail_1", 2D) = "white" {}
+    _DetailTex2 ("Detail_2", 2D) = "white" {}
+
+    _Emission ("Emission", Range(0.0, 1.0)) = 0.1
+}
+SubShader
+{
+    Tags { "RenderType"="Opaque" }
+    Cull Off
+    CGPROGRAM
+    // Physically based Standard lighting model, and enable shadows on all light types
+    #pragma surface surf Standard fullforwardshadows
+
+    // Use shader model 3.0 target, to get nicer looking lighting
+    #pragma target 3.0
+
+    float4 _BaseColor;
+    float4 _DetailColor1;
+    float4 _DetailColor2;
+
+    sampler2D _BaseTex;
+    sampler2D _DetailTex1;
+    sampler2D _DetailTex2;
+
+    float _Emission;
+
+    float3 _Origin;
+	float3 _BoxSize;
+	float3 _BoxRotation;
+
+    struct Input
+    {
+        float2 uv_BaseTex, uv_DetailTex1, uv_DetailTex2;
+        float3 worldPos;
+    };
+
+    // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
+    // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
+    // #pragma instancing_options assumeuniformscaling
+    UNITY_INSTANCING_BUFFER_START(Props)
+        // put more per-instance properties here
+    UNITY_INSTANCING_BUFFER_END(Props)
+
+    void surf (Input IN, inout SurfaceOutputStandard o)
+    {
+
+		float3 dir = IN.worldPos - _Origin;
+		float3 rads = float3(radians(_BoxRotation.x), radians(_BoxRotation.y), radians(_BoxRotation.z));
+		// z
+		dir = cos(rads.z) * dir + sin(rads.z) * cross(float3(0,0,1.0f), dir) + (1.0f - cos(rads.z)) * dot(float3(0,0,1.0f), dir) * float3(0,0,1.0f);
+		// x
+		dir = cos(rads.x) * dir + sin(rads.x) * cross(float3(1.0f,0,0), dir) + (1.0f - cos(rads.x)) * dot(float3(1.0f,0,0), dir) * float3(1.0f,0,0);
+		// y
+		dir = cos(rads.y) * dir + sin(rads.y) * cross(float3(0,1.0f,0), dir) + (1.0f - cos(rads.y)) * dot(float3(0,1.0f,0), dir) * float3(0,1.0f,0);
+
+		half3 dist = half3(
+			abs(dir.x), // no negatives
+			abs(dir.y), // no negatives
+			abs(dir.z)  // no negatives
+		);
+
+		dist.x = dist.x - _BoxSize.x * 0.5;
+		dist.y = dist.y - _BoxSize.y * 0.5;
+		dist.z = dist.z - _BoxSize.z * 0.5;
+
+		half t = min(1, dist.x);
+		t = max(t, dist.y);
+		t = max(t, dist.z);
+
+		clip(-1 * t);
+
+        fixed4 baseTexture = tex2D (_BaseTex, IN.uv_BaseTex);
+
+        fixed4 detailTexture1 = tex2D (_DetailTex1, IN.uv_DetailTex1);
+        fixed4 detailTexture2 = tex2D (_DetailTex2, IN.uv_DetailTex2);
+
+        fixed4 baseDetail1_Result = lerp(_BaseColor, _DetailColor1, detailTexture1.a);
+
+        fixed4 detail1Detail2_Result  = lerp(baseDetail1_Result, _DetailColor2, detailTexture2.a);
+
+        fixed4 c = baseTexture *= detail1Detail2_Result;
+
+        half3 e = c.rgb;
+
+        o.Albedo = c.rgb;
+        o.Emission = e * _Emission;
+        o.Alpha = 1.0;
+    }
+    ENDCG
+}
+FallBack "Diffuse"
+}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapBoxStylesPerRenderer.shader.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapBoxStylesPerRenderer.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c3f467f09d652f5992f715620a2ffed10040e0db
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapBoxStylesPerRenderer.shader.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 64e3437cc9d82448a82ef269bc63c929
+timeCreated: 1521066702
+licenseType: Pro
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapboxStyles.shader b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapboxStyles.shader
new file mode 100644
index 0000000000000000000000000000000000000000..fd2e2f885c65590171117ceb040d9fd1c49d894f
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapboxStyles.shader
@@ -0,0 +1,103 @@
+// Upgrade NOTE: upgraded instancing buffer 'Props' to new syntax.
+
+Shader "Mapbox/Clip_MapboxStyles"
+{
+	Properties
+	{
+		_BaseColor ("BaseColor", Color) = (1,1,1,1)
+		_DetailColor1 ("DetailColor1", Color) = (1,1,1,1)
+		_DetailColor2 ("DetailColor2", Color) = (1,1,1,1)
+
+		_BaseTex ("Base", 2D) = "white" {}
+		_DetailTex1 ("Detail_1", 2D) = "white" {}
+		_DetailTex2 ("Detail_2", 2D) = "white" {}
+
+		_Emission ("Emission", Range(0.0, 1.0)) = 0.1
+	}
+	SubShader
+	{
+		Tags { "RenderType"="Opaque" }
+		Cull Off
+
+		CGPROGRAM
+		// Physically based Standard lighting model, and enable shadows on all light types
+		#pragma surface surf Standard fullforwardshadows
+
+		// Use shader model 3.0 target, to get nicer looking lighting
+		#pragma target 3.0
+
+		float4 _BaseColor;
+		float4 _DetailColor1;
+		float4 _DetailColor2;
+
+		sampler2D _BaseTex;
+		sampler2D _DetailTex1;
+		sampler2D _DetailTex2;
+
+		float _Emission;
+
+		float3 _Origin;
+		float3 _BoxSize;
+		float3 _BoxRotation;
+
+		struct Input
+		{
+			float2 uv_BaseTex, uv_DetailTex1, uv_DetailTex2;
+			float3 worldPos;
+		};
+
+		// Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
+		// See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
+		// #pragma instancing_options assumeuniformscaling
+		UNITY_INSTANCING_BUFFER_START(Props)
+			// put more per-instance properties here
+		UNITY_INSTANCING_BUFFER_END(Props)
+
+		void surf (Input IN, inout SurfaceOutputStandard o)
+		{
+
+			float3 dir = IN.worldPos - _Origin;
+			float3 rads = float3(radians(_BoxRotation.x), radians(_BoxRotation.y), radians(_BoxRotation.z));
+			// z
+			dir = cos(rads.z) * dir + sin(rads.z) * cross(float3(0,0,1.0f), dir) + (1.0f - cos(rads.z)) * dot(float3(0,0,1.0f), dir) * float3(0,0,1.0f);
+			// x
+			dir = cos(rads.x) * dir + sin(rads.x) * cross(float3(1.0f,0,0), dir) + (1.0f - cos(rads.x)) * dot(float3(1.0f,0,0), dir) * float3(1.0f,0,0);
+			// y
+			dir = cos(rads.y) * dir + sin(rads.y) * cross(float3(0,1.0f,0), dir) + (1.0f - cos(rads.y)) * dot(float3(0,1.0f,0), dir) * float3(0,1.0f,0);
+			
+			half3 dist = half3(
+				abs(dir.x), // no negatives
+				abs(dir.y), // no negatives
+				abs(dir.z)  // no negatives
+			);
+
+			dist.x = dist.x - _BoxSize.x * 0.5;
+			dist.y = dist.y - _BoxSize.y * 0.5;
+			dist.z = dist.z - _BoxSize.z * 0.5;
+
+			half t = min(1, dist.x);
+			t = max(t, dist.y);
+			t = max(t, dist.z);
+			
+			clip(-1 * t);
+
+			fixed4 baseTexture = tex2D (_BaseTex, IN.uv_BaseTex);
+
+			fixed4 detailTexture1 = tex2D (_DetailTex1, IN.uv_DetailTex1);
+			fixed4 detailTexture2 = tex2D (_DetailTex2, IN.uv_DetailTex2);
+
+			fixed4 baseDetail1_Result = lerp(_BaseColor, _DetailColor1, detailTexture1.a);
+
+			fixed4 detail1Detail2_Result  = lerp(baseDetail1_Result, _DetailColor2, detailTexture2.a);
+
+			fixed4 c = baseTexture *= detail1Detail2_Result;
+			half3 e = c.rgb;
+
+			o.Albedo = c.rgb;
+			o.Emission = e * _Emission;
+			o.Alpha = 1.0;
+		}
+		ENDCG
+	}
+	FallBack "Diffuse"
+}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapboxStyles.shader.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapboxStyles.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..03129df92e356d4ea4006c9793eb79ff87e0d933
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Shaders/Clip_MapboxStyles.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ce5c4f9b6c67846ebb4b0eea1812e9a3
+timeCreated: 1520453579
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1c8db267f4110169e2c4bb34a74b7a6943f74f45
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 481b0bbc888e94274a2a227e9fd9f536
+folderAsset: yes
+timeCreated: 1513618987
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/Green_Texture.png b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/Green_Texture.png
new file mode 100644
index 0000000000000000000000000000000000000000..73bb69b6b210f74934a65df40fe864b4bbcbcdbb
Binary files /dev/null and b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/Green_Texture.png differ
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/Green_Texture.png.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/Green_Texture.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..061ee328eb31d1a18782e279f28e1fd4ace1f79c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/Green_Texture.png.meta
@@ -0,0 +1,112 @@
+fileFormatVersion: 2
+guid: e236e3a16a1704857aade67955185036
+timeCreated: 1510423277
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: WebGL
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/orange_texture.png b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/orange_texture.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d833b254a5e5ac91b7b60d643e9d43265513ec6
Binary files /dev/null and b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/orange_texture.png differ
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/orange_texture.png.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/orange_texture.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1f06789e0ed342902957207d2848c6ee904d8308
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/orange_texture.png.meta
@@ -0,0 +1,112 @@
+fileFormatVersion: 2
+guid: 84c9cdf116e5247218ff6ef335b0ef67
+timeCreated: 1510411457
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: WebGL
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/red_texture.png b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/red_texture.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e69133310de4d312942dc6b461602898c2718c2
Binary files /dev/null and b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/red_texture.png differ
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/red_texture.png.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/red_texture.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..25f6b52e1a8b66629186a813dd7cdb1d0276d8d1
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/red_texture.png.meta
@@ -0,0 +1,112 @@
+fileFormatVersion: 2
+guid: 61263226240a54051817c14d9f586b17
+timeCreated: 1511810388
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: WebGL
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/yellow_texture.png b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/yellow_texture.png
new file mode 100644
index 0000000000000000000000000000000000000000..972f61e7f30a52c0e5edee59a9136bc1efb6c961
Binary files /dev/null and b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/yellow_texture.png differ
diff --git a/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/yellow_texture.png.meta b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/yellow_texture.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9aa50801a21dfe54e3ab78dd22918ded89444434
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/ARTabletop/Textures/yellow_texture.png.meta
@@ -0,0 +1,112 @@
+fileFormatVersion: 2
+guid: 3fce8ba1e72d24c37ba5f28a29d0caae
+timeCreated: 1511810358
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: WebGL
+    maxTextureSize: 512
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/Scenes.meta b/T3-Unity/Assets/MapboxAR/Examples/Scenes.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2c5d58ea34e86121acc050e173d4c0e1e7c00d6f
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/Scenes.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 742c539913b6c4b228a261251683e214
+folderAsset: yes
+timeCreated: 1501165719
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/Scenes/TabletopAR.unity b/T3-Unity/Assets/MapboxAR/Examples/Scenes/TabletopAR.unity
new file mode 100644
index 0000000000000000000000000000000000000000..c6542c66519046e3300f99dc219d516c2f671c49
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/Scenes/TabletopAR.unity
@@ -0,0 +1,518 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.75, g: 0.75, b: 0.75, a: 0}
+  m_AmbientEquatorColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientGroundColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &4
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 0
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 1
+    m_BakeResolution: 50
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 1
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 0
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &5
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.4
+    agentHeight: 1.8
+    agentSlope: 45
+    agentClimb: 0.9
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.13333333
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1001 &123171728
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>Tabletop AR experience</b>\n\nRender a map on any flat surface in
+        AR. This starting point even clips the map at table bounds. \n\nNOTE : \nFor
+        AR examples to work as expected, please add layers (using the drop down at
+        the top right corner of the Editor window) with the following names \n\nARGameObject\nMap\nPath\nBoth"
+      objectReference: {fileID: 0}
+    - target: {fileID: 114714814348837408, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_BoolArgument
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114714814348837408, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114731470950229392, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!4 &312429107 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4324505364571932, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+    type: 2}
+  m_PrefabInternal: {fileID: 2141252174}
+--- !u!1 &673908967
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 673908970}
+  - component: {fileID: 673908969}
+  - component: {fileID: 673908968}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &673908968
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 673908967}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &673908969
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 673908967}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!4 &673908970
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 673908967}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &790379535 stripped
+GameObject:
+  m_PrefabParentObject: {fileID: 1752371506266588, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+    type: 2}
+  m_PrefabInternal: {fileID: 2141252174}
+--- !u!114 &790379538 stripped
+MonoBehaviour:
+  m_PrefabParentObject: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+    type: 2}
+  m_PrefabInternal: {fileID: 2141252174}
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+--- !u!114 &790379539
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 790379535}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4a0def3e793b744849a7bd42ac59a338, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 790379538}
+  _target: {fileID: 312429107}
+--- !u!1001 &2141252174
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4580065472578918, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4580065472578918, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4580065472578918, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4580065472578918, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4580065472578918, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4580065472578918, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4580065472578918, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4580065472578918, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114949404173606746, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _panSpeed
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].presetFeatureType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _options.extentOptions.rangeAroundTransformOptions.disposeBuffer
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _initializeOnStart
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _options.tileMaterial
+      value: 
+      objectReference: {fileID: 2100000, guid: ef6b4a925b8854a94acb4dc94dcc3d95, type: 2}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _options.extentOptions.extentType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _terrain._layerProperty.elevationLayerType
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: ed6f9ad81dc3a4e87864ef50526951c8, type: 2}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: 29ccb82811b0d43f8adac026781c4c15, type: 2}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _options.extentOptions.defaultExtents.rangeAroundTransformOptions.targetTransform
+      value: 
+      objectReference: {fileID: 312429107}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _options.extentOptions.defaultExtents.rangeAroundTransformOptions.visibleBuffer
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _options.extentOptions.defaultExtents.rangeAroundTransformOptions.disposeBuffer
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.texturingType
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.atlasInfo
+      value: 
+      objectReference: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301,
+        type: 2}
+    - target: {fileID: 114378541491328834, guid: c0ce4c9dacbd84ff09f18011abded7e6,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.colorPalette
+      value: 
+      objectReference: {fileID: 11400000, guid: e1b79d6caac0144adada0c548ef06705,
+        type: 2}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: c0ce4c9dacbd84ff09f18011abded7e6, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/MapboxAR/Examples/Scenes/TabletopAR.unity.meta b/T3-Unity/Assets/MapboxAR/Examples/Scenes/TabletopAR.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..47f2b8b364ca45e6aba0624a0e09cd45457c76d8
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/Scenes/TabletopAR.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a455922b0e2954431922c9fb6c5377e4
+timeCreated: 1513979023
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR-ManualAlignment.unity b/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR-ManualAlignment.unity
new file mode 100644
index 0000000000000000000000000000000000000000..793300e36c825adf2edbc7479fc81da75902b8c5
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR-ManualAlignment.unity
@@ -0,0 +1,826 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.75, g: 0.75, b: 0.75, a: 0}
+  m_AmbientEquatorColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientGroundColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &4
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 0
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 1
+    m_BakeResolution: 50
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 1
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 0
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &5
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.4
+    agentHeight: 1.8
+    agentSlope: 45
+    agentClimb: 0.9
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.13333333
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!21 &214912260
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: Standard
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &524865300
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0.17645001
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0.17645001
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 1.17645
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &608402318
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>World Scale AR Manual Syncronization</b>\n\nExperience AR at the
+        real world scale. Localize the player maually.\nNOTE:\nFor AR examples to
+        work as expected, please add layers with the following names\n\nARGameObject
+        \nMap \nPath\nBoth"
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 1611603657303738, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!21 &815653638
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultSideMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: d22116fee9b9b486f847633108f0fc42, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &890031345
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: DefaultTopMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: cbadf2ff391df40bbb762a1009a9a243, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!21 &1393885619
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticTopMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: f99015b7b1a6f497bab611412ee65c90, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 581505b85254d4d29b170800875ef29a, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: 0bc8bd5e5fc49497fad146b25f52e005, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!28 &1610052392
+Texture2D:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: 
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_ForcedFallbackFormat: 4
+  m_DownscaleFallback: 0
+  serializedVersion: 2
+  m_Width: 1
+  m_Height: 1
+  m_CompleteImageSize: 4
+  m_TextureFormat: 4
+  m_MipCount: 1
+  m_IsReadable: 1
+  m_AlphaIsTransparency: 0
+  m_ImageCount: 1
+  m_TextureDimension: 2
+  m_TextureSettings:
+    serializedVersion: 2
+    m_FilterMode: 1
+    m_Aniso: 1
+    m_MipBias: 0
+    m_WrapU: 0
+    m_WrapV: 0
+    m_WrapW: 0
+  m_LightmapFormat: 0
+  m_ColorSpace: 1
+  image data: 4
+  _typelessdata: cdcdcdcd
+  m_StreamData:
+    offset: 0
+    size: 0
+    path: 
+--- !u!21 &1645267159
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RealisticSideMaterial
+  m_Shader: {fileID: 47, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _METALLICGLOSSMAP _NORMALMAP _SPECGLOSSMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 639754785a99045debbad4593b7c92e9, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 0bcf5c7180b764937aa4cd980bd44e8b, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 2800000, guid: c3370fc9cdec647fcb05b4bcfb13aa37, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 2800000, guid: feda69b01240b4568a23a5a754012e5a, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 2800000, guid: b4566aacde9a0463a89407bec92aa87c, type: 3}
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &2112666983
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4137092354335162, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4137092354335162, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4137092354335162, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4137092354335162, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4137092354335162, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4137092354335162, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4137092354335162, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4137092354335162, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114611718048448722, guid: 840fafd579d474d53ba0a6b55a3f7a89,
+        type: 2}
+      propertyPath: _options.loadingTexture
+      value: 
+      objectReference: {fileID: 1610052392}
+    - target: {fileID: 114611718048448722, guid: 840fafd579d474d53ba0a6b55a3f7a89,
+        type: 2}
+      propertyPath: _options.tileMaterial
+      value: 
+      objectReference: {fileID: 214912260}
+    - target: {fileID: 114611718048448722, guid: 840fafd579d474d53ba0a6b55a3f7a89,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1393885619}
+    - target: {fileID: 114611718048448722, guid: 840fafd579d474d53ba0a6b55a3f7a89,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 1645267159}
+    - target: {fileID: 114611718048448722, guid: 840fafd579d474d53ba0a6b55a3f7a89,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[0].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 890031345}
+    - target: {fileID: 114611718048448722, guid: 840fafd579d474d53ba0a6b55a3f7a89,
+        type: 2}
+      propertyPath: _vectorData._layerProperty.vectorSubLayers.Array.data[0].materialOptions.customStyleOptions.materials.Array.data[1].Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 815653638}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 840fafd579d474d53ba0a6b55a3f7a89, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR-ManualAlignment.unity.meta b/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR-ManualAlignment.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f9f6b504f9c16454ad84c4d808daf50dc6ebae47
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR-ManualAlignment.unity.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: d9ff170f22f0545c3970a889a592f312
diff --git a/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR.unity b/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR.unity
new file mode 100644
index 0000000000000000000000000000000000000000..ae338f9a0657e96f755531db1a35e9b610b02dbe
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR.unity
@@ -0,0 +1,498 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.75, g: 0.75, b: 0.75, a: 0}
+  m_AmbientEquatorColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientGroundColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &4
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 0
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 1
+    m_BakeResolution: 50
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 1
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 0
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ShowResolutionOverlay: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 0
+--- !u!196 &5
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.4
+    agentHeight: 1.8
+    agentSlope: 45
+    agentClimb: 0.9
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.13333333
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!28 &183575790
+Texture2D:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: 
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_ForcedFallbackFormat: 4
+  m_DownscaleFallback: 0
+  serializedVersion: 2
+  m_Width: 1
+  m_Height: 1
+  m_CompleteImageSize: 4
+  m_TextureFormat: 4
+  m_MipCount: 1
+  m_IsReadable: 1
+  m_AlphaIsTransparency: 0
+  m_ImageCount: 1
+  m_TextureDimension: 2
+  m_TextureSettings:
+    serializedVersion: 2
+    m_FilterMode: 1
+    m_Aniso: 1
+    m_MipBias: 0
+    m_WrapU: 0
+    m_WrapV: 0
+    m_WrapW: 0
+  m_LightmapFormat: 0
+  m_ColorSpace: 1
+  image data: 4
+  _typelessdata: cdcdcdcd
+  m_StreamData:
+    offset: 0
+    size: 0
+    path: 
+--- !u!21 &813639599
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: Standard
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!1001 &1002213147
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4398838867240558, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4398838867240558, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4398838867240558, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4398838867240558, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4398838867240558, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4398838867240558, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4398838867240558, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4398838867240558, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114793276287641354, guid: 35e76f6e52f5c4252a0b703cc2019a37,
+        type: 2}
+      propertyPath: _options.loadingTexture
+      value: 
+      objectReference: {fileID: 183575790}
+    - target: {fileID: 114793276287641354, guid: 35e76f6e52f5c4252a0b703cc2019a37,
+        type: 2}
+      propertyPath: _options.tileMaterial
+      value: 
+      objectReference: {fileID: 813639599}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 35e76f6e52f5c4252a0b703cc2019a37, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &1673180111
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224315790701160254, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Pivot.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907993215804030, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224835413515161394, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114603753021256032, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_Text
+      value: "<b>World Scale AR</b>\n\nExperience AR at the real world scale. Localize
+        the player using the GPS and AR inputs. \n\nNOTE : \nFor AR examples to work
+        as expected, please add layers (using the drop down at the top right corner
+        of the Editor window) with the following names \n\nARGameObject \nMap \nPath\nBoth"
+      objectReference: {fileID: 0}
+    - target: {fileID: 224857786874416376, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchoredPosition.y
+      value: 0.000015258789
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 224907856650798614, guid: 98be219873e6d4dffb5949746f515a33,
+        type: 2}
+      propertyPath: m_SizeDelta.x
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 98be219873e6d4dffb5949746f515a33, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1001 &1680096571
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0.17645001
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0.17645001
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 1.17645
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4375506567224262, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 67597a1e442b246869f416a1b5272850, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR.unity.meta b/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..19b853d73bb7a402f1457ceaf99c927789412e0a
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/Scenes/WorldScaleAR.unity.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: c60dfd6bb74264e44b3dbf93e9d129c4
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2ace52323a1851b01dec650cbade5026df51642a
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: dd25826cc91c1478d9b48b5c83e30c92
+folderAsset: yes
+timeCreated: 1502383755
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingHeightModifier.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingHeightModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f8ea95b2b470e77f95bb1cd6e70bc66ccef7cbe9
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingHeightModifier.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7dfb85d33966074ebf2acd2de263474, type: 3}
+  m_Name: SimpleBuildingHeightModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _flatTops: 0
+  _forceHeight: 0
+  _height: 0
+  _createSideWalls: 1
+  _separateSubmesh: 1
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingHeightModifier.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingHeightModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d4a824c13057c465f2f7665fd60404f3e92ff5f7
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingHeightModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 83eab91d2d26546288976f84b3c2412d
+timeCreated: 1502384466
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingLayerModifier.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingLayerModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..773120cd66fc5be31069120b253a30dd230f48b2
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingLayerModifier.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a4644f4fa4408d144a9c7927401f3807, type: 3}
+  m_Name: SimpleBuildingLayerModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _layerId: 8
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingLayerModifier.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingLayerModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fc7f4154cbdc4dbf48841cb82a792b284f72075d
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingLayerModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1fbe34aa29621413a88e49555c97975c
+timeCreated: 1502384665
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingTextureModifier.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingTextureModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..f5c16c4135ca992a5bfb6ff81aa6652d4583e43b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingTextureModifier.asset
@@ -0,0 +1,21 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7d86f7dc89b3e33408563e4ada9d1c74, type: 3}
+  m_Name: SimpleBuildingTextureModifier
+  m_EditorClassIdentifier: 
+  Active: 1
+  _textureTop: 1
+  _useSatelliteTexture: 0
+  _topMaterials:
+  - {fileID: 2100000, guid: c5af501b9ca374cf1948c4571862c6f9, type: 2}
+  _textureSides: 1
+  _sideMaterials:
+  - {fileID: 2100000, guid: c5af501b9ca374cf1948c4571862c6f9, type: 2}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingTextureModifier.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingTextureModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e43c57405d0c760be9fc9fde2fd59fea29d0b0a2
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleBuildingTextureModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 106d5f356e9764a4daa4982c64ae2cd7
+timeCreated: 1502384688
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapBuildings.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapBuildings.asset
new file mode 100644
index 0000000000000000000000000000000000000000..12622afa99fa188d11365c26be05cf5e871e30a5
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapBuildings.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 120e43a7012622e49aca0c9217acd1f9, type: 3}
+  m_Name: SimpleMapBuildings
+  m_EditorClassIdentifier: 
+  Active: 1
+  _classificationKey: 
+  _key: building
+  Filters: []
+  _defaultStack: {fileID: 11400000, guid: 53b0044132a1d42d09be1058489da266, type: 2}
+  Stacks: []
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapBuildings.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapBuildings.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aeca44cc5250b83e13ac25315a9a9278e8cb3da4
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapBuildings.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 452b52851c5b8492b8508b073771b7bf
+timeCreated: 1502384393
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapFlatTerrain.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapFlatTerrain.asset
new file mode 100644
index 0000000000000000000000000000000000000000..a2738a994d9ff1fe05fdda7fb3c38934adc7a966
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapFlatTerrain.asset
@@ -0,0 +1,17 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a6523094c07d4ee683da5d826fce510, type: 3}
+  m_Name: SimpleMapFlatTerrain
+  m_EditorClassIdentifier: 
+  _baseMaterial: {fileID: 2100000, guid: 321d9d594e9694d2bad241f80cf0af89, type: 2}
+  _addCollider: 0
+  _addToLayer: 1
+  _layerId: 9
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapFlatTerrain.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapFlatTerrain.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ca3431c92e8654d8b25b9c014786d31644c3e47b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapFlatTerrain.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 75343b295fbc24f03821de2419a33312
+timeCreated: 1502383785
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapImage.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapImage.asset
new file mode 100644
index 0000000000000000000000000000000000000000..9bd9e05b5193a64f0039f2ca22b4c6004fc1b030
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapImage.asset
@@ -0,0 +1,23 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2b10536479dade041b6db9893fdf723a, type: 3}
+  m_Name: SimpleMapImage
+  m_EditorClassIdentifier: 
+  _mapIdType: 0
+  _customStyle:
+    Name: 
+    Id: 
+    Modified: 
+    UserName: 
+  _mapId: mapbox://styles/mapbox/streets-v10
+  _useCompression: 0
+  _useMipMap: 0
+  _useRetina: 0
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapImage.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapImage.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5fbc0543721f8261f60d3af891ff50c2cf300f4a
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapImage.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5652b9f453dd24268a08faae6c7bd9f9
+timeCreated: 1502383835
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVector.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVector.asset
new file mode 100644
index 0000000000000000000000000000000000000000..fec324f386f3e5b16a68c09555acfb1f9a82a733
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVector.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 63d97cb1cfb3f1b499c24763afa54873, type: 3}
+  m_Name: SimpleMapVector
+  m_EditorClassIdentifier: 
+  _mapId: mapbox.mapbox-streets-v7
+  Visualizers:
+  - {fileID: 11400000, guid: 452b52851c5b8492b8508b073771b7bf, type: 2}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVector.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVector.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..866a73bff51616858dfcd0862061d32dbc354d95
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVector.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8df172970e6b7499c8a5c214449b23bc
+timeCreated: 1502384372
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVisualizer.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVisualizer.asset
new file mode 100644
index 0000000000000000000000000000000000000000..3d7f8941eba9158ec10d2ef0764b3a529bcddfa3
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVisualizer.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 526c8a90df31d41fe8057a6f85c7a3e4, type: 3}
+  m_Name: SimpleMapVisualizer
+  m_EditorClassIdentifier: 
+  Factories:
+  - {fileID: 11400000, guid: 75343b295fbc24f03821de2419a33312, type: 2}
+  - {fileID: 11400000, guid: 5652b9f453dd24268a08faae6c7bd9f9, type: 2}
+  - {fileID: 11400000, guid: 8df172970e6b7499c8a5c214449b23bc, type: 2}
+  _loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVisualizer.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVisualizer.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c1153ac966ce56e83a7b8c71dfcafdb9554175a6
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMapVisualizer.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5c78f162127f44067883454c4f8e174e
+timeCreated: 1502383765
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMergedBuildingStack.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMergedBuildingStack.asset
new file mode 100644
index 0000000000000000000000000000000000000000..544d3c5ba39739cd206ba4c0eed0a6b8237ba2b6
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMergedBuildingStack.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef7239c46ddb6ab469994291c9603c01, type: 3}
+  m_Name: SimpleMergedBuildingStack
+  m_EditorClassIdentifier: 
+  MeshModifiers:
+  - {fileID: 11400000, guid: 9b49a4ce56c084e8299582be9fcbdb59, type: 2}
+  - {fileID: 11400000, guid: 78682c836b14e46c0b705180848dc333, type: 2}
+  - {fileID: 11400000, guid: 83eab91d2d26546288976f84b3c2412d, type: 2}
+  GoModifiers:
+  - {fileID: 11400000, guid: 1fbe34aa29621413a88e49555c97975c, type: 2}
+  - {fileID: 11400000, guid: 106d5f356e9764a4daa4982c64ae2cd7, type: 2}
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMergedBuildingStack.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMergedBuildingStack.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de08767154ea791b9007604d080e3b5700562059
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimpleMergedBuildingStack.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 53b0044132a1d42d09be1058489da266
+timeCreated: 1502384417
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimplePolygonModifier.asset b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimplePolygonModifier.asset
new file mode 100644
index 0000000000000000000000000000000000000000..4db79358fb3a01123b53976dd31d163d9ce23c7a
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimplePolygonModifier.asset
@@ -0,0 +1,14 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6c7ba03c743d46c4a99f4971c74f7cbd, type: 3}
+  m_Name: SimplePolygonModifier
+  m_EditorClassIdentifier: 
+  Active: 1
diff --git a/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimplePolygonModifier.asset.meta b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimplePolygonModifier.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0d6bef3bd72d00581d7c582ceeab19c7fb68addb
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Examples/SimpleMap/SimplePolygonModifier.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9b49a4ce56c084e8299582be9fcbdb59
+timeCreated: 1502384447
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Materials.meta b/T3-Unity/Assets/MapboxAR/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9b8cfef98d3e28971c35da50a1ef92ecaf2ec634
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e836c5975e22a4706b42845135244877
+folderAsset: yes
+timeCreated: 1501256004
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Materials/DebugBuildings.mat b/T3-Unity/Assets/MapboxAR/Materials/DebugBuildings.mat
new file mode 100644
index 0000000000000000000000000000000000000000..6994681e41b2ccb1c42d4f968a197be5e92e8342
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials/DebugBuildings.mat
@@ -0,0 +1,87 @@
+%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: DebugBuildings
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 1
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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:
+    - PixelSnap: 0
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _InvFade: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 0
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 1, g: 0, b: 0, a: 0.628}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
+    - _TintColor: {r: 1, g: 0, b: 0, a: 0.5}
diff --git a/T3-Unity/Assets/MapboxAR/Materials/DebugBuildings.mat.meta b/T3-Unity/Assets/MapboxAR/Materials/DebugBuildings.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0d0e8b6c150d9ae1fc923ee53a0269750a07845e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials/DebugBuildings.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c5af501b9ca374cf1948c4571862c6f9
+timeCreated: 1501876350
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Materials/Occlusion.mat b/T3-Unity/Assets/MapboxAR/Materials/Occlusion.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c80ac7bf273bbbc13999cb333825d85698e05964
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials/Occlusion.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: Occlusion
+  m_Shader: {fileID: 4800000, guid: 1e5df5a56a7624e0981993663cf33154, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 1990
+  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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/MapboxAR/Materials/Occlusion.mat.meta b/T3-Unity/Assets/MapboxAR/Materials/Occlusion.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e1e52ee6b9b83c95e358b5bd780a0b205f65c708
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials/Occlusion.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f3737ed2890d14151b01de93c3871a7c
+timeCreated: 1501615183
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Materials/PathMaterial.mat b/T3-Unity/Assets/MapboxAR/Materials/PathMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..78a7dd7c78c65728f39e07040134ba5e9cb777ad
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials/PathMaterial.mat
@@ -0,0 +1,86 @@
+%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: PathMaterial
+  m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _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:
+    - PixelSnap: 0
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _InvFade: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _Flip: {r: 1, g: 1, b: 1, a: 1}
+    - _RendererColor: {r: 1, g: 1, b: 1, a: 1}
+    - _TintColor: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/MapboxAR/Materials/PathMaterial.mat.meta b/T3-Unity/Assets/MapboxAR/Materials/PathMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8fea2a4d66029ce6f94ab05d2e529b7acadb68eb
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials/PathMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 005546b882afb44b593a9179506c4b9b
+timeCreated: 1501256018
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Materials/UnlitTerrainMaterial.mat b/T3-Unity/Assets/MapboxAR/Materials/UnlitTerrainMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..9b7ee6eec8d07c4fdf0a94061fd6655b5c9cc6e8
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials/UnlitTerrainMaterial.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: UnlitTerrainMaterial
+  m_Shader: {fileID: 10752, 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: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/MapboxAR/Materials/UnlitTerrainMaterial.mat.meta b/T3-Unity/Assets/MapboxAR/Materials/UnlitTerrainMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b638aa5eeba9bf39fab5b220df82761371f51817
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Materials/UnlitTerrainMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 321d9d594e9694d2bad241f80cf0af89
+timeCreated: 1502383802
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs.meta b/T3-Unity/Assets/MapboxAR/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dface52a87a3cab03e39dc14f8ec14ccfc030033
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 63d52c2033edd48c39f575115990af7e
+folderAsset: yes
+timeCreated: 1501166183
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/AR Root.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/AR Root.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..ae20b7ff1aa2e3e2ca1fbbbeeb4af6389eba1dc0
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/AR Root.prefab	
@@ -0,0 +1,183 @@
+%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: 1611042105391024}
+  m_IsPrefabParent: 1
+--- !u!1 &1603085209739848
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4064165833611348}
+  - component: {fileID: 20945382794571592}
+  - component: {fileID: 124071928864979834}
+  - component: {fileID: 81842036892154994}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1611042105391024
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4774119132748426}
+  - component: {fileID: 114239163299686756}
+  - component: {fileID: 114559095227162600}
+  - component: {fileID: 114333496288524412}
+  - component: {fileID: 114657368600404770}
+  m_Layer: 0
+  m_Name: AR Root
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4064165833611348
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1603085209739848}
+  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: 4774119132748426}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4774119132748426
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611042105391024}
+  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:
+  - {fileID: 4064165833611348}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &20945382794571592
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1603085209739848}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!81 &81842036892154994
+AudioListener:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1603085209739848}
+  m_Enabled: 1
+--- !u!114 &114239163299686756
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611042105391024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 37ab97bfa6689994caf97070bd3a37ba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PointCloudParticlePrefab: {fileID: 198314236125653888, guid: 8049ec78edc7a450ea776237de46d3f8,
+    type: 2}
+  m_MaxPointsToShow: 100
+  m_ParticleSize: 0.04
+--- !u!114 &114333496288524412
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611042105391024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 562a9fe49bfc2418099790a804f22711, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114559095227162600
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611042105391024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5d15554ba01a81b43836c6e4770c204f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PlanePrefab: {fileID: 1372998203143648, guid: 2c9427dfd106e4aefa08705ac5020bf9,
+    type: 2}
+  m_PlaneLayer: 8
+--- !u!114 &114657368600404770
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1611042105391024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9acf0b0c890fb9040b2f5da53bf54d86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 20945382794571592}
+  m_PlaneDetection: 1
+  m_LightEstimation: 1
+  m_PointCloud: 1
+  m_Scale: 1
+  pointOfInterest: {x: 0, y: 0, z: 0}
+--- !u!124 &124071928864979834
+Behaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1603085209739848}
+  m_Enabled: 1
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/AR Root.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/AR Root.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3af9d3e7283783cca4bcba11de5357fb5d46979d
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/AR Root.prefab.meta	
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 85f9b39438d88460bb2ccc6cc38b12b0
+timeCreated: 1510023464
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/AR.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/AR.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..fd405de790c89dacbd7d5e2b39c5fe9d09f165cd
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/AR.prefab
@@ -0,0 +1,241 @@
+%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: 1475984198571640}
+  m_IsPrefabParent: 1
+--- !u!1 &1028991703917906
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4676110684971804}
+  - component: {fileID: 20756434821778148}
+  - component: {fileID: 92454442315504654}
+  - component: {fileID: 124228318154380338}
+  - component: {fileID: 81990899857837492}
+  - component: {fileID: 114587237025016100}
+  - component: {fileID: 114670780696216638}
+  m_Layer: 0
+  m_Name: ARCamera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1159619864737274
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4456938462911020}
+  - component: {fileID: 114750685288636870}
+  m_Layer: 0
+  m_Name: ARCameraManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1378019457455272
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4448862529564440}
+  - component: {fileID: 114106651899997356}
+  m_Layer: 8
+  m_Name: GeneratePlanes
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1475984198571640
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4315331754806196}
+  m_Layer: 0
+  m_Name: AR
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4315331754806196
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1475984198571640}
+  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:
+  - {fileID: 4448862529564440}
+  - {fileID: 4456938462911020}
+  - {fileID: 4676110684971804}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4448862529564440
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1378019457455272}
+  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: 4315331754806196}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4456938462911020
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1159619864737274}
+  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: 4315331754806196}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4676110684971804
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1028991703917906}
+  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: 4315331754806196}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &20756434821778148
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1028991703917906}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19788063, g: 0.2953552, b: 0.44852942, a: 0.019608}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.1
+  far clip plane: 100
+  field of view: 60
+  orthographic: 0
+  orthographic size: 100
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294964735
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+  m_StereoMirrorMode: 0
+--- !u!81 &81990899857837492
+AudioListener:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1028991703917906}
+  m_Enabled: 1
+--- !u!92 &92454442315504654
+Behaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1028991703917906}
+  m_Enabled: 1
+--- !u!114 &114106651899997356
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1378019457455272}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31cac8edf84834043ac167deaeba16a9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  planePrefab: {fileID: 1372998203143648, guid: f879aaf3eeb0c467eb22cbaf08dc97a4,
+    type: 2}
+--- !u!114 &114587237025016100
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1028991703917906}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!114 &114670780696216638
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1028991703917906}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce437cef046e841aabd6070890e79d41, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114750685288636870
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1159619864737274}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_camera: {fileID: 20756434821778148}
+--- !u!124 &124228318154380338
+Behaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1028991703917906}
+  m_Enabled: 1
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/AR.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/AR.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0e27774ba045480ee058af3cd731683d5dcdf76e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/AR.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d985e787e9e784f63a3754482fc48820
+timeCreated: 1502384078
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/ARPlayer.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/ARPlayer.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..4e68abd79d3ee67c63aed7bf19e8b03702518de7
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/ARPlayer.prefab
@@ -0,0 +1,56 @@
+%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: 1259406184849962}
+  m_IsPrefabParent: 1
+--- !u!1 &1259406184849962
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4839101652309982}
+  - component: {fileID: 114085771489246250}
+  m_Layer: 0
+  m_Name: ARPlayer
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4839101652309982
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1259406184849962}
+  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}
+--- !u!114 &114085771489246250
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1259406184849962}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4bb39d89f6f3742418be7c93b4259637, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 0}
+  _positionFollowFactor: 30
+  _useTransformLocationProvider: 1
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/ARPlayer.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/ARPlayer.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..188901f7c49c3597256b249f59986bba23e4a0b5
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/ARPlayer.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b4bd3e2d5448a4186aef149d1db69811
+timeCreated: 1568673482
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/ARTabletopKit.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/ARTabletopKit.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..0d8812178251356ea0301795e67d3285f56ad307
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/ARTabletopKit.prefab
@@ -0,0 +1,772 @@
+%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: 1731568082723032}
+  m_IsPrefabParent: 1
+--- !u!1 &1035147522893940
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4027796213929236}
+  - component: {fileID: 33943948518547270}
+  - component: {fileID: 23198511120032690}
+  m_Layer: 0
+  m_Name: Quad
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1092184285994864
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4367522911695538}
+  m_Layer: 0
+  m_Name: FocusSquareFocused
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1120755363940512
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4902669327877604}
+  - component: {fileID: 95315404089254370}
+  m_Layer: 0
+  m_Name: FocusSquareFinding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1272331924038672
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4265867358766318}
+  - component: {fileID: 20512144627957390}
+  - component: {fileID: 124147286325951530}
+  - component: {fileID: 81073696906095044}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1353426832212286
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4054856869252960}
+  - component: {fileID: 114518577050598568}
+  m_Layer: 0
+  m_Name: FocusSquare
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1721094957519844
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4609889550321186}
+  - component: {fileID: 33964022105727784}
+  - component: {fileID: 23783250200813734}
+  m_Layer: 0
+  m_Name: 'Quad '
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1731568082723032
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4580065472578918}
+  - component: {fileID: 114212010089517918}
+  - component: {fileID: 114738352844512476}
+  - component: {fileID: 114844694048032688}
+  m_Layer: 0
+  m_Name: ARTabletopKit
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1752371506266588
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4694041931287344}
+  - component: {fileID: 114378541491328834}
+  - component: {fileID: 114949404173606746}
+  m_Layer: 0
+  m_Name: MapRoot
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1789645920474078
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4324505364571932}
+  - component: {fileID: 114282370371282284}
+  m_Layer: 0
+  m_Name: MapHolder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1812108889263576
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4138476355109196}
+  - component: {fileID: 114818216676110696}
+  - component: {fileID: 114163387142773586}
+  - component: {fileID: 114712965375763550}
+  - component: {fileID: 114201825138272292}
+  m_Layer: 0
+  m_Name: AR Root
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4027796213929236
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1035147522893940}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4367522911695538}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!4 &4054856869252960
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1353426832212286}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0.17645001, y: 0.17645001, z: 1.17645}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4902669327877604}
+  - {fileID: 4367522911695538}
+  m_Father: {fileID: 4580065472578918}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4138476355109196
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1812108889263576}
+  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:
+  - {fileID: 4265867358766318}
+  m_Father: {fileID: 4580065472578918}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4265867358766318
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1272331924038672}
+  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: 4138476355109196}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4324505364571932
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1789645920474078}
+  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:
+  - {fileID: 4694041931287344}
+  m_Father: {fileID: 4580065472578918}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4367522911695538
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1092184285994864}
+  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:
+  - {fileID: 4027796213929236}
+  m_Father: {fileID: 4054856869252960}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4580065472578918
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1731568082723032}
+  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:
+  - {fileID: 4138476355109196}
+  - {fileID: 4324505364571932}
+  - {fileID: 4054856869252960}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4609889550321186
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1721094957519844}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.10000017, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4902669327877604}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!4 &4694041931287344
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1752371506266588}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.001, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4324505364571932}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4902669327877604
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1120755363940512}
+  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:
+  - {fileID: 4609889550321186}
+  m_Father: {fileID: 4054856869252960}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &20512144627957390
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1272331924038672}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!23 &23198511120032690
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1035147522893940}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 5dc9e0ae01c204ce7b7517c8d59713e6, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23783250200813734
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1721094957519844}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: bdec2f90bd7304fd7859a64780a6947e, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33943948518547270
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1035147522893940}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33964022105727784
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1721094957519844}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!81 &81073696906095044
+AudioListener:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1272331924038672}
+  m_Enabled: 1
+--- !u!95 &95315404089254370
+Animator:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1120755363940512}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: cca9b37da3e7e458fba02babd2ee71b9, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+--- !u!114 &114163387142773586
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1812108889263576}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5d15554ba01a81b43836c6e4770c204f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PlanePrefab: {fileID: 1372998203143648, guid: 2c9427dfd106e4aefa08705ac5020bf9,
+    type: 2}
+  m_PlaneLayer: 12
+--- !u!114 &114201825138272292
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1812108889263576}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9acf0b0c890fb9040b2f5da53bf54d86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 20512144627957390}
+  m_PlaneDetection: 1
+  m_LightEstimation: 0
+  m_PointCloud: 1
+  m_BackgroundRendering: 1
+  m_Scale: 1
+  pointOfInterest: {x: 0, y: 0, z: 0}
+--- !u!114 &114212010089517918
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1731568082723032}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 36d7ad32f43dd40b99362ede5c2a1ce6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114282370371282284
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1789645920474078}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 71f3d3304b92245bcb942f7dc12cc99b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _mapTransform: {fileID: 4324505364571932}
+--- !u!114 &114378541491328834
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1752371506266588}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _initializeOnStart: 1
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.784179, -122.401583
+      zoom: 16
+    extentOptions:
+      extentType: 2
+      cameraBoundsOptions:
+        camera: {fileID: 0}
+        visibleBuffer: 0
+        disposeBuffer: 0
+        updateInterval: 0
+      rangeAroundCenterOptions:
+        west: 1
+        north: 1
+        east: 1
+        south: 1
+      rangeAroundTransformOptions:
+        targetTransform: {fileID: 4324505364571932}
+        visibleBuffer: 2
+        disposeBuffer: 3
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 1
+    loadingTexture: {fileID: 2800000, guid: e2896a92727704803a9c422b043eae89, type: 3}
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        baseMaterial: {fileID: 2100000, guid: ef6b4a925b8854a94acb4dc94dcc3d95, type: 2}
+        addCollider: 0
+        exaggerationFactor: 1
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - country_label
+        - housenum_label
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Terrain
+          Id: mapbox.3d-buildings,mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: ExtrudedBuildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          groupFeatures: 1
+          lineWidth: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: building
+          extrusionType: 1
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: Number. Height of building or part of building.
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 3
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: ed6f9ad81dc3a4e87864ef50526951c8, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: 29ccb82811b0d43f8adac026781c4c15, type: 2}
+          atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21, type: 2}
+          colorPalette: {fileID: 11400000, guid: ef118b5e263da4b1fa4327ca1d3e0c7b,
+            type: 2}
+        honorBuildingIdSetting: 1
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+--- !u!114 &114518577050598568
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1353426832212286}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1f4b83e8f3452455da3ad25c32786654, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  findingSquare: {fileID: 1120755363940512}
+  foundSquare: {fileID: 1092184285994864}
+  maxRayDistance: 30
+  collisionLayerMask:
+    serializedVersion: 2
+    m_Bits: 4096
+  findingSquareDist: 0.5
+--- !u!114 &114712965375763550
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1812108889263576}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 562a9fe49bfc2418099790a804f22711, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114738352844512476
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1731568082723032}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 642295543cf604e8db40851de83fa292, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114818216676110696
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1812108889263576}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 37ab97bfa6689994caf97070bd3a37ba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PointCloudParticlePrefab: {fileID: 198314236125653888, guid: 8049ec78edc7a450ea776237de46d3f8,
+    type: 2}
+  m_MaxPointsToShow: 100
+  m_ParticleSize: 0.04
+--- !u!114 &114844694048032688
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1731568082723032}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5698001a6edd244c898af1c8f86a48ba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114949404173606746
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1752371506266588}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5209c2a5ffaf941c5b8bbbb59a81c0c3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _panSpeed: 1
+  _zoomSpeed: 0.25
+  _referenceCamera: {fileID: 20512144627957390}
+  _mapManager: {fileID: 114378541491328834}
+--- !u!124 &124147286325951530
+Behaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1272331924038672}
+  m_Enabled: 1
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/ARTabletopKit.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/ARTabletopKit.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..732cd5de8fa208bb0246b225bb649de0811bbc92
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/ARTabletopKit.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c0ce4c9dacbd84ff09f18011abded7e6
+timeCreated: 1521072614
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/ARWorldScaleKit.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/ARWorldScaleKit.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..0e908a8d1cf8e8c0b2686ddee8090347e99dd56c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/ARWorldScaleKit.prefab
@@ -0,0 +1,2274 @@
+%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: 1105622576805456}
+  m_IsPrefabParent: 1
+--- !u!1 &1042244233993866
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224681213705429980}
+  m_Layer: 13
+  m_Name: Sliding Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1046676904448740
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224971644856138054}
+  m_Layer: 13
+  m_Name: Console
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1047178893331244
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224296088287569886}
+  - component: {fileID: 222359161028950686}
+  - component: {fileID: 114508819003727460}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1105622576805456
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4032145994186340}
+  - component: {fileID: 114950452923067042}
+  m_Layer: 0
+  m_Name: ARWorldScaleKit
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1122724728414292
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224861667505662456}
+  - component: {fileID: 222502774276163870}
+  - component: {fileID: 114073289471849214}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1144919875179500
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224254154311927462}
+  - component: {fileID: 114001449289270244}
+  - component: {fileID: 222780352565644754}
+  - component: {fileID: 114711933553040556}
+  m_Layer: 13
+  m_Name: Scroll View
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1162029039782048
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4985070189942788}
+  - component: {fileID: 114691954568032166}
+  - component: {fileID: 114370302241519148}
+  - component: {fileID: 114301826800402006}
+  - component: {fileID: 114979698289453120}
+  - component: {fileID: 114219149910893950}
+  m_Layer: 0
+  m_Name: AR Root
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1191060243625198
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224429314383103382}
+  - component: {fileID: 222932069806296590}
+  - component: {fileID: 114356386656900656}
+  m_Layer: 13
+  m_Name: GPStext
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1193722596847236
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224823929090350780}
+  - component: {fileID: 222081818413881732}
+  - component: {fileID: 114160783619480824}
+  - component: {fileID: 114626645240928538}
+  - component: {fileID: 114755867793792080}
+  m_Layer: 5
+  m_Name: CameraSelection
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1221310655536838
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224641621458793594}
+  - component: {fileID: 222351980340464244}
+  - component: {fileID: 114149968388060726}
+  - component: {fileID: 114746911231233862}
+  m_Layer: 13
+  m_Name: Scrollbar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1239731352966120
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224777437392825024}
+  - component: {fileID: 114502172718394350}
+  - component: {fileID: 222933464430545886}
+  - component: {fileID: 114023717010273362}
+  m_Layer: 13
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1263351406922184
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4814926130671036}
+  - component: {fileID: 114116151088191570}
+  - component: {fileID: 114286230812058878}
+  m_Layer: 0
+  m_Name: SyncronizationManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1332757545078720
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224416483003809064}
+  - component: {fileID: 114677384334006960}
+  m_Layer: 5
+  m_Name: MapCameraToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1467603432025718
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224618511322172214}
+  - component: {fileID: 222061388025144214}
+  - component: {fileID: 114881228091519082}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1495140231709580
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224963409795601136}
+  - component: {fileID: 222214567335222066}
+  - component: {fileID: 114512626334721644}
+  m_Layer: 13
+  m_Name: PositionText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1521436589995368
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224596893467582376}
+  - component: {fileID: 222016867465774356}
+  - component: {fileID: 114740175954443058}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1608249950564556
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4189567826478280}
+  - component: {fileID: 20551896119954698}
+  - component: {fileID: 124996420256628726}
+  - component: {fileID: 81731828213223952}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1648705240180948
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224009587552220588}
+  - component: {fileID: 114397816528626906}
+  m_Layer: 5
+  m_Name: MainCameraToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1715166971879874
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224776811293498680}
+  - component: {fileID: 222566722349833526}
+  - component: {fileID: 114532478956823178}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1722632915408648
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224752981525493600}
+  - component: {fileID: 223962425834473832}
+  - component: {fileID: 114825789669873996}
+  - component: {fileID: 114097643742647200}
+  - component: {fileID: 114737203033934320}
+  m_Layer: 5
+  m_Name: DebugCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1774468858496406
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224559284999693652}
+  - component: {fileID: 222455837391251476}
+  - component: {fileID: 114731441072213138}
+  m_Layer: 13
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1795465250815176
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224040560703492460}
+  - component: {fileID: 222238617750305764}
+  - component: {fileID: 114948808304950946}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1836355847088330
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224517442113029158}
+  - component: {fileID: 114984838787918198}
+  - component: {fileID: 114688420166131302}
+  m_Layer: 13
+  m_Name: Content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1853871234218166
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4605856440307198}
+  - component: {fileID: 20624419026065746}
+  - component: {fileID: 114673633842219316}
+  m_Layer: 12
+  m_Name: MapCamera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1890451098152018
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224070882781959014}
+  - component: {fileID: 222706662592314894}
+  - component: {fileID: 114895798123997138}
+  m_Layer: 13
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1916800279749984
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224730509733541038}
+  - component: {fileID: 222226366216616120}
+  - component: {fileID: 114368839627199366}
+  - component: {fileID: 114288885212955770}
+  m_Layer: 13
+  m_Name: ToggleConsoleButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1976149977913478
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4221568560203256}
+  - component: {fileID: 20725898785698048}
+  m_Layer: 12
+  m_Name: DebugPathCamera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1980450545740642
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4512840461783122}
+  - component: {fileID: 114019806403111736}
+  - component: {fileID: 114092512329560590}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4032145994186340
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1105622576805456}
+  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:
+  - {fileID: 4985070189942788}
+  - {fileID: 4605856440307198}
+  - {fileID: 224752981525493600}
+  - {fileID: 4814926130671036}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4189567826478280
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1608249950564556}
+  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: 4985070189942788}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4221568560203256
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1976149977913478}
+  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: 4605856440307198}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!4 &4512840461783122
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1980450545740642}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -540.1029, y: -960, z: 0}
+  m_LocalScale: {x: 3.2933104, y: 3.2933104, z: 3.2933104}
+  m_Children: []
+  m_Father: {fileID: 224752981525493600}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4605856440307198
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1853871234218166}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 125, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4221568560203256}
+  m_Father: {fileID: 4032145994186340}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!4 &4814926130671036
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1263351406922184}
+  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: 4032145994186340}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4985070189942788
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1162029039782048}
+  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:
+  - {fileID: 4189567826478280}
+  m_Father: {fileID: 4032145994186340}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &20551896119954698
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1608249950564556}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294962687
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!20 &20624419026065746
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1853871234218166}
+  m_Enabled: 0
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1500
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 28672
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!20 &20725898785698048
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1976149977913478}
+  m_Enabled: 0
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1500
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: 1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 28672
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!81 &81731828213223952
+AudioListener:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1608249950564556}
+  m_Enabled: 1
+--- !u!114 &114001449289270244
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1144919875179500}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 224517442113029158}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 2
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 224777437392825024}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_HorizontalScrollbarVisibility: 1
+  m_VerticalScrollbarVisibility: 2
+  m_HorizontalScrollbarSpacing: -3
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114019806403111736
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1980450545740642}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!114 &114023717010273362
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1239731352966120}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114073289471849214
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1122724728414292}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114092512329560590
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1980450545740642}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &114097643742647200
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1722632915408648}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114116151088191570
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1263351406922184}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f5e4bbf13fb4b4b8185ca3a5fa3d140e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _arPositionReference: {fileID: 4189567826478280}
+  _map: {fileID: 0}
+  _useAutomaticSynchronizationBias: 1
+  _alignmentStrategy: {fileID: 114286230812058878}
+  _synchronizationBias: 1
+  _arTrustRange: 10
+  _minimumDeltaDistance: 2
+  _minimumDesiredAccuracy: 5
+--- !u!114 &114149968388060726
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1221310655536838}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.2352941, g: 0.2352941, b: 0.2352941, a: 0.803}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114160783619480824
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1193722596847236}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114219149910893950
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1162029039782048}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3a6c9235e73bea042bda6b2c0539ad63, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 20551896119954698}
+  m_PlaneDetection: 1
+  m_LightEstimation: 0
+  m_PointCloud: 1
+  m_BackgroundRendering: 1
+  m_Scale: 1
+  pointOfInterest: {x: 0, y: 0, z: 0}
+  m_SendVideo: 1
+--- !u!114 &114286230812058878
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1263351406922184}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0d2f95bcf49014079b9d10228e3006a8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _transform: {fileID: 4985070189942788}
+  _followFactor: 0
+--- !u!114 &114288885212955770
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1916800279749984}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114368839627199366}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 114737203033934320}
+        m_MethodName: ToggleMenu
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114301826800402006
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1162029039782048}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 562a9fe49bfc2418099790a804f22711, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114356386656900656
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1191060243625198}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: New Text
+--- !u!114 &114368839627199366
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1916800279749984}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 497aab1329e0f47c38b384b00b84a40b, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114370302241519148
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1162029039782048}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5d15554ba01a81b43836c6e4770c204f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PlanePrefab: {fileID: 1372998203143648, guid: 2c9427dfd106e4aefa08705ac5020bf9,
+    type: 2}
+  m_PlaneLayer: 12
+--- !u!114 &114397816528626906
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1648705240180948}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114740175954443058}
+  toggleTransition: 1
+  graphic: {fileID: 114073289471849214}
+  m_Group: {fileID: 114755867793792080}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 1
+--- !u!114 &114502172718394350
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1239731352966120}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &114508819003727460
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1047178893331244}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114512626334721644
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1495140231709580}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: New Text
+--- !u!114 &114532478956823178
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1715166971879874}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114626645240928538
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1193722596847236}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 7
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114673633842219316
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1853871234218166}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ade537fc62d5c974cb84efe75fbc9f08, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 20624419026065746}
+  _locationProvider: {fileID: 0}
+--- !u!114 &114677384334006960
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1332757545078720}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114532478956823178}
+  toggleTransition: 1
+  graphic: {fileID: 114508819003727460}
+  m_Group: {fileID: 114755867793792080}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 20624419026065746}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: AdjustLineWidth
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: AdjustLineWidth
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 20725898785698048}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 0
+--- !u!114 &114688420166131302
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1836355847088330}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114691954568032166
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1162029039782048}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 37ab97bfa6689994caf97070bd3a37ba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PointCloudParticlePrefab: {fileID: 198314236125653888, guid: 8049ec78edc7a450ea776237de46d3f8,
+    type: 2}
+  m_MaxPointsToShow: 100
+  m_ParticleSize: 0.04
+--- !u!114 &114711933553040556
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1144919875179500}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.08823532, g: 0.08823532, b: 0.08823532, a: 0.897}
+  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!114 &114731441072213138
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1774468858496406}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.22794116, g: 0.55273825, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 100
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 'lorem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsum'
+--- !u!114 &114737203033934320
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1722632915408648}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c0d8056b5e53e42499659c2c1007be20, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _toggleButton: {fileID: 114288885212955770}
+  _menu: {fileID: 1046676904448740}
+  _logText: {fileID: 114731441072213138}
+  _logScroll: {fileID: 114001449289270244}
+--- !u!114 &114740175954443058
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1521436589995368}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114746911231233862
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1221310655536838}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114895798123997138}
+  m_HandleRect: {fileID: 224070882781959014}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114755867793792080
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1193722596847236}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1184210157, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_AllowSwitchOff: 0
+--- !u!114 &114825789669873996
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1722632915408648}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 1080, y: 1920}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 1
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114881228091519082
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1467603432025718}
+  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: 1
+  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: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Map
+--- !u!114 &114895798123997138
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1890451098152018}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.5661765, g: 0.5661765, b: 0.5661765, a: 0.809}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114948808304950946
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1795465250815176}
+  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: 1
+  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: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: AR
+--- !u!114 &114950452923067042
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1105622576805456}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 36d7ad32f43dd40b99362ede5c2a1ce6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114979698289453120
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1162029039782048}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9acf0b0c890fb9040b2f5da53bf54d86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 20551896119954698}
+  m_PlaneDetection: 1
+  m_LightEstimation: 0
+  m_PointCloud: 1
+  m_BackgroundRendering: 1
+  m_Scale: 1
+  pointOfInterest: {x: 0, y: 0, z: 0}
+--- !u!114 &114984838787918198
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1836355847088330}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!124 &124996420256628726
+Behaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1608249950564556}
+  m_Enabled: 1
+--- !u!222 &222016867465774356
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1521436589995368}
+--- !u!222 &222061388025144214
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1467603432025718}
+--- !u!222 &222081818413881732
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1193722596847236}
+--- !u!222 &222214567335222066
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1495140231709580}
+--- !u!222 &222226366216616120
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1916800279749984}
+--- !u!222 &222238617750305764
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1795465250815176}
+--- !u!222 &222351980340464244
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1221310655536838}
+--- !u!222 &222359161028950686
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1047178893331244}
+--- !u!222 &222455837391251476
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1774468858496406}
+--- !u!222 &222502774276163870
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1122724728414292}
+--- !u!222 &222566722349833526
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1715166971879874}
+--- !u!222 &222706662592314894
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1890451098152018}
+--- !u!222 &222780352565644754
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1144919875179500}
+--- !u!222 &222932069806296590
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1191060243625198}
+--- !u!222 &222933464430545886
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1239731352966120}
+--- !u!223 &223962425834473832
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1722632915408648}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224009587552220588
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1648705240180948}
+  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:
+  - {fileID: 224596893467582376}
+  - {fileID: 224040560703492460}
+  m_Father: {fileID: 224823929090350780}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 160, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224040560703492460
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1795465250815176}
+  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: 224009587552220588}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 30, y: 0}
+  m_SizeDelta: {x: -60, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224070882781959014
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1890451098152018}
+  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: 224681213705429980}
+  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: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224254154311927462
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1144919875179500}
+  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:
+  - {fileID: 224777437392825024}
+  - {fileID: 224641621458793594}
+  m_Father: {fileID: 224971644856138054}
+  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!224 &224296088287569886
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1047178893331244}
+  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: 224776811293498680}
+  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.000030517578, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224416483003809064
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1332757545078720}
+  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:
+  - {fileID: 224776811293498680}
+  - {fileID: 224618511322172214}
+  m_Father: {fileID: 224823929090350780}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 160, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224429314383103382
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1191060243625198}
+  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: 224517442113029158}
+  m_RootOrder: 1
+  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}
+--- !u!224 &224517442113029158
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1836355847088330}
+  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:
+  - {fileID: 224559284999693652}
+  - {fileID: 224429314383103382}
+  - {fileID: 224963409795601136}
+  m_Father: {fileID: 224777437392825024}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0.000061035156}
+  m_SizeDelta: {x: 0, y: 520.0903}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224559284999693652
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1774468858496406}
+  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: 224517442113029158}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 532.9345, y: -260.04514}
+  m_SizeDelta: {x: 1065.869, y: 520.0903}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224596893467582376
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1521436589995368}
+  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:
+  - {fileID: 224861667505662456}
+  m_Father: {fileID: 224009587552220588}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224618511322172214
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1467603432025718}
+  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: 224416483003809064}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 30, y: 0}
+  m_SizeDelta: {x: -60, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224641621458793594
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1221310655536838}
+  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:
+  - {fileID: 224681213705429980}
+  m_Father: {fileID: 224254154311927462}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -0.00012207031}
+  m_SizeDelta: {x: 100, y: 0}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!224 &224681213705429980
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1042244233993866}
+  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:
+  - {fileID: 224070882781959014}
+  m_Father: {fileID: 224641621458793594}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224730509733541038
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1916800279749984}
+  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: 224752981525493600}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 20, y: 20}
+  m_SizeDelta: {x: 140, y: 140}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224752981525493600
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1722632915408648}
+  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_Children:
+  - {fileID: 224823929090350780}
+  - {fileID: 224971644856138054}
+  - {fileID: 224730509733541038}
+  - {fileID: 4512840461783122}
+  m_Father: {fileID: 4032145994186340}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224776811293498680
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1715166971879874}
+  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:
+  - {fileID: 224296088287569886}
+  m_Father: {fileID: 224416483003809064}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224777437392825024
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1239731352966120}
+  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:
+  - {fileID: 224517442113029158}
+  m_Father: {fileID: 224254154311927462}
+  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: 50, y: -50}
+  m_SizeDelta: {x: -100, y: -100}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224823929090350780
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1193722596847236}
+  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:
+  - {fileID: 224009587552220588}
+  - {fileID: 224416483003809064}
+  m_Father: {fileID: 224752981525493600}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: -20, y: 0}
+  m_SizeDelta: {x: 140, y: 200}
+  m_Pivot: {x: 1, y: 0}
+--- !u!224 &224861667505662456
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1122724728414292}
+  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: 224596893467582376}
+  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.000030517578, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224963409795601136
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1495140231709580}
+  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: 224517442113029158}
+  m_RootOrder: 2
+  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}
+--- !u!224 &224971644856138054
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1046676904448740}
+  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:
+  - {fileID: 224254154311927462}
+  m_Father: {fileID: 224752981525493600}
+  m_RootOrder: 1
+  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}
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/ARWorldScaleKit.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/ARWorldScaleKit.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b3f52860338f43df3c46581d168198eb510cf72d
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/ARWorldScaleKit.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7e23b57d3e7f744cfafb9699d5dad5ac
+timeCreated: 1528956009
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/ArAlignedMap.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/ArAlignedMap.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..664f9d5cf75379a559bcec2939fea7f06435cc6e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/ArAlignedMap.prefab
@@ -0,0 +1,186 @@
+%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: 1244208928101150}
+  m_IsPrefabParent: 1
+--- !u!1 &1244208928101150
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4888713322317794}
+  - component: {fileID: 114862370123083174}
+  - component: {fileID: 114497378530439776}
+  - component: {fileID: 114142380820642732}
+  m_Layer: 0
+  m_Name: ArAlignedMap
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4888713322317794
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1244208928101150}
+  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}
+--- !u!114 &114142380820642732
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1244208928101150}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b000a4c373a2e470986a96ce9dba73ed, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _transform: {fileID: 0}
+  _maxSamples: 10
+  _ignoreAngleThreshold: 5
+  _lerpSpeed: 0.5
+--- !u!114 &114497378530439776
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1244208928101150}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f5e4bbf13fb4b4b8185ca3a5fa3d140e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _arPositionReference: {fileID: 0}
+  _map: {fileID: 0}
+  _useAutomaticSynchronizationBias: 1
+  _alignmentStrategy: {fileID: 0}
+  _synchronizationBias: 1
+  _arTrustRange: 30
+  _minimumDeltaDistance: 3
+  _minimumDesiredAccuracy: 5
+  LocationProvider: {fileID: 0}
+--- !u!114 &114862370123083174
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1244208928101150}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 0,0
+      zoom: 4
+    extentOptions:
+      extentType: 1
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 0}
+    tileMaterial: {fileID: 0}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames: []
+      _sourceType: 1
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Streets v7
+          Id: mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers: []
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+  _previewOptions:
+    isPreviewEnabled: 0
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/ArAlignedMap.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/ArAlignedMap.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7e22523a9c5063ab34d4cfa5008021e514acae31
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/ArAlignedMap.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a79d3081b05b04c249011c75c2248f69
+timeCreated: 1568673241
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/DebugCanvas.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/DebugCanvas.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..e70d16e2e0d36680a84a7673d868928e3e169cb3
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/DebugCanvas.prefab
@@ -0,0 +1,1681 @@
+%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: 1899105360470972}
+  m_IsPrefabParent: 1
+--- !u!1 &1290827412629664
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224277405320913858}
+  - component: {fileID: 222148577371466498}
+  - component: {fileID: 114440664041389458}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1382285288865758
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224793604128357978}
+  - component: {fileID: 222020344169374634}
+  - component: {fileID: 114777678917892280}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1397244356115914
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224496961404267526}
+  - component: {fileID: 222221727826585874}
+  - component: {fileID: 114054485735385776}
+  - component: {fileID: 114879103260647204}
+  m_Layer: 13
+  m_Name: Scrollbar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1412795031542412
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224866070935094506}
+  - component: {fileID: 114542031650988832}
+  - component: {fileID: 222437273465758828}
+  - component: {fileID: 114562737404410698}
+  m_Layer: 13
+  m_Name: Scroll View
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1429240225922434
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224240329540979144}
+  - component: {fileID: 222561544458834108}
+  - component: {fileID: 114967485945333938}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1490448202106528
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224865884810159016}
+  m_Layer: 13
+  m_Name: Console
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1494249319072492
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224546002098451556}
+  - component: {fileID: 222884059247579680}
+  - component: {fileID: 114837524060791092}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1573413814627560
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4589255836476442}
+  - component: {fileID: 114990967632221830}
+  - component: {fileID: 114632850992112160}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1619865630918304
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224710221391167224}
+  - component: {fileID: 222174036387836682}
+  - component: {fileID: 114939051700395594}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1625815405483196
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224702218424339068}
+  - component: {fileID: 114847594565799588}
+  - component: {fileID: 222565749922540436}
+  - component: {fileID: 114941301842750212}
+  m_Layer: 13
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1653107648503666
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224063254047650616}
+  - component: {fileID: 222971638770650688}
+  - component: {fileID: 114430565207495216}
+  m_Layer: 13
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1666309778940584
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224590949281838536}
+  - component: {fileID: 114485700915373714}
+  m_Layer: 5
+  m_Name: MapCameraToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1688900930768634
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224026941019678384}
+  - component: {fileID: 222167001871699736}
+  - component: {fileID: 114994595783094032}
+  - component: {fileID: 114774030006952492}
+  - component: {fileID: 114115502566139614}
+  m_Layer: 5
+  m_Name: CameraSelection
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1770013798721764
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224066975568429790}
+  - component: {fileID: 222912378355048282}
+  - component: {fileID: 114826995293994512}
+  - component: {fileID: 114215032401057358}
+  m_Layer: 13
+  m_Name: ToggleConsoleButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1819422397320996
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224654556533999444}
+  - component: {fileID: 114204267590075156}
+  m_Layer: 5
+  m_Name: MainCameraToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1897142169371386
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224232392059663402}
+  - component: {fileID: 114654981821707226}
+  - component: {fileID: 114464008686342610}
+  m_Layer: 13
+  m_Name: Content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1899105360470972
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224795363084601600}
+  - component: {fileID: 223722364353304672}
+  - component: {fileID: 114056667003160794}
+  - component: {fileID: 114713469874574664}
+  - component: {fileID: 114590234721308650}
+  m_Layer: 5
+  m_Name: DebugCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1905343298723366
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224280802156512564}
+  m_Layer: 13
+  m_Name: Sliding Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1926242978510914
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224723322315459864}
+  - component: {fileID: 222425386143556002}
+  - component: {fileID: 114102877584976032}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1929254520816770
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224337357152136488}
+  - component: {fileID: 222951789142443412}
+  - component: {fileID: 114484569071974348}
+  m_Layer: 13
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4589255836476442
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1573413814627560}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -540.1029, y: -960, z: 0}
+  m_LocalScale: {x: 3.2933104, y: 3.2933104, z: 3.2933104}
+  m_Children: []
+  m_Father: {fileID: 224795363084601600}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114054485735385776
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1397244356115914}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.2352941, g: 0.2352941, b: 0.2352941, a: 0.803}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114056667003160794
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1899105360470972}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 1080, y: 1920}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 1
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114102877584976032
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1926242978510914}
+  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: 1
+  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: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Map
+--- !u!114 &114115502566139614
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1688900930768634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1184210157, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_AllowSwitchOff: 0
+--- !u!114 &114204267590075156
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1819422397320996}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114939051700395594}
+  toggleTransition: 1
+  graphic: {fileID: 114837524060791092}
+  m_Group: {fileID: 114115502566139614}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 1
+--- !u!114 &114215032401057358
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1770013798721764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114826995293994512}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 114590234721308650}
+        m_MethodName: ToggleMenu
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114430565207495216
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1653107648503666}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.5661765, g: 0.5661765, b: 0.5661765, a: 0.809}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114440664041389458
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1290827412629664}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114464008686342610
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1897142169371386}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114484569071974348
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1929254520816770}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.22794116, g: 0.55273825, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 100
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 'lorem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsum'
+--- !u!114 &114485700915373714
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1666309778940584}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114440664041389458}
+  toggleTransition: 1
+  graphic: {fileID: 114777678917892280}
+  m_Group: {fileID: 114115502566139614}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: AdjustLineWidth
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: AdjustLineWidth
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 0
+--- !u!114 &114542031650988832
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1412795031542412}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 224232392059663402}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 2
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 224702218424339068}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_HorizontalScrollbarVisibility: 1
+  m_VerticalScrollbarVisibility: 2
+  m_HorizontalScrollbarSpacing: -3
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114562737404410698
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1412795031542412}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.08823532, g: 0.08823532, b: 0.08823532, a: 0.897}
+  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!114 &114590234721308650
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1899105360470972}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c0d8056b5e53e42499659c2c1007be20, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _toggleButton: {fileID: 114215032401057358}
+  _menu: {fileID: 1490448202106528}
+  _logText: {fileID: 114484569071974348}
+  _logScroll: {fileID: 114542031650988832}
+--- !u!114 &114632850992112160
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1573413814627560}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &114654981821707226
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1897142169371386}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!114 &114713469874574664
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1899105360470972}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114774030006952492
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1688900930768634}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 7
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114777678917892280
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1382285288865758}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114826995293994512
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1770013798721764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 497aab1329e0f47c38b384b00b84a40b, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114837524060791092
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1494249319072492}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114847594565799588
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625815405483196}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &114879103260647204
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1397244356115914}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114430565207495216}
+  m_HandleRect: {fileID: 224063254047650616}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114939051700395594
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1619865630918304}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114941301842750212
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625815405483196}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114967485945333938
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1429240225922434}
+  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: 1
+  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: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: AR
+--- !u!114 &114990967632221830
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1573413814627560}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!114 &114994595783094032
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1688900930768634}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &222020344169374634
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1382285288865758}
+--- !u!222 &222148577371466498
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1290827412629664}
+--- !u!222 &222167001871699736
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1688900930768634}
+--- !u!222 &222174036387836682
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1619865630918304}
+--- !u!222 &222221727826585874
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1397244356115914}
+--- !u!222 &222425386143556002
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1926242978510914}
+--- !u!222 &222437273465758828
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1412795031542412}
+--- !u!222 &222561544458834108
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1429240225922434}
+--- !u!222 &222565749922540436
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625815405483196}
+--- !u!222 &222884059247579680
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1494249319072492}
+--- !u!222 &222912378355048282
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1770013798721764}
+--- !u!222 &222951789142443412
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1929254520816770}
+--- !u!222 &222971638770650688
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1653107648503666}
+--- !u!223 &223722364353304672
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1899105360470972}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224026941019678384
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1688900930768634}
+  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:
+  - {fileID: 224654556533999444}
+  - {fileID: 224590949281838536}
+  m_Father: {fileID: 224795363084601600}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: -20, y: 0}
+  m_SizeDelta: {x: 140, y: 200}
+  m_Pivot: {x: 1, y: 0}
+--- !u!224 &224063254047650616
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1653107648503666}
+  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: 224280802156512564}
+  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: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224066975568429790
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1770013798721764}
+  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: 224795363084601600}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 20, y: 20}
+  m_SizeDelta: {x: 140, y: 140}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224232392059663402
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1897142169371386}
+  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:
+  - {fileID: 224337357152136488}
+  m_Father: {fileID: 224702218424339068}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 632.3156}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224240329540979144
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1429240225922434}
+  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: 224654556533999444}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 30, y: 0}
+  m_SizeDelta: {x: -60, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224277405320913858
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1290827412629664}
+  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:
+  - {fileID: 224793604128357978}
+  m_Father: {fileID: 224590949281838536}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224280802156512564
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1905343298723366}
+  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:
+  - {fileID: 224063254047650616}
+  m_Father: {fileID: 224496961404267526}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224337357152136488
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1929254520816770}
+  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: 224232392059663402}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 490.10297, y: -316.1578}
+  m_SizeDelta: {x: 980.20593, y: 632.3156}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224496961404267526
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1397244356115914}
+  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:
+  - {fileID: 224280802156512564}
+  m_Father: {fileID: 224866070935094506}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -0.00012207031}
+  m_SizeDelta: {x: 100, y: 0}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!224 &224546002098451556
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1494249319072492}
+  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: 224710221391167224}
+  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.000030517578, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224590949281838536
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1666309778940584}
+  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:
+  - {fileID: 224277405320913858}
+  - {fileID: 224723322315459864}
+  m_Father: {fileID: 224026941019678384}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 160, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224654556533999444
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1819422397320996}
+  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:
+  - {fileID: 224710221391167224}
+  - {fileID: 224240329540979144}
+  m_Father: {fileID: 224026941019678384}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 160, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224702218424339068
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625815405483196}
+  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:
+  - {fileID: 224232392059663402}
+  m_Father: {fileID: 224866070935094506}
+  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: 50, y: -50}
+  m_SizeDelta: {x: -100, y: -100}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224710221391167224
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1619865630918304}
+  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:
+  - {fileID: 224546002098451556}
+  m_Father: {fileID: 224654556533999444}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224723322315459864
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1926242978510914}
+  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: 224590949281838536}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 30, y: 0}
+  m_SizeDelta: {x: -60, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224793604128357978
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1382285288865758}
+  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: 224277405320913858}
+  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.000030517578, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224795363084601600
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1899105360470972}
+  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_Children:
+  - {fileID: 224026941019678384}
+  - {fileID: 224865884810159016}
+  - {fileID: 224066975568429790}
+  - {fileID: 4589255836476442}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224865884810159016
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1490448202106528}
+  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:
+  - {fileID: 224866070935094506}
+  m_Father: {fileID: 224795363084601600}
+  m_RootOrder: 1
+  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!224 &224866070935094506
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1412795031542412}
+  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:
+  - {fileID: 224702218424339068}
+  - {fileID: 224496961404267526}
+  m_Father: {fileID: 224865884810159016}
+  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}
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/DebugCanvas.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/DebugCanvas.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ff09606ed2547f867eba865d34b07b9baa5a8b78
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/DebugCanvas.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a89c0ae7457624c87a34c072ba025592
+timeCreated: 1501170467
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/DebugPaths.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/DebugPaths.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..8a8debd98068628c15c72ac4f7c21a322182362c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/DebugPaths.prefab
@@ -0,0 +1,309 @@
+%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: 1626678809014702}
+  m_IsPrefabParent: 1
+--- !u!1 &1391145336633996
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4709591354589216}
+  - component: {fileID: 120718650291317686}
+  - component: {fileID: 114344734872293212}
+  m_Layer: 0
+  m_Name: GPS
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1626678809014702
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4839284596452308}
+  m_Layer: 0
+  m_Name: DebugPaths
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1903237961750220
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4525441848490936}
+  - component: {fileID: 120070833240994892}
+  - component: {fileID: 114837683947119916}
+  m_Layer: 0
+  m_Name: AR
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4525441848490936
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1903237961750220}
+  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: 4839284596452308}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4709591354589216
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1391145336633996}
+  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: 4839284596452308}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4839284596452308
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1626678809014702}
+  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:
+  - {fileID: 4525441848490936}
+  - {fileID: 4709591354589216}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114344734872293212
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1391145336633996}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: bbcd5647f1aee491f8e9d70d52f4ab40, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _target: {fileID: 4839101652309982, guid: b4bd3e2d5448a4186aef149d1db69811, type: 2}
+  _color: {r: 0, g: 0, b: 1, a: 0.684}
+  _height: 1
+  _lineWidth: 0.1
+  _updateInterval: 0.33
+  _minDistance: 0.33
+--- !u!114 &114837683947119916
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1903237961750220}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: bbcd5647f1aee491f8e9d70d52f4ab40, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _target: {fileID: 0}
+  _color: {r: 1, g: 0, b: 0, a: 0.684}
+  _height: 1
+  _lineWidth: 0.1
+  _updateInterval: 0.33
+  _minDistance: 0.33
+--- !u!120 &120070833240994892
+LineRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1903237961750220}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 2
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 005546b882afb44b593a9179506c4b9b, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Positions: []
+  m_Parameters:
+    serializedVersion: 2
+    widthMultiplier: 1
+    widthCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    colorGradient:
+      serializedVersion: 2
+      key0: {r: 1, g: 1, b: 1, a: 1}
+      key1: {r: 1, g: 1, b: 1, a: 1}
+      key2: {r: 0, g: 0, b: 0, a: 0}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 0
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 0
+      atime3: 0
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    numCornerVertices: 6
+    numCapVertices: 6
+    alignment: 0
+    textureMode: 0
+    generateLightingData: 0
+  m_UseWorldSpace: 1
+  m_Loop: 0
+--- !u!120 &120718650291317686
+LineRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1391145336633996}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 2
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 005546b882afb44b593a9179506c4b9b, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Positions: []
+  m_Parameters:
+    serializedVersion: 2
+    widthMultiplier: 1
+    widthCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    colorGradient:
+      serializedVersion: 2
+      key0: {r: 1, g: 1, b: 1, a: 1}
+      key1: {r: 1, g: 1, b: 1, a: 1}
+      key2: {r: 0, g: 0, b: 0, a: 0}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 0
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 0
+      atime3: 0
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    numCornerVertices: 6
+    numCapVertices: 6
+    alignment: 0
+    textureMode: 0
+    generateLightingData: 0
+  m_UseWorldSpace: 0
+  m_Loop: 0
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/DebugPaths.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/DebugPaths.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e8587b4e08de2a9732bef7064979c9d0601d7b2e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/DebugPaths.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 0bc13eeb8b01a4f669db64fe22fdcbe8
+timeCreated: 1568755200
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/Directions.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/Directions.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..2c8d717134b0b2be60e886c4fff72bec22d5352b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/Directions.prefab
@@ -0,0 +1,203 @@
+%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: 1699976321913372}
+  m_IsPrefabParent: 1
+--- !u!1 &1232400883841848
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4524049058843998}
+  m_Layer: 8
+  m_Name: Waypoint2
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1598565737036398
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4091213284080112}
+  m_Layer: 8
+  m_Name: Waypoint1
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1699976321913372
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4090646074616078}
+  - component: {fileID: 114243356846495868}
+  - component: {fileID: 120342498711476690}
+  m_Layer: 8
+  m_Name: Directions
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4090646074616078
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1699976321913372}
+  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:
+  - {fileID: 4091213284080112}
+  - {fileID: 4524049058843998}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4091213284080112
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1598565737036398}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 53.8, y: 0, z: -7.6}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4090646074616078}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4524049058843998
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1232400883841848}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -119.8, y: 0, z: -222}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4090646074616078}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114243356846495868
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1699976321913372}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 44d601772d842a94cb5ab933dca6bd4f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 0}
+  _mapVisualizer: {fileID: 11400000, guid: 78d4f9b7fc8ac45c487ad9ea051422e6, type: 2}
+  _waypoints:
+  - {fileID: 4091213284080112}
+  - {fileID: 4524049058843998}
+  _lineRenderer: {fileID: 120342498711476690}
+  _height: 3
+--- !u!120 &120342498711476690
+LineRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1699976321913372}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_MotionVectors: 2
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 005546b882afb44b593a9179506c4b9b, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Positions: []
+  m_Parameters:
+    serializedVersion: 2
+    widthMultiplier: 1
+    widthCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    colorGradient:
+      serializedVersion: 2
+      key0: {r: 0, g: 1, b: 0, a: 0.627451}
+      key1: {r: 0, g: 1, b: 0, a: 0.3529412}
+      key2: {r: 0, g: 0, b: 0, a: 0}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 0
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 0
+      atime3: 0
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    numCornerVertices: 6
+    numCapVertices: 6
+    alignment: 0
+    textureMode: 0
+    generateLightingData: 0
+  m_UseWorldSpace: 0
+  m_Loop: 0
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/Directions.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/Directions.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6fee121b070b58089fca7308b4306f43eaa35332
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/Directions.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bca410a2bb40d4803b3bd0d9f44a410a
+timeCreated: 1502384144
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/FocusSquare.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/FocusSquare.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..4c41014004debede3699f17ebdec9beb2710358c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/FocusSquare.prefab
@@ -0,0 +1,280 @@
+%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: 1242951321969780}
+  m_IsPrefabParent: 1
+--- !u!1 &1242951321969780
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4375506567224262}
+  - component: {fileID: 114158314508307150}
+  m_Layer: 0
+  m_Name: FocusSquare
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1360561286332866
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4937869714941968}
+  - component: {fileID: 33464091964589722}
+  - component: {fileID: 23276839647920862}
+  m_Layer: 0
+  m_Name: 'Quad '
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1371900693854450
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4104226394738142}
+  - component: {fileID: 33762257396702376}
+  - component: {fileID: 23124740524917630}
+  m_Layer: 0
+  m_Name: Quad
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1505998952856794
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4885872964495944}
+  m_Layer: 0
+  m_Name: FocusSquareFocused
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1883652969429932
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4635803451649100}
+  - component: {fileID: 95840811743410648}
+  m_Layer: 0
+  m_Name: FocusSquareFinding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4104226394738142
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1371900693854450}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4885872964495944}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!4 &4375506567224262
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1242951321969780}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0.17645001, y: 0.17645001, z: 1.17645}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4635803451649100}
+  - {fileID: 4885872964495944}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4635803451649100
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1883652969429932}
+  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:
+  - {fileID: 4937869714941968}
+  m_Father: {fileID: 4375506567224262}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4885872964495944
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1505998952856794}
+  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:
+  - {fileID: 4104226394738142}
+  m_Father: {fileID: 4375506567224262}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4937869714941968
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1360561286332866}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.10000017, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4635803451649100}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!23 &23124740524917630
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1371900693854450}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 5dc9e0ae01c204ce7b7517c8d59713e6, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23276839647920862
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1360561286332866}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: bdec2f90bd7304fd7859a64780a6947e, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33464091964589722
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1360561286332866}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33762257396702376
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1371900693854450}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!95 &95840811743410648
+Animator:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1883652969429932}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: cca9b37da3e7e458fba02babd2ee71b9, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+--- !u!114 &114158314508307150
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1242951321969780}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1f4b83e8f3452455da3ad25c32786654, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  findingSquare: {fileID: 1883652969429932}
+  foundSquare: {fileID: 1505998952856794}
+  maxRayDistance: 30
+  collisionLayerMask:
+    serializedVersion: 2
+    m_Bits: 4096
+  findingSquareDist: 0.5
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/FocusSquare.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/FocusSquare.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..97efc1ae1f8749803d5e8216da900e141bce6119
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/FocusSquare.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 67597a1e442b246869f416a1b5272850
+timeCreated: 1510023400
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/LocationProvider.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/LocationProvider.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..4206cbe95c18009855d65d73a38c7ef110ebf2f8
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/LocationProvider.prefab
@@ -0,0 +1,289 @@
+%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: 1940301126106602}
+  m_IsPrefabParent: 1
+--- !u!1 &1147295733156082
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4601537454677912}
+  - component: {fileID: 114020397250323300}
+  m_Layer: 0
+  m_Name: Editor
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1553934749079700
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4816880648133114}
+  - component: {fileID: 114263788886286928}
+  m_Layer: 0
+  m_Name: Device
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1692365027446746
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4203333743711874}
+  - component: {fileID: 114911546890974470}
+  m_Layer: 0
+  m_Name: Transform
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1860731449779932
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4584297763150292}
+  - component: {fileID: 114698120179662014}
+  m_Layer: 0
+  m_Name: EditorLocationArray
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1940301126106602
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4382657518604778}
+  - component: {fileID: 114674367269856550}
+  m_Layer: 0
+  m_Name: LocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1959282826234240
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4610818463743516}
+  - component: {fileID: 114879306053055372}
+  m_Layer: 0
+  m_Name: AndroidDevice
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4203333743711874
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1692365027446746}
+  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: 4382657518604778}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4382657518604778
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1940301126106602}
+  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:
+  - {fileID: 4816880648133114}
+  - {fileID: 4601537454677912}
+  - {fileID: 4584297763150292}
+  - {fileID: 4203333743711874}
+  - {fileID: 4610818463743516}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4584297763150292
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1860731449779932}
+  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: 4382657518604778}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4601537454677912
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1147295733156082}
+  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: 4382657518604778}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4610818463743516
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1959282826234240}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -18.677399, y: 12.257265, z: 21.646572}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4382657518604778}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4816880648133114
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1553934749079700}
+  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: 4382657518604778}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114020397250323300
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1147295733156082}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 60712efc3153a4819b0c79437175846d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 0.1
+  _sendEvent: 0
+  _latitudeLongitude: 37.784179, -122.401583
+  _targetTransform: {fileID: 0}
+--- !u!114 &114263788886286928
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1553934749079700}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a38712e93231418a84665190b8473d0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _desiredAccuracyInMeters: 5
+  _updateDistanceInMeters: 5
+  _updateTimeInMilliSeconds: 1000
+--- !u!114 &114674367269856550
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1940301126106602}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b55f37f9a6f7e44f7bb35e6bc3863847, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  mapManager: {fileID: 0}
+  _deviceLocationProviderUnity: {fileID: 114263788886286928}
+  _deviceLocationProviderAndroid: {fileID: 114879306053055372}
+  _editorLocationProvider: {fileID: 114020397250323300}
+  _transformLocationProvider: {fileID: 114911546890974470}
+  _dontDestroyOnLoad: 0
+--- !u!114 &114698120179662014
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1860731449779932}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6b5c815d91f9d4c3690891f3ed4c3162, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 2
+  _sendEvent: 0
+  _latitudeLongitude:
+  - 37.784179, -122.401583
+  - 37.8045, -122.2714
+  - 37.2751, -121.8261
+  _heading: 0
+--- !u!114 &114879306053055372
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1959282826234240}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d3d557417079b1446999d2d86ff71dfb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _updateDistanceInMeters: 0
+  _updateTimeInMilliSeconds: 500
+--- !u!114 &114911546890974470
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1692365027446746}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a034c4eeb3293418aab101c1895844a4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 1
+  _sendEvent: 0
+  _targetTransform: {fileID: 4203333743711874}
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/LocationProvider.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/LocationProvider.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2620905cd66390279a95feff0861da738a04965c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/LocationProvider.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 03d17e9032b344a76b095c71601c070b
+timeCreated: 1525997901
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKit.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKit.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..505f0e9801aa5f8272994e0732c5222aa556e176
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKit.prefab
@@ -0,0 +1,3276 @@
+%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: 1126229994876210}
+  m_IsPrefabParent: 1
+--- !u!1 &1006237342195936
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4773110821741150}
+  - component: {fileID: 20207340915113334}
+  - component: {fileID: 114348550760251274}
+  m_Layer: 12
+  m_Name: MapCamera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1020282897603100
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224220226838087636}
+  - component: {fileID: 222638780990805674}
+  - component: {fileID: 114505819494751106}
+  m_Layer: 13
+  m_Name: GPStext
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1026831273029750
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4371497924636452}
+  - component: {fileID: 114180527757813378}
+  - component: {fileID: 114660602080485126}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1032159192978922
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4297914080160454}
+  - component: {fileID: 33756013026701938}
+  - component: {fileID: 136943710434523420}
+  - component: {fileID: 23499464606879878}
+  m_Layer: 12
+  m_Name: Cylinder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1049258924053604
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224057100145208284}
+  m_Layer: 13
+  m_Name: Sliding Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1054680411362858
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4433739508582778}
+  - component: {fileID: 114782240314887154}
+  m_Layer: 0
+  m_Name: LocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1060720557627808
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224625735978816442}
+  - component: {fileID: 222983694371951830}
+  - component: {fileID: 114946683303070284}
+  m_Layer: 13
+  m_Name: PositionText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1126229994876210
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4398838867240558}
+  - component: {fileID: 114445513930812180}
+  m_Layer: 0
+  m_Name: WorldAlignmentKit
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1178985921307962
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224820545371688642}
+  - component: {fileID: 222466090723281882}
+  - component: {fileID: 114228240162962262}
+  - component: {fileID: 114487554489781776}
+  - component: {fileID: 114672132124294340}
+  m_Layer: 5
+  m_Name: CameraSelection
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1196803668908240
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4498883874471910}
+  - component: {fileID: 114561320498945516}
+  m_Layer: 0
+  m_Name: EditorLocationArray
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1222970874348568
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4732493632968322}
+  - component: {fileID: 33541455350113034}
+  - component: {fileID: 135455655814761912}
+  - component: {fileID: 23668144652318756}
+  m_Layer: 12
+  m_Name: Sphere
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1238540106203772
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224863051437349868}
+  - component: {fileID: 222416207761059756}
+  - component: {fileID: 114905612332951882}
+  m_Layer: 13
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1241873201962140
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4217041274338078}
+  - component: {fileID: 120347795974795586}
+  - component: {fileID: 114598770751876578}
+  m_Layer: 0
+  m_Name: GPS
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1248782384743662
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4037744853198614}
+  - component: {fileID: 120278583862003382}
+  - component: {fileID: 114075237480207278}
+  m_Layer: 0
+  m_Name: AR
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1254073262689706
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4066601245629192}
+  - component: {fileID: 20563867695608054}
+  - component: {fileID: 124161315823398568}
+  - component: {fileID: 81736885227108002}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1291266011657054
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4424099435905634}
+  - component: {fileID: 114780227167264288}
+  m_Layer: 0
+  m_Name: AndroidDevice
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1344306411233046
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224174594969998924}
+  - component: {fileID: 114157643757866260}
+  - component: {fileID: 222595825306822756}
+  - component: {fileID: 114322878834390636}
+  m_Layer: 13
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1363072886392370
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224858707766488898}
+  - component: {fileID: 222199415719617274}
+  - component: {fileID: 114248040683389324}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1384365039740308
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224264426890920082}
+  m_Layer: 13
+  m_Name: Console
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1431752440312072
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224081640801367952}
+  - component: {fileID: 223501018150351164}
+  - component: {fileID: 114977505216368980}
+  - component: {fileID: 114566166046457490}
+  - component: {fileID: 114694595188886814}
+  m_Layer: 5
+  m_Name: DebugCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1445033978766774
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224400791880857248}
+  - component: {fileID: 114244536143971478}
+  m_Layer: 5
+  m_Name: MapCameraToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1501223518553430
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4611407937758974}
+  - component: {fileID: 114793276287641354}
+  - component: {fileID: 114966110212896998}
+  - component: {fileID: 114209522653530954}
+  - component: {fileID: 114984962633517694}
+  m_Layer: 0
+  m_Name: ArAlignedMap
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1552414751861060
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224266318849671242}
+  - component: {fileID: 222082597487885278}
+  - component: {fileID: 114933877837081028}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1563246313159440
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224369461098849156}
+  - component: {fileID: 222312421531833340}
+  - component: {fileID: 114870044669387426}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1575052347475214
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4656917868505632}
+  - component: {fileID: 114427239951516970}
+  m_Layer: 0
+  m_Name: Editor
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1648658797620494
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224111128021112472}
+  - component: {fileID: 222002978898735222}
+  - component: {fileID: 114385603666414974}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1717271500150796
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4556333682342860}
+  - component: {fileID: 114723990881919420}
+  m_Layer: 12
+  m_Name: ARPlayer
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1718382477171300
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224098336211897864}
+  - component: {fileID: 222219737344302182}
+  - component: {fileID: 114034058803695428}
+  - component: {fileID: 114369357638340448}
+  m_Layer: 13
+  m_Name: ToggleConsoleButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1754601739755794
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4293440044801054}
+  - component: {fileID: 114501081218337696}
+  m_Layer: 0
+  m_Name: Device
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1758375931987610
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4206632758237206}
+  m_Layer: 0
+  m_Name: DebugPaths
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1758547014218168
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224570576447916034}
+  - component: {fileID: 222670975982531310}
+  - component: {fileID: 114333754952353818}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1762193954209658
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4071769880680478}
+  - component: {fileID: 114534703135107386}
+  m_Layer: 0
+  m_Name: Transform
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1809517943755104
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224648955962837492}
+  - component: {fileID: 114526260344566362}
+  - component: {fileID: 222632817942315904}
+  - component: {fileID: 114462215469190774}
+  m_Layer: 13
+  m_Name: Scroll View
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1818201347452688
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224157022221560580}
+  - component: {fileID: 222076795976495168}
+  - component: {fileID: 114379528608872606}
+  - component: {fileID: 114943573031337680}
+  m_Layer: 13
+  m_Name: Scrollbar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1828778704506490
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224216094379521506}
+  - component: {fileID: 114953863716789182}
+  m_Layer: 5
+  m_Name: MainCameraToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1841042248707400
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224068846814596666}
+  - component: {fileID: 222981915993603060}
+  - component: {fileID: 114586010857579524}
+  m_Layer: 13
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1842844187067146
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4575768741269198}
+  - component: {fileID: 114569234735936040}
+  - component: {fileID: 114662484383918982}
+  - component: {fileID: 114322619296701908}
+  - component: {fileID: 114070267486252798}
+  - component: {fileID: 114456134194806508}
+  m_Layer: 0
+  m_Name: AR Root
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1932736277767640
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224220395760158998}
+  - component: {fileID: 222199744842143936}
+  - component: {fileID: 114317137556884618}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1951169999643154
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4540409060560038}
+  - component: {fileID: 20827335008578454}
+  m_Layer: 12
+  m_Name: DebugPathCamera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1954841188764206
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224538845371792742}
+  - component: {fileID: 114066118657417728}
+  - component: {fileID: 114117030196981770}
+  m_Layer: 13
+  m_Name: Content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4037744853198614
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1248782384743662}
+  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: 4206632758237206}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4066601245629192
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1254073262689706}
+  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: 4575768741269198}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4071769880680478
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1762193954209658}
+  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: 4433739508582778}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4206632758237206
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1758375931987610}
+  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:
+  - {fileID: 4037744853198614}
+  - {fileID: 4217041274338078}
+  m_Father: {fileID: 4398838867240558}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4217041274338078
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1241873201962140}
+  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: 4206632758237206}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4293440044801054
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1754601739755794}
+  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: 4433739508582778}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4297914080160454
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1032159192978922}
+  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:
+  - {fileID: 4732493632968322}
+  m_Father: {fileID: 4556333682342860}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4371497924636452
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1026831273029750}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -540.1029, y: -960, z: 0}
+  m_LocalScale: {x: 3.2933104, y: 3.2933104, z: 3.2933104}
+  m_Children: []
+  m_Father: {fileID: 224081640801367952}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4398838867240558
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1126229994876210}
+  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:
+  - {fileID: 4206632758237206}
+  - {fileID: 4575768741269198}
+  - {fileID: 4556333682342860}
+  - {fileID: 4611407937758974}
+  - {fileID: 4773110821741150}
+  - {fileID: 224081640801367952}
+  - {fileID: 4433739508582778}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4424099435905634
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1291266011657054}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -18.677399, y: 12.257265, z: 21.646572}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4433739508582778}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4433739508582778
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1054680411362858}
+  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:
+  - {fileID: 4293440044801054}
+  - {fileID: 4656917868505632}
+  - {fileID: 4498883874471910}
+  - {fileID: 4071769880680478}
+  - {fileID: 4424099435905634}
+  m_Father: {fileID: 4398838867240558}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4498883874471910
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1196803668908240}
+  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: 4433739508582778}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4540409060560038
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1951169999643154}
+  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: 4773110821741150}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!4 &4556333682342860
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1717271500150796}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 10, y: 10, z: 10}
+  m_Children:
+  - {fileID: 4297914080160454}
+  m_Father: {fileID: 4398838867240558}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4575768741269198
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1842844187067146}
+  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:
+  - {fileID: 4066601245629192}
+  m_Father: {fileID: 4398838867240558}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4611407937758974
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1501223518553430}
+  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: 4398838867240558}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4656917868505632
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1575052347475214}
+  m_LocalRotation: {x: 0, y: 0.2588191, z: 0, w: 0.9659258}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4433739508582778}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 30, z: 0}
+--- !u!4 &4732493632968322
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1222970874348568}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1.5, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4297914080160454}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4773110821741150
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1006237342195936}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 125, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4540409060560038}
+  m_Father: {fileID: 4398838867240558}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!20 &20207340915113334
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1006237342195936}
+  m_Enabled: 0
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1500
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 28672
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!20 &20563867695608054
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1254073262689706}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294962687
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!20 &20827335008578454
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1951169999643154}
+  m_Enabled: 0
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1500
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: 1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 28672
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!23 &23499464606879878
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1032159192978922}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23668144652318756
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1222970874348568}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33541455350113034
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1222970874348568}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33756013026701938
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1032159192978922}
+  m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!81 &81736885227108002
+AudioListener:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1254073262689706}
+  m_Enabled: 1
+--- !u!114 &114034058803695428
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1718382477171300}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 497aab1329e0f47c38b384b00b84a40b, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114066118657417728
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1954841188764206}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!114 &114070267486252798
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1842844187067146}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9acf0b0c890fb9040b2f5da53bf54d86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 20563867695608054}
+  m_PlaneDetection: 1
+  m_LightEstimation: 0
+  m_PointCloud: 1
+  m_BackgroundRendering: 1
+  m_Scale: 1
+  pointOfInterest: {x: 0, y: 0, z: 0}
+--- !u!114 &114075237480207278
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1248782384743662}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: bbcd5647f1aee491f8e9d70d52f4ab40, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _target: {fileID: 4066601245629192}
+  _color: {r: 1, g: 0, b: 0, a: 0.684}
+  _height: 1
+  _lineWidth: 0.1
+  _updateInterval: 0.33
+  _minDistance: 0.33
+--- !u!114 &114117030196981770
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1954841188764206}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114157643757866260
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1344306411233046}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &114180527757813378
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1026831273029750}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!114 &114209522653530954
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1501223518553430}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b000a4c373a2e470986a96ce9dba73ed, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _transform: {fileID: 4611407937758974}
+  _maxSamples: 10
+  _ignoreAngleThreshold: 5
+  _lerpSpeed: 0.5
+--- !u!114 &114228240162962262
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1178985921307962}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114244536143971478
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1445033978766774}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114317137556884618}
+  toggleTransition: 1
+  graphic: {fileID: 114933877837081028}
+  m_Group: {fileID: 114672132124294340}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 20207340915113334}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: AdjustLineWidth
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: AdjustLineWidth
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 20827335008578454}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 0
+--- !u!114 &114248040683389324
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1363072886392370}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114317137556884618
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1932736277767640}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114322619296701908
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1842844187067146}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 562a9fe49bfc2418099790a804f22711, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114322878834390636
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1344306411233046}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114333754952353818
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1758547014218168}
+  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: 1
+  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: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: AR
+--- !u!114 &114348550760251274
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1006237342195936}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ade537fc62d5c974cb84efe75fbc9f08, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 20207340915113334}
+  _locationProvider: {fileID: 114534703135107386}
+--- !u!114 &114369357638340448
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1718382477171300}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114034058803695428}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 114694595188886814}
+        m_MethodName: ToggleMenu
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114379528608872606
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1818201347452688}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.2352941, g: 0.2352941, b: 0.2352941, a: 0.803}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114385603666414974
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1648658797620494}
+  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: 1
+  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: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Map
+--- !u!114 &114427239951516970
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1575052347475214}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 60712efc3153a4819b0c79437175846d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 1
+  _autoFireEvent: 1
+  _updateInterval: 0.1
+  _sendEvent: 0
+  _latitudeLongitude: 37.784179, -122.401583
+  _targetTransform: {fileID: 4656917868505632}
+--- !u!114 &114445513930812180
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1126229994876210}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 36d7ad32f43dd40b99362ede5c2a1ce6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114456134194806508
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1842844187067146}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3a6c9235e73bea042bda6b2c0539ad63, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 20563867695608054}
+  m_PlaneDetection: 1
+  m_LightEstimation: 0
+  m_PointCloud: 1
+  m_BackgroundRendering: 1
+  m_Scale: 1
+  pointOfInterest: {x: 0, y: 0, z: 0}
+  m_SendVideo: 1
+--- !u!114 &114462215469190774
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1809517943755104}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.08823532, g: 0.08823532, b: 0.08823532, a: 0.897}
+  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!114 &114487554489781776
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1178985921307962}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 7
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114501081218337696
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1754601739755794}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a38712e93231418a84665190b8473d0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _desiredAccuracyInMeters: 5
+  _updateDistanceInMeters: 5
+  _updateTimeInMilliSeconds: 1000
+  _userHeadingSmoothing: {fileID: 0}
+  _deviceOrientationSmoothing: {fileID: 0}
+  _editorDebuggingOnly:
+    _mockUnityInputLocation: 0
+    _locationLogFile: {fileID: 0}
+--- !u!114 &114505819494751106
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1020282897603100}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: New Text
+--- !u!114 &114526260344566362
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1809517943755104}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 224538845371792742}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 2
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 224174594969998924}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_HorizontalScrollbarVisibility: 1
+  m_VerticalScrollbarVisibility: 2
+  m_HorizontalScrollbarSpacing: -3
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114534703135107386
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1762193954209658}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a034c4eeb3293418aab101c1895844a4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 0
+  _updateInterval: 1
+  _sendEvent: 0
+  _targetTransform: {fileID: 4071769880680478}
+--- !u!114 &114561320498945516
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1196803668908240}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6b5c815d91f9d4c3690891f3ed4c3162, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 0
+  _updateInterval: 2
+  _sendEvent: 0
+  _latitudeLongitude:
+  - 37.784179, -122.401583
+  - 37.8045, -122.2714
+  - 37.2751, -121.8261
+  _heading: 0
+--- !u!114 &114566166046457490
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1431752440312072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114569234735936040
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1842844187067146}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 37ab97bfa6689994caf97070bd3a37ba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PointCloudParticlePrefab: {fileID: 198314236125653888, guid: 8049ec78edc7a450ea776237de46d3f8,
+    type: 2}
+  m_MaxPointsToShow: 100
+  m_ParticleSize: 0.04
+--- !u!114 &114586010857579524
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1841042248707400}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.22794116, g: 0.55273825, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 100
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: 'lorem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsum
+
+    orem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsumorem ipsum
+
+    lorem ipsum'
+--- !u!114 &114598770751876578
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1241873201962140}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: bbcd5647f1aee491f8e9d70d52f4ab40, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _target: {fileID: 4839101652309982, guid: b4bd3e2d5448a4186aef149d1db69811, type: 2}
+  _color: {r: 0, g: 0, b: 1, a: 0.684}
+  _height: 1
+  _lineWidth: 0.1
+  _updateInterval: 0.33
+  _minDistance: 0.33
+--- !u!114 &114660602080485126
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1026831273029750}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &114662484383918982
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1842844187067146}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5d15554ba01a81b43836c6e4770c204f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PlanePrefab: {fileID: 1372998203143648, guid: 2c9427dfd106e4aefa08705ac5020bf9,
+    type: 2}
+  m_PlaneLayer: 12
+--- !u!114 &114672132124294340
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1178985921307962}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1184210157, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_AllowSwitchOff: 0
+--- !u!114 &114694595188886814
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1431752440312072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c0d8056b5e53e42499659c2c1007be20, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _toggleButton: {fileID: 114369357638340448}
+  _menu: {fileID: 1384365039740308}
+  _logText: {fileID: 114586010857579524}
+  _logScroll: {fileID: 114526260344566362}
+--- !u!114 &114723990881919420
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1717271500150796}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4bb39d89f6f3742418be7c93b4259637, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 114793276287641354}
+  _positionFollowFactor: 30
+  _useTransformLocationProvider: 0
+--- !u!114 &114780227167264288
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1291266011657054}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d3d557417079b1446999d2d86ff71dfb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _updateDistanceInMeters: 0
+  _updateTimeInMilliSeconds: 500
+--- !u!114 &114782240314887154
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1054680411362858}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b55f37f9a6f7e44f7bb35e6bc3863847, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  mapManager: {fileID: 114793276287641354}
+  _deviceLocationProviderUnity: {fileID: 114501081218337696}
+  _deviceLocationProviderAndroid: {fileID: 114780227167264288}
+  _editorLocationProvider: {fileID: 114427239951516970}
+  _transformLocationProvider: {fileID: 114534703135107386}
+  _dontDestroyOnLoad: 0
+--- !u!114 &114793276287641354
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1501223518553430}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 48.20833, 16.373064
+      zoom: 16
+    extentOptions:
+      extentType: 1
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 0
+      unityTileSize: 100
+    loadingTexture: {fileID: 0}
+    tileMaterial: {fileID: 0}
+  _initializeOnStart: 0
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 1
+        layerId: 12
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - country_label
+        - housenum_label
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 1
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Streets
+          Id: mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: buildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 1
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 0
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 0
+          texturingType: 0
+          materials:
+          - Materials:
+            - {fileID: 2100000, guid: 65fb5c4ce7e4e4e1bbd063bbb561cde7, type: 2}
+          - Materials:
+            - {fileID: 2100000, guid: 65fb5c4ce7e4e4e1bbd063bbb561cde7, type: 2}
+          atlasInfo: {fileID: 0}
+          lightStyleOpacity: 1
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 1, g: 1, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 2100000, guid: 65fb5c4ce7e4e4e1bbd063bbb561cde7, type: 2}
+            - Materials:
+              - {fileID: 2100000, guid: 65fb5c4ce7e4e4e1bbd063bbb561cde7, type: 2}
+            atlasInfo: {fileID: 0}
+            colorPalette: {fileID: 0}
+        performanceOptions:
+          isEnabled: 1
+          entityPerCoroutine: 20
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 0
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+  _previewOptions:
+    isPreviewEnabled: 0
+--- !u!114 &114870044669387426
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1563246313159440}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114905612332951882
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1238540106203772}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.5661765, g: 0.5661765, b: 0.5661765, a: 0.809}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114933877837081028
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1552414751861060}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114943573031337680
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1818201347452688}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114905612332951882}
+  m_HandleRect: {fileID: 224863051437349868}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114946683303070284
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1060720557627808}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  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: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: New Text
+--- !u!114 &114953863716789182
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1828778704506490}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114870044669387426}
+  toggleTransition: 1
+  graphic: {fileID: 114248040683389324}
+  m_Group: {fileID: 114672132124294340}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 1
+--- !u!114 &114966110212896998
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1501223518553430}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f5e4bbf13fb4b4b8185ca3a5fa3d140e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _arPositionReference: {fileID: 4066601245629192}
+  _map: {fileID: 114793276287641354}
+  _useAutomaticSynchronizationBias: 1
+  _alignmentStrategy: {fileID: 114209522653530954}
+  _synchronizationBias: 1
+  _arTrustRange: 10
+  _minimumDeltaDistance: 3
+  _minimumDesiredAccuracy: 5
+--- !u!114 &114977505216368980
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1431752440312072}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 1080, y: 1920}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 1
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114984962633517694
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1501223518553430}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 96f0fa82f89d64bb9a6524c72d538179, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 114793276287641354}
+--- !u!120 &120278583862003382
+LineRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1248782384743662}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 2
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 005546b882afb44b593a9179506c4b9b, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Positions: []
+  m_Parameters:
+    serializedVersion: 2
+    widthMultiplier: 1
+    widthCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    colorGradient:
+      serializedVersion: 2
+      key0: {r: 1, g: 1, b: 1, a: 1}
+      key1: {r: 1, g: 1, b: 1, a: 1}
+      key2: {r: 0, g: 0, b: 0, a: 0}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 0
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 0
+      atime3: 0
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    numCornerVertices: 6
+    numCapVertices: 6
+    alignment: 0
+    textureMode: 0
+    generateLightingData: 0
+  m_UseWorldSpace: 1
+  m_Loop: 0
+--- !u!120 &120347795974795586
+LineRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1241873201962140}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 2
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 005546b882afb44b593a9179506c4b9b, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Positions: []
+  m_Parameters:
+    serializedVersion: 2
+    widthMultiplier: 1
+    widthCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    colorGradient:
+      serializedVersion: 2
+      key0: {r: 1, g: 1, b: 1, a: 1}
+      key1: {r: 1, g: 1, b: 1, a: 1}
+      key2: {r: 0, g: 0, b: 0, a: 0}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 0
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 0
+      atime3: 0
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    numCornerVertices: 6
+    numCapVertices: 6
+    alignment: 0
+    textureMode: 0
+    generateLightingData: 0
+  m_UseWorldSpace: 0
+  m_Loop: 0
+--- !u!124 &124161315823398568
+Behaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1254073262689706}
+  m_Enabled: 1
+--- !u!135 &135455655814761912
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1222970874348568}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!136 &136943710434523420
+CapsuleCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1032159192978922}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  m_Radius: 0.5
+  m_Height: 2
+  m_Direction: 1
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!222 &222002978898735222
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1648658797620494}
+--- !u!222 &222076795976495168
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1818201347452688}
+--- !u!222 &222082597487885278
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1552414751861060}
+--- !u!222 &222199415719617274
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1363072886392370}
+--- !u!222 &222199744842143936
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1932736277767640}
+--- !u!222 &222219737344302182
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1718382477171300}
+--- !u!222 &222312421531833340
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1563246313159440}
+--- !u!222 &222416207761059756
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1238540106203772}
+--- !u!222 &222466090723281882
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1178985921307962}
+--- !u!222 &222595825306822756
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1344306411233046}
+--- !u!222 &222632817942315904
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1809517943755104}
+--- !u!222 &222638780990805674
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1020282897603100}
+--- !u!222 &222670975982531310
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1758547014218168}
+--- !u!222 &222981915993603060
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1841042248707400}
+--- !u!222 &222983694371951830
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1060720557627808}
+--- !u!223 &223501018150351164
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1431752440312072}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224057100145208284
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1049258924053604}
+  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:
+  - {fileID: 224863051437349868}
+  m_Father: {fileID: 224157022221560580}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224068846814596666
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1841042248707400}
+  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: 224538845371792742}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 1872.167, y: -260.04514}
+  m_SizeDelta: {x: 3744.334, y: 520.0903}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224081640801367952
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1431752440312072}
+  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_Children:
+  - {fileID: 224820545371688642}
+  - {fileID: 224264426890920082}
+  - {fileID: 224098336211897864}
+  - {fileID: 4371497924636452}
+  m_Father: {fileID: 4398838867240558}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224098336211897864
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1718382477171300}
+  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: 224081640801367952}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 20, y: 20}
+  m_SizeDelta: {x: 140, y: 140}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224111128021112472
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1648658797620494}
+  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: 224400791880857248}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 30, y: 0}
+  m_SizeDelta: {x: -60, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224157022221560580
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1818201347452688}
+  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:
+  - {fileID: 224057100145208284}
+  m_Father: {fileID: 224648955962837492}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -0.00012207031}
+  m_SizeDelta: {x: 100, y: 0}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!224 &224174594969998924
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1344306411233046}
+  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:
+  - {fileID: 224538845371792742}
+  m_Father: {fileID: 224648955962837492}
+  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: 50, y: -50}
+  m_SizeDelta: {x: -100, y: -100}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224216094379521506
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1828778704506490}
+  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:
+  - {fileID: 224369461098849156}
+  - {fileID: 224570576447916034}
+  m_Father: {fileID: 224820545371688642}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 160, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224220226838087636
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1020282897603100}
+  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: 224538845371792742}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 1872.167, y: -528.7584}
+  m_SizeDelta: {x: 3744.334, y: 17.336342}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224220395760158998
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1932736277767640}
+  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:
+  - {fileID: 224266318849671242}
+  m_Father: {fileID: 224400791880857248}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224264426890920082
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1384365039740308}
+  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:
+  - {fileID: 224648955962837492}
+  m_Father: {fileID: 224081640801367952}
+  m_RootOrder: 1
+  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!224 &224266318849671242
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1552414751861060}
+  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: 224220395760158998}
+  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.000030517578, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224369461098849156
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1563246313159440}
+  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:
+  - {fileID: 224858707766488898}
+  m_Father: {fileID: 224216094379521506}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224400791880857248
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1445033978766774}
+  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:
+  - {fileID: 224220395760158998}
+  - {fileID: 224111128021112472}
+  m_Father: {fileID: 224820545371688642}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 160, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224538845371792742
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1954841188764206}
+  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:
+  - {fileID: 224068846814596666}
+  - {fileID: 224220226838087636}
+  - {fileID: 224625735978816442}
+  m_Father: {fileID: 224174594969998924}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 554.763}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224570576447916034
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1758547014218168}
+  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: 224216094379521506}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 30, y: 0}
+  m_SizeDelta: {x: -60, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224625735978816442
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1060720557627808}
+  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: 224538845371792742}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 1872.167, y: -546.0948}
+  m_SizeDelta: {x: 3744.334, y: 17.336342}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224648955962837492
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1809517943755104}
+  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:
+  - {fileID: 224174594969998924}
+  - {fileID: 224157022221560580}
+  m_Father: {fileID: 224264426890920082}
+  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!224 &224820545371688642
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1178985921307962}
+  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:
+  - {fileID: 224216094379521506}
+  - {fileID: 224400791880857248}
+  m_Father: {fileID: 224081640801367952}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: -20, y: 0}
+  m_SizeDelta: {x: 140, y: 200}
+  m_Pivot: {x: 1, y: 0}
+--- !u!224 &224858707766488898
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1363072886392370}
+  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: 224369461098849156}
+  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.000030517578, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224863051437349868
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1238540106203772}
+  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: 224057100145208284}
+  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: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKit.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKit.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..67117db2b70bef3ade682bd48d7492b245b95e10
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKit.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 35e76f6e52f5c4252a0b703cc2019a37
+timeCreated: 1525997995
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKitManual.prefab b/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKitManual.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..bb275f25960e254734281e8ddc76f8735d2f3313
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKitManual.prefab
@@ -0,0 +1,3187 @@
+%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: 1223338721080524}
+  m_IsPrefabParent: 1
+--- !u!1 &1016906019406306
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4768119792293640}
+  - component: {fileID: 114426609730744774}
+  m_Layer: 0
+  m_Name: Editor
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1021842358055470
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4848191015031668}
+  - component: {fileID: 114244429633518968}
+  m_Layer: 0
+  m_Name: LocationProvider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1031123039652802
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224729655766481776}
+  - component: {fileID: 222665908238260790}
+  - component: {fileID: 114801058966721790}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1038423202518466
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224538849428861478}
+  - component: {fileID: 222317649434586722}
+  - component: {fileID: 114572769024866930}
+  - component: {fileID: 114476736826187680}
+  m_Layer: 13
+  m_Name: ToggleConsoleButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1079005196470230
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4970638097776312}
+  - component: {fileID: 20984443180311908}
+  - component: {fileID: 124117175439983202}
+  - component: {fileID: 81619029946661228}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1095227698027946
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224777078246774372}
+  - component: {fileID: 222474029350582412}
+  - component: {fileID: 114206396886723614}
+  m_Layer: 5
+  m_Name: Background
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1100855902872606
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4829035876730460}
+  m_Layer: 13
+  m_Name: MapHolder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1104366894316722
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224061966479787786}
+  - component: {fileID: 222777016159712684}
+  - component: {fileID: 114790934900971990}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1145197711212452
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224139934747863668}
+  - component: {fileID: 114746004446994662}
+  m_Layer: 5
+  m_Name: MapCameraToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1147624891685620
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4318433990908874}
+  - component: {fileID: 20444653735010686}
+  m_Layer: 14
+  m_Name: DebugPathCamera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1179204757201024
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4250953649661958}
+  - component: {fileID: 114321575131809240}
+  m_Layer: 0
+  m_Name: Device
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1181412448047392
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4843140369310270}
+  - component: {fileID: 114611718048448722}
+  - component: {fileID: 114380213336383692}
+  - component: {fileID: 114900558698345534}
+  m_Layer: 12
+  m_Name: ArAlignedMap
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1182568337033022
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4615192971760460}
+  - component: {fileID: 114576055068353628}
+  m_Layer: 0
+  m_Name: EditorLocationArray
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1186184274925132
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224644244424402882}
+  - component: {fileID: 223977603996485232}
+  - component: {fileID: 114728352423376978}
+  - component: {fileID: 114678340464196988}
+  - component: {fileID: 114352928594999076}
+  m_Layer: 5
+  m_Name: DebugCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1208262710783044
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224206254912136082}
+  m_Layer: 13
+  m_Name: Sliding Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1216701446581504
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4608431748332100}
+  - component: {fileID: 114530483919057062}
+  - component: {fileID: 114636114528946684}
+  - component: {fileID: 114794934887930184}
+  - component: {fileID: 114513861110306590}
+  m_Layer: 0
+  m_Name: AR Root
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1223338721080524
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4137092354335162}
+  - component: {fileID: 114256996745129628}
+  m_Layer: 0
+  m_Name: WorldAlignmentKitManual
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1285726684634582
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224454331692179822}
+  - component: {fileID: 114618326382921622}
+  - component: {fileID: 114359886008906806}
+  m_Layer: 13
+  m_Name: Content
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1353068318945616
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4191892821706968}
+  - component: {fileID: 114190439000147688}
+  m_Layer: 13
+  m_Name: ARPlayer
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1394549663325396
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224901755482273466}
+  - component: {fileID: 114827702687973176}
+  - component: {fileID: 222385424220053484}
+  - component: {fileID: 114155826314091538}
+  m_Layer: 13
+  m_Name: Viewport
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1434969265261106
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224630475976998730}
+  - component: {fileID: 114417743792787472}
+  m_Layer: 5
+  m_Name: MainCameraToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1455075045532122
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224378596330851872}
+  - component: {fileID: 222599713157726872}
+  - component: {fileID: 114270113496719388}
+  m_Layer: 13
+  m_Name: Handle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1474545776862846
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224102286935181844}
+  - component: {fileID: 222281455293956118}
+  - component: {fileID: 114272323695659506}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1560615787876882
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224504258591104558}
+  - component: {fileID: 222092539316099112}
+  - component: {fileID: 114514153336793382}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1563066216858880
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4307086953367162}
+  - component: {fileID: 114766259369098578}
+  - component: {fileID: 114929048850889922}
+  - component: {fileID: 114311609772980694}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1590752353805440
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224404702293338862}
+  - component: {fileID: 114669160233290176}
+  - component: {fileID: 222911637326540542}
+  - component: {fileID: 114206208185154002}
+  m_Layer: 13
+  m_Name: Scroll View
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1596349041257754
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224611093529771328}
+  - component: {fileID: 222944218099602648}
+  - component: {fileID: 114699587516600040}
+  m_Layer: 5
+  m_Name: Checkmark
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1601525063213610
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4367254957742930}
+  - component: {fileID: 33299461716572868}
+  - component: {fileID: 135005065577476594}
+  - component: {fileID: 23794387386558976}
+  m_Layer: 13
+  m_Name: Sphere
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1604742847735902
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224989310935276084}
+  - component: {fileID: 222186947332122126}
+  - component: {fileID: 114612721424664184}
+  - component: {fileID: 114859839001171912}
+  - component: {fileID: 114627586577592046}
+  m_Layer: 5
+  m_Name: CameraSelection
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1612947957273414
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4349557910424820}
+  - component: {fileID: 114747216372664230}
+  m_Layer: 12
+  m_Name: LocationSpriteHolder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1625373416359834
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224235322875903532}
+  - component: {fileID: 222620621493366798}
+  - component: {fileID: 114395992923058694}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1679996720879262
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4663756649702800}
+  - component: {fileID: 114403751142239374}
+  m_Layer: 0
+  m_Name: Transform
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1704024170562176
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224296487731071632}
+  - component: {fileID: 222235976387772788}
+  - component: {fileID: 114129020778395082}
+  - component: {fileID: 114189458489962886}
+  m_Layer: 13
+  m_Name: Scrollbar
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1777249784642422
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4706187879254366}
+  - component: {fileID: 33477340223462480}
+  - component: {fileID: 136035967913179182}
+  - component: {fileID: 23048457757951150}
+  m_Layer: 13
+  m_Name: Cylinder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1810724813684390
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224802250046570790}
+  - component: {fileID: 222673946379395500}
+  - component: {fileID: 114352507125882642}
+  m_Layer: 13
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1839431639482300
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224788070948323178}
+  m_Layer: 13
+  m_Name: Console
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1850799091078814
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4759135182034192}
+  - component: {fileID: 114250988310879394}
+  m_Layer: 0
+  m_Name: AndroidDevice
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1884362143931574
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224480989584550856}
+  - component: {fileID: 222367507787417480}
+  - component: {fileID: 114742967615455560}
+  - component: {fileID: 114982344270729190}
+  m_Layer: 5
+  m_Name: RelocateButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1895992189635788
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4647322398637876}
+  - component: {fileID: 212816997134866164}
+  m_Layer: 12
+  m_Name: LocationSprite
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1946537835972330
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4741526828292236}
+  - component: {fileID: 20795818866744778}
+  - component: {fileID: 114470811286253972}
+  - component: {fileID: 114456539981091460}
+  - component: {fileID: 114074516880403076}
+  m_Layer: 12
+  m_Name: MapCamera
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1947617454222498
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224173168838023570}
+  - component: {fileID: 222485074706718862}
+  - component: {fileID: 114124162661914308}
+  m_Layer: 5
+  m_Name: HintText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4137092354335162
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1223338721080524}
+  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:
+  - {fileID: 4608431748332100}
+  - {fileID: 4741526828292236}
+  - {fileID: 4829035876730460}
+  - {fileID: 224644244424402882}
+  - {fileID: 4848191015031668}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4191892821706968
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1353068318945616}
+  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:
+  - {fileID: 4706187879254366}
+  - {fileID: 4367254957742930}
+  m_Father: {fileID: 4829035876730460}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4250953649661958
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1179204757201024}
+  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: 4848191015031668}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4307086953367162
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1563066216858880}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -540.1029, y: -960, z: 0}
+  m_LocalScale: {x: 3.2933104, y: 3.2933104, z: 3.2933104}
+  m_Children: []
+  m_Father: {fileID: 224644244424402882}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4318433990908874
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1147624891685620}
+  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: 4741526828292236}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!4 &4349557910424820
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1612947957273414}
+  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:
+  - {fileID: 4647322398637876}
+  m_Father: {fileID: 4741526828292236}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4367254957742930
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1601525063213610}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1.5, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4191892821706968}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4608431748332100
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1216701446581504}
+  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:
+  - {fileID: 4970638097776312}
+  m_Father: {fileID: 4137092354335162}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4615192971760460
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1182568337033022}
+  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: 4848191015031668}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4647322398637876
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1895992189635788}
+  m_LocalRotation: {x: -0, y: -0, z: 0.3826834, w: 0.9238796}
+  m_LocalPosition: {x: 0, y: 0, z: 0.30000308}
+  m_LocalScale: {x: 0.0050000055, y: 0.0050000036, z: 0.0050000036}
+  m_Children: []
+  m_Father: {fileID: 4349557910424820}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 45}
+--- !u!4 &4663756649702800
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1679996720879262}
+  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: 4848191015031668}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4706187879254366
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1777249784642422}
+  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: 4191892821706968}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4741526828292236
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1946537835972330}
+  m_LocalRotation: {x: 0, y: 0.7071068, z: -0.7071068, w: 0}
+  m_LocalPosition: {x: 0, y: 125, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4318433990908874}
+  - {fileID: 4349557910424820}
+  m_Father: {fileID: 4137092354335162}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 90, y: 180, z: 0}
+--- !u!4 &4759135182034192
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1850799091078814}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -18.677399, y: 12.257265, z: 21.646572}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4848191015031668}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4768119792293640
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1016906019406306}
+  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: 4848191015031668}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4829035876730460
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1100855902872606}
+  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:
+  - {fileID: 4191892821706968}
+  - {fileID: 4843140369310270}
+  m_Father: {fileID: 4137092354335162}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4843140369310270
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1181412448047392}
+  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: 4829035876730460}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4848191015031668
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1021842358055470}
+  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:
+  - {fileID: 4250953649661958}
+  - {fileID: 4768119792293640}
+  - {fileID: 4615192971760460}
+  - {fileID: 4663756649702800}
+  - {fileID: 4759135182034192}
+  m_Father: {fileID: 4137092354335162}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4970638097776312
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079005196470230}
+  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: 4608431748332100}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &20444653735010686
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1147624891685620}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1500
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: 1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 2048
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!20 &20795818866744778
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1946537835972330}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: -0.66
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1500
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 12289
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!20 &20984443180311908
+Camera:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079005196470230}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019608}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.1
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 100
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294964735
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!23 &23048457757951150
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1777249784642422}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23794387386558976
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1601525063213610}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 1f9f9c322fb5f4efeb40ada4f2f0c854, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33299461716572868
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1601525063213610}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33477340223462480
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1777249784642422}
+  m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!81 &81619029946661228
+AudioListener:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079005196470230}
+  m_Enabled: 1
+--- !u!114 &114074516880403076
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1946537835972330}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 106a5ebea20cc4d5ba78304a86ff60d6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 114611718048448722}
+  _button: {fileID: 114982344270729190}
+  _mapTransform: {fileID: 4843140369310270}
+--- !u!114 &114124162661914308
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1947617454222498}
+  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: 1
+  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: 300
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 10
+    m_MaxSize: 300
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Drag to pan and rotate the map.
+--- !u!114 &114129020778395082
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1704024170562176}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.2352941, g: 0.2352941, b: 0.2352941, a: 0.803}
+  m_RaycastTarget: 1
+  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: 10907, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114155826314091538
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1394549663325396}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114189458489962886
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1704024170562176}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114270113496719388}
+  m_HandleRect: {fileID: 224378596330851872}
+  m_Direction: 2
+  m_Value: 0
+  m_Size: 1
+  m_NumberOfSteps: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114190439000147688
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1353068318945616}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4bb39d89f6f3742418be7c93b4259637, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 114611718048448722}
+  _positionFollowFactor: 30
+  _useTransformLocationProvider: 1
+--- !u!114 &114206208185154002
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1590752353805440}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.08823532, g: 0.08823532, b: 0.08823532, a: 0.897}
+  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!114 &114206396886723614
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1095227698027946}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114244429633518968
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1021842358055470}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b55f37f9a6f7e44f7bb35e6bc3863847, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  mapManager: {fileID: 114611718048448722}
+  _deviceLocationProviderUnity: {fileID: 114321575131809240}
+  _deviceLocationProviderAndroid: {fileID: 114250988310879394}
+  _editorLocationProvider: {fileID: 114426609730744774}
+  _transformLocationProvider: {fileID: 114403751142239374}
+  _dontDestroyOnLoad: 0
+--- !u!114 &114250988310879394
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1850799091078814}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d3d557417079b1446999d2d86ff71dfb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _updateDistanceInMeters: 0
+  _updateTimeInMilliSeconds: 500
+--- !u!114 &114256996745129628
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1223338721080524}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 36d7ad32f43dd40b99362ede5c2a1ce6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114270113496719388
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1455075045532122}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.5661765, g: 0.5661765, b: 0.5661765, a: 0.809}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114272323695659506
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1474545776862846}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.13235295, g: 0.53326577, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: e6815c2eee0f94c98989f8461d8e33d4, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114311609772980694
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1563066216858880}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1327945023, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114321575131809240
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1179204757201024}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a38712e93231418a84665190b8473d0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _desiredAccuracyInMeters: 5
+  _updateDistanceInMeters: 5
+  _updateTimeInMilliSeconds: 1000
+  _userHeadingSmoothing: {fileID: 0}
+  _deviceOrientationSmoothing: {fileID: 0}
+  _editorDebuggingOnly:
+    _mockUnityInputLocation: 0
+    _locationLogFile: {fileID: 0}
+--- !u!114 &114352507125882642
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1810724813684390}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.22794116, g: 0.55273825, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 12800000, guid: bd1ea67ca2b5742d1a24fcbdc17c55e1, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 100
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: '<color=yellow>AR Plane Height: -1</color>
+
+    <color=yellow>AR Plane Height: 1</color>
+
+'
+--- !u!114 &114352928594999076
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186184274925132}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c0d8056b5e53e42499659c2c1007be20, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _toggleButton: {fileID: 114476736826187680}
+  _menu: {fileID: 1839431639482300}
+  _logText: {fileID: 114352507125882642}
+  _logScroll: {fileID: 114669160233290176}
+--- !u!114 &114359886008906806
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1285726684634582}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 1
+  m_ChildControlHeight: 1
+--- !u!114 &114380213336383692
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1181412448047392}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 96f0fa82f89d64bb9a6524c72d538179, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _map: {fileID: 114611718048448722}
+--- !u!114 &114395992923058694
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625373416359834}
+  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: 1
+  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: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Map
+--- !u!114 &114403751142239374
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1679996720879262}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a034c4eeb3293418aab101c1895844a4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 1
+  _sendEvent: 0
+  _targetTransform: {fileID: 4663756649702800}
+--- !u!114 &114417743792787472
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1434969265261106}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114206396886723614}
+  toggleTransition: 1
+  graphic: {fileID: 114790934900971990}
+  m_Group: {fileID: 114627586577592046}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 0}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 1
+--- !u!114 &114426609730744774
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1016906019406306}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 60712efc3153a4819b0c79437175846d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 0.1
+  _sendEvent: 0
+  _latitudeLongitude: 37.784179, -122.401583
+  _targetTransform: {fileID: 4768119792293640}
+--- !u!114 &114456539981091460
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1946537835972330}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 03c1176ef30154c3ba573bc281801fc6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _camera: {fileID: 20795818866744778}
+  _mapRoot: {fileID: 4843140369310270}
+  _mapHolder: {fileID: 4829035876730460}
+--- !u!114 &114470811286253972
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1946537835972330}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c5bd565fcbef74ea097c756caba72798, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _targetTransform: {fileID: 4970638097776312}
+--- !u!114 &114476736826187680
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1038423202518466}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114572769024866930}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 114352928594999076}
+        m_MethodName: ToggleMenu
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114513861110306590
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1216701446581504}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9acf0b0c890fb9040b2f5da53bf54d86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 20984443180311908}
+  m_PlaneDetection: 1
+  m_LightEstimation: 0
+  m_PointCloud: 1
+  m_BackgroundRendering: 1
+  m_Scale: 1
+  pointOfInterest: {x: 0, y: 0, z: 0}
+--- !u!114 &114514153336793382
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560615787876882}
+  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: 1
+  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: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 4
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: AR
+--- !u!114 &114530483919057062
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1216701446581504}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 37ab97bfa6689994caf97070bd3a37ba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PointCloudParticlePrefab: {fileID: 198314236125653888, guid: 8049ec78edc7a450ea776237de46d3f8,
+    type: 2}
+  m_MaxPointsToShow: 100
+  m_ParticleSize: 0.04
+--- !u!114 &114572769024866930
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1038423202518466}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: 497aab1329e0f47c38b384b00b84a40b, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114576055068353628
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1182568337033022}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6b5c815d91f9d4c3690891f3ed4c3162, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _accuracy: 5
+  _autoFireEvent: 1
+  _updateInterval: 2
+  _sendEvent: 0
+  _latitudeLongitude:
+  - 37.784179, -122.401583
+  - 37.8045, -122.2714
+  - 37.2751, -121.8261
+  _heading: 0
+--- !u!114 &114611718048448722
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1181412448047392}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cd961b1c9541a4cee99686069ecce852, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _options:
+    locationOptions:
+      latitudeLongitude: 37.784179, -122.401583
+      zoom: 16
+    extentOptions:
+      extentType: 1
+      defaultExtents:
+        cameraBoundsOptions:
+          camera: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+        rangeAroundCenterOptions:
+          west: 1
+          north: 1
+          east: 1
+          south: 1
+        rangeAroundTransformOptions:
+          targetTransform: {fileID: 0}
+          visibleBuffer: 0
+          disposeBuffer: 0
+    placementOptions:
+      placementType: 1
+      snapMapToZero: 0
+    scalingOptions:
+      scalingType: 1
+      unityTileSize: 100
+    loadingTexture: {fileID: 0}
+    tileMaterial: {fileID: 0}
+  _initializeOnStart: 1
+  _imagery:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Streets
+          Id: mapbox://styles/mapbox/streets-v10
+          Modified: 
+          UserName: 
+      rasterOptions:
+        useRetina: 0
+        useCompression: 0
+        useMipMap: 0
+  _terrain:
+    _layerProperty:
+      sourceType: 0
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: 
+          Id: mapbox.terrain-rgb
+          Modified: 
+          UserName: 
+      elevationLayerType: 0
+      requiredOptions:
+        exaggerationFactor: 1
+      colliderOptions:
+        addCollider: 0
+      modificationOptions:
+        sampleCount: 10
+        useRelativeHeight: 0
+        earthRadius: 1000
+      unityLayerOptions:
+        addToLayer: 0
+        layerId: 0
+      sideWallOptions:
+        isActive: 0
+        wallHeight: 10
+        wallMaterial: {fileID: 0}
+  _vectorData:
+    _layerProperty:
+      tileJsonData:
+        tileJSONLoaded: 0
+        LayerDisplayNames:
+        - admin
+        - aeroway
+        - airport_label
+        - barrier_line
+        - building
+        - country_label
+        - housenum_label
+        - landuse
+        - landuse_overlay
+        - marine_label
+        - motorway_junction
+        - mountain_peak_label
+        - place_label
+        - poi_label
+        - rail_station_label
+        - road
+        - road_label
+        - state_label
+        - water
+        - water_label
+        - waterway
+        - waterway_label
+      _sourceType: 1
+      sourceOptions:
+        isActive: 1
+        layerSource:
+          Name: Mapbox Streets v7
+          Id: mapbox.mapbox-streets-v7
+          Modified: 
+          UserName: 
+      useOptimizedStyle: 0
+      optimizedStyle:
+        Name: 
+        Id: 
+        Modified: 
+        UserName: 
+      performanceOptions:
+        isEnabled: 1
+        entityPerCoroutine: 20
+      vectorSubLayers:
+      - coreOptions:
+          sourceId: 
+          isActive: 1
+          sublayerName: buildings
+          geometryType: 2
+          layerName: building
+          snapToTerrain: 1
+          combineMeshes: 0
+        lineGeometryOptions:
+          Width: 1
+          MiterLimit: 0.2
+          RoundLimit: 1.05
+          JoinType: 1
+          CapType: 1
+        filterOptions:
+          _selectedLayerName: building
+          filters: []
+          combinerType: 0
+        extrusionOptions:
+          _selectedLayerName: 
+          extrusionType: 1
+          extrusionGeometryType: 0
+          propertyName: height
+          propertyDescription: 
+          minimumHeight: 0
+          maximumHeight: 1
+          extrusionScaleFactor: 1
+        colliderOptions:
+          colliderType: 0
+        materialOptions:
+          style: 2
+          texturingType: 0
+          materials:
+          - Materials:
+            - {fileID: 0}
+          - Materials:
+            - {fileID: 0}
+          atlasInfo: {fileID: 11400000, guid: c422f39ca8fe566479230c87805b3301, type: 2}
+          lightStyleOpacity: 0.5
+          darkStyleOpacity: 1
+          colorStyleColor: {r: 0.1764706, g: 0.8509805, b: 1, a: 1}
+          samplePalettes: 0
+          colorPalette: {fileID: 0}
+          customStyleOptions:
+            texturingType: 0
+            materials:
+            - Materials:
+              - {fileID: 0}
+            - Materials:
+              - {fileID: 0}
+            atlasInfo: {fileID: 11400000, guid: 414754d7155df47beb52ca117a774f21,
+              type: 2}
+            colorPalette: {fileID: 11400000, guid: 57bdfa37edf7a4f7f999d19443497554,
+              type: 2}
+        performanceOptions:
+          isEnabled: 0
+          entityPerCoroutine: 0
+        honorBuildingIdSetting: 0
+        buildingsWithUniqueIds: 1
+        moveFeaturePositionTo: 0
+        MeshModifiers: []
+        GoModifiers: []
+        presetFeatureType: 0
+        _maskValue: 0
+        selectedTypes: 
+      locationPrefabList: []
+  _tileProvider: {fileID: 0}
+  _previewOptions:
+    isPreviewEnabled: 0
+--- !u!114 &114612721424664184
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1604742847735902}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114618326382921622
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1285726684634582}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!114 &114627586577592046
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1604742847735902}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1184210157, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_AllowSwitchOff: 0
+--- !u!114 &114636114528946684
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1216701446581504}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5d15554ba01a81b43836c6e4770c204f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PlanePrefab: {fileID: 1372998203143648, guid: 2c9427dfd106e4aefa08705ac5020bf9,
+    type: 2}
+  m_PlaneLayer: 12
+--- !u!114 &114669160233290176
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1590752353805440}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 224454331692179822}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 2
+  m_Elasticity: 0.1
+  m_Inertia: 1
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 224901755482273466}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_HorizontalScrollbarVisibility: 1
+  m_VerticalScrollbarVisibility: 2
+  m_HorizontalScrollbarSpacing: -3
+  m_VerticalScrollbarSpacing: -3
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &114678340464196988
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186184274925132}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114699587516600040
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1596349041257754}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114728352423376978
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186184274925132}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 1080, y: 1920}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 1
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114742967615455560
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1884362143931574}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 21300000, guid: f04f7faa5cfd8444a9b61e426135725f, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114746004446994662
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1145197711212452}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114801058966721790}
+  toggleTransition: 1
+  graphic: {fileID: 114699587516600040}
+  m_Group: {fileID: 114627586577592046}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 20795818866744778}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: AdjustLineWidth
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 0}
+        m_MethodName: AdjustLineWidth
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+      - m_Target: {fileID: 20444653735010686}
+        m_MethodName: set_enabled
+        m_Mode: 0
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 0
+--- !u!114 &114747216372664230
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1612947957273414}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 880eb561c676e4042822af6e6a25ece6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _targetTransform: {fileID: 4970638097776312}
+--- !u!114 &114766259369098578
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1563066216858880}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!114 &114790934900971990
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1104366894316722}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10901, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114794934887930184
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1216701446581504}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 562a9fe49bfc2418099790a804f22711, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114801058966721790
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1031123039652802}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114827702687973176
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1394549663325396}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 0
+--- !u!114 &114859839001171912
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1604742847735902}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 7
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114900558698345534
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1181412448047392}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6291543b44ad64b8da5a790c4ac342bd, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  _mapRoot: {fileID: 4829035876730460}
+--- !u!114 &114929048850889922
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1563066216858880}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0
+--- !u!114 &114982344270729190
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1884362143931574}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    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: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114742967615455560}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!124 &124117175439983202
+Behaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079005196470230}
+  m_Enabled: 1
+--- !u!135 &135005065577476594
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1601525063213610}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!136 &136035967913179182
+CapsuleCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1777249784642422}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  m_Radius: 0.5
+  m_Height: 2
+  m_Direction: 1
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!212 &212816997134866164
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1895992189635788}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: e6815c2eee0f94c98989f8461d8e33d4, type: 3}
+  m_Color: {r: 1, g: 0, b: 0, a: 0.509}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 0.2, y: 0.2}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+--- !u!222 &222092539316099112
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560615787876882}
+--- !u!222 &222186947332122126
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1604742847735902}
+--- !u!222 &222235976387772788
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1704024170562176}
+--- !u!222 &222281455293956118
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1474545776862846}
+--- !u!222 &222317649434586722
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1038423202518466}
+--- !u!222 &222367507787417480
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1884362143931574}
+--- !u!222 &222385424220053484
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1394549663325396}
+--- !u!222 &222474029350582412
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1095227698027946}
+--- !u!222 &222485074706718862
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1947617454222498}
+--- !u!222 &222599713157726872
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1455075045532122}
+--- !u!222 &222620621493366798
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625373416359834}
+--- !u!222 &222665908238260790
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1031123039652802}
+--- !u!222 &222673946379395500
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1810724813684390}
+--- !u!222 &222777016159712684
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1104366894316722}
+--- !u!222 &222911637326540542
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1590752353805440}
+--- !u!222 &222944218099602648
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1596349041257754}
+--- !u!223 &223977603996485232
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186184274925132}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224061966479787786
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1104366894316722}
+  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: 224777078246774372}
+  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.000030517578, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224102286935181844
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1474545776862846}
+  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: 224480989584550856}
+  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: -6.4000015, y: -2.9}
+  m_SizeDelta: {x: -83.3, y: -35.2}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224139934747863668
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1145197711212452}
+  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:
+  - {fileID: 224729655766481776}
+  - {fileID: 224235322875903532}
+  m_Father: {fileID: 224989310935276084}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 70, y: -160}
+  m_SizeDelta: {x: 160, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224173168838023570
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1947617454222498}
+  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: 224644244424402882}
+  m_RootOrder: 5
+  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: -400.8318}
+  m_SizeDelta: {x: -249.70001, y: -1800.7}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224206254912136082
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1208262710783044}
+  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:
+  - {fileID: 224378596330851872}
+  m_Father: {fileID: 224296487731071632}
+  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: -20, y: -20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224235322875903532
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1625373416359834}
+  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: 224139934747863668}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 30, y: 0}
+  m_SizeDelta: {x: -60, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224296487731071632
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1704024170562176}
+  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:
+  - {fileID: 224206254912136082}
+  m_Father: {fileID: 224404702293338862}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -0.00012207031}
+  m_SizeDelta: {x: 100, y: 0}
+  m_Pivot: {x: 1, y: 0.5}
+--- !u!224 &224378596330851872
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1455075045532122}
+  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: 224206254912136082}
+  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: 20, y: 20}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224404702293338862
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1590752353805440}
+  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:
+  - {fileID: 224901755482273466}
+  - {fileID: 224296487731071632}
+  m_Father: {fileID: 224788070948323178}
+  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!224 &224454331692179822
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1285726684634582}
+  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:
+  - {fileID: 224802250046570790}
+  m_Father: {fileID: 224901755482273466}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -0.000061035156}
+  m_SizeDelta: {x: 0, y: 632.3156}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224480989584550856
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1884362143931574}
+  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:
+  - {fileID: 224102286935181844}
+  m_Father: {fileID: 224644244424402882}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: -100, y: 100}
+  m_SizeDelta: {x: 155, y: 120}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224504258591104558
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1560615787876882}
+  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: 224630475976998730}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 30, y: 0}
+  m_SizeDelta: {x: -60, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224538849428861478
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1038423202518466}
+  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: 224644244424402882}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 100, y: 100}
+  m_SizeDelta: {x: 155, y: 120}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224611093529771328
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1596349041257754}
+  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: 224729655766481776}
+  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.000030517578, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224630475976998730
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1434969265261106}
+  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:
+  - {fileID: 224777078246774372}
+  - {fileID: 224504258591104558}
+  m_Father: {fileID: 224989310935276084}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 70, y: -60}
+  m_SizeDelta: {x: 160, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224644244424402882
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186184274925132}
+  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_Children:
+  - {fileID: 224989310935276084}
+  - {fileID: 224788070948323178}
+  - {fileID: 224538849428861478}
+  - {fileID: 4307086953367162}
+  - {fileID: 224480989584550856}
+  - {fileID: 224173168838023570}
+  m_Father: {fileID: 4137092354335162}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224729655766481776
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1031123039652802}
+  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:
+  - {fileID: 224611093529771328}
+  m_Father: {fileID: 224139934747863668}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224777078246774372
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1095227698027946}
+  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:
+  - {fileID: 224061966479787786}
+  m_Father: {fileID: 224630475976998730}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 80, y: 80}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224788070948323178
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1839431639482300}
+  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:
+  - {fileID: 224404702293338862}
+  m_Father: {fileID: 224644244424402882}
+  m_RootOrder: 1
+  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!224 &224802250046570790
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1810724813684390}
+  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: 224454331692179822}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 490.10297, y: -316.1578}
+  m_SizeDelta: {x: 980.20593, y: 632.3156}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224901755482273466
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1394549663325396}
+  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:
+  - {fileID: 224454331692179822}
+  m_Father: {fileID: 224404702293338862}
+  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: 50, y: -50}
+  m_SizeDelta: {x: -100, y: -100}
+  m_Pivot: {x: 0, y: 1}
+--- !u!224 &224989310935276084
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1604742847735902}
+  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:
+  - {fileID: 224630475976998730}
+  - {fileID: 224139934747863668}
+  m_Father: {fileID: 224644244424402882}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: -20, y: 0}
+  m_SizeDelta: {x: 140, y: 200}
+  m_Pivot: {x: 1, y: 0}
diff --git a/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKitManual.prefab.meta b/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKitManual.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d460d83d2ef1be8e6218ce4df83928036eaf3153
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Prefabs/WorldAlignmentKitManual.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 840fafd579d474d53ba0a6b55a3f7a89
+timeCreated: 1525997984
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts.meta b/T3-Unity/Assets/MapboxAR/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8215488135dca88bfea72c88fdb392e139bd5741
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ea66fe3d334074d8daf7e64a97610b8d
+folderAsset: yes
+timeCreated: 1503076433
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/Camera.meta b/T3-Unity/Assets/MapboxAR/Scripts/Camera.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1b71df526313af007aceb43611b69f5ea9ae9a38
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/Camera.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 18ff52a64179444d2bacde7900c0e6fc
+folderAsset: yes
+timeCreated: 1503076433
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/Camera/ManualTouchCamera.cs b/T3-Unity/Assets/MapboxAR/Scripts/Camera/ManualTouchCamera.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e22adf904fbbcc9f0e18b0cd17187defb831a1b7
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/Camera/ManualTouchCamera.cs
@@ -0,0 +1,76 @@
+namespace Mapbox.Examples
+{
+	// Just add this script to your camera. It doesn't need any configuration.
+
+	using UnityEngine;
+	using Mapbox.Unity.Location;
+
+	public class ManualTouchCamera : MonoBehaviour
+	{
+		[SerializeField]
+		Camera _camera;
+
+		[SerializeField]
+		Transform _mapRoot;
+
+		[SerializeField]
+		Transform _mapHolder;
+
+		Vector2?[] _oldTouchPositions = { null, null };
+
+		Vector2 _oldTouchVector;
+		Vector3 _delta;
+		float _oldTouchDistance;
+
+		bool _wasTouching;
+
+		void Update()
+		{
+
+			if (Input.touchCount == 0)
+			{
+				_oldTouchPositions[0] = null;
+				_oldTouchPositions[1] = null;
+
+			}
+			else if (Input.touchCount == 1)
+			{
+				if (_oldTouchPositions[0] == null || _oldTouchPositions[1] != null)
+				{
+					_oldTouchPositions[0] = Input.GetTouch(0).position;
+					_oldTouchPositions[1] = null;
+				}
+
+				if (Input.GetTouch(0).phase == TouchPhase.Moved)
+				{
+					var touchDelta = Input.GetTouch(0).deltaPosition;
+					var offset = new Vector3(touchDelta.x, 0f, touchDelta.y);
+					offset = _camera.transform.rotation * offset;
+					var newPos = new Vector3(offset.x, 0, offset.y);
+					_mapRoot.position = newPos + _mapRoot.position;
+				}
+			}
+			else
+			{
+				if (_oldTouchPositions[1] == null)
+				{
+					_oldTouchPositions[0] = Input.GetTouch(0).position;
+					_oldTouchPositions[1] = Input.GetTouch(1).position;
+					_oldTouchVector = (Vector2)(_oldTouchPositions[0] - _oldTouchPositions[1]);
+					_oldTouchDistance = _oldTouchVector.magnitude;
+				}
+				else
+				{
+					Vector2[] newTouchPositions = { Input.GetTouch(0).position, Input.GetTouch(1).position };
+					Vector2 newTouchVector = newTouchPositions[0] - newTouchPositions[1];
+					float newTouchDistance = newTouchVector.magnitude;
+					_mapHolder.rotation *= Quaternion.Euler(new Vector3(0, Mathf.Asin(Mathf.Clamp((_oldTouchVector.y * newTouchVector.x - _oldTouchVector.x * newTouchVector.y) / _oldTouchDistance / newTouchDistance, -1f, 1f)) / 0.0174532924f, 0));
+					_oldTouchPositions[0] = newTouchPositions[0];
+					_oldTouchPositions[1] = newTouchPositions[1];
+					_oldTouchVector = newTouchVector;
+					_oldTouchDistance = newTouchDistance;
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/Camera/ManualTouchCamera.cs.meta b/T3-Unity/Assets/MapboxAR/Scripts/Camera/ManualTouchCamera.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0347d8ee91bc406bcf17e4e1f5a4351d2ec98732
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/Camera/ManualTouchCamera.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 03c1176ef30154c3ba573bc281801fc6
+timeCreated: 1522488542
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/Camera/TouchCamera.cs b/T3-Unity/Assets/MapboxAR/Scripts/Camera/TouchCamera.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1ea26b7e55dd1f8469e1493738237f93b362388b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/Camera/TouchCamera.cs
@@ -0,0 +1,90 @@
+namespace Mapbox.Examples
+{
+	// Just add this script to your camera. It doesn't need any configuration.
+
+	using UnityEngine;
+	using Mapbox.Unity.Location;
+
+	public class TouchCamera : MonoBehaviour
+	{
+		[SerializeField]
+		Camera _camera;
+
+		[SerializeField]
+		TransformLocationProvider _locationProvider;
+
+		Vector2?[] oldTouchPositions = { null, null };
+
+		Vector2 oldTouchVector;
+		Vector3 _delta;
+		float oldTouchDistance;
+		Vector3 _origin;
+
+		bool _wasTouching;
+
+		bool _shouldDrag;
+
+		void Update()
+		{
+			if (Input.touchCount == 0)
+			{
+				oldTouchPositions[0] = null;
+				oldTouchPositions[1] = null;
+				_shouldDrag = false;
+				if (_wasTouching)
+				{
+					if (_locationProvider != null)
+					{
+						_locationProvider.SendLocationEvent();
+					}
+					_wasTouching = false;
+				}
+			}
+			else if (Input.touchCount == 1)
+			{
+				_wasTouching = true;
+				if (oldTouchPositions[0] == null || oldTouchPositions[1] != null)
+				{
+					oldTouchPositions[0] = Input.GetTouch(0).position;
+					oldTouchPositions[1] = null;
+				}
+				else
+				{
+					Vector3 newTouchPosition = Input.GetTouch(0).position;
+					newTouchPosition.z = _camera.transform.localPosition.y;
+					_delta = _camera.ScreenToWorldPoint(newTouchPosition) - _camera.transform.localPosition;
+					if (_shouldDrag == false)
+					{
+						_shouldDrag = true;
+						_origin = _camera.ScreenToWorldPoint(newTouchPosition);
+					}
+
+					oldTouchPositions[0] = newTouchPosition;
+					_camera.transform.localPosition = _origin - _delta;
+				}
+			}
+			else
+			{
+				_wasTouching = true;
+				if (oldTouchPositions[1] == null)
+				{
+					oldTouchPositions[0] = Input.GetTouch(0).position;
+					oldTouchPositions[1] = Input.GetTouch(1).position;
+					oldTouchVector = (Vector2)(oldTouchPositions[0] - oldTouchPositions[1]);
+					oldTouchDistance = oldTouchVector.magnitude;
+				}
+				else
+				{
+					Vector2[] newTouchPositions = { Input.GetTouch(0).position, Input.GetTouch(1).position };
+					Vector2 newTouchVector = newTouchPositions[0] - newTouchPositions[1];
+					float newTouchDistance = newTouchVector.magnitude;
+					transform.localRotation *= Quaternion.Euler(new Vector3(0, 0, Mathf.Asin(Mathf.Clamp((oldTouchVector.y * newTouchVector.x - oldTouchVector.x * newTouchVector.y) / oldTouchDistance / newTouchDistance, -1f, 1f)) / 0.0174532924f));
+					oldTouchPositions[0] = newTouchPositions[0];
+					oldTouchPositions[1] = newTouchPositions[1];
+					oldTouchVector = newTouchVector;
+					oldTouchDistance = newTouchDistance;
+				}
+			}
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/Camera/TouchCamera.cs.meta b/T3-Unity/Assets/MapboxAR/Scripts/Camera/TouchCamera.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f3f8bdf7ab196a68887d662d8f7a9e23d54fc423
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/Camera/TouchCamera.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ade537fc62d5c974cb84efe75fbc9f08
+timeCreated: 18446744011573954816
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync.meta b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync.meta
new file mode 100644
index 0000000000000000000000000000000000000000..12eec9ffdb113419dfa282eae3992f235516326d
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: a4827ae45dfdf430087f9bc2b6dc7a89
+folderAsset: yes
+timeCreated: 1522933722
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/FollowTargetTransform.cs b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/FollowTargetTransform.cs
new file mode 100644
index 0000000000000000000000000000000000000000..644a28482262db241be33e63ae920ec6f0e08951
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/FollowTargetTransform.cs
@@ -0,0 +1,16 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+
+	public class FollowTargetTransform : MonoBehaviour
+	{
+		[SerializeField]
+		Transform _targetTransform;
+
+		void Update()
+		{
+			transform.position = new Vector3(_targetTransform.position.x, transform.position.y, _targetTransform.position.z);
+		}
+	}
+}
+
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/FollowTargetTransform.cs.meta b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/FollowTargetTransform.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8dd3845c682567ff3acd08ac8a6c65c9346ed846
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/FollowTargetTransform.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: c5bd565fcbef74ea097c756caba72798
+timeCreated: 1522486413
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RelocateMapByGPS.cs b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RelocateMapByGPS.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7078c7386adb076af73885c09ba83c2935287540
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RelocateMapByGPS.cs
@@ -0,0 +1,33 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using Mapbox.Unity.Location;
+	using Mapbox.Unity.Map;
+	using UnityEngine.UI;
+
+	public class RelocateMapByGPS : MonoBehaviour
+	{
+
+		[SerializeField]
+		AbstractMap _map;
+
+		[SerializeField]
+		Button _button;
+
+		[SerializeField]
+		Transform _mapTransform;
+
+		private void Start()
+		{
+			_button.onClick.AddListener(UpdateMapLocation);
+		}
+
+		private void UpdateMapLocation()
+		{
+			var location = LocationProviderFactory.Instance.DefaultLocationProvider.CurrentLocation;
+			_map.UpdateMap(location.LatitudeLongitude,_map.AbsoluteZoom);
+			var playerPos = Camera.main.transform.position;
+			_mapTransform.position = new Vector3(playerPos.x, _mapTransform.position.y, playerPos.z);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RelocateMapByGPS.cs.meta b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RelocateMapByGPS.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f129e0884b7630431ab91321e1c2f297052b008e
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RelocateMapByGPS.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 106a5ebea20cc4d5ba78304a86ff60d6
+timeCreated: 1522515518
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RotateOnYTargetTransform.cs b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RotateOnYTargetTransform.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6b9e14bf6cbae8efe7e76c842e1403613adad9fb
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RotateOnYTargetTransform.cs
@@ -0,0 +1,15 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+
+	public class RotateOnYTargetTransform : MonoBehaviour
+	{
+		[SerializeField]
+		Transform _targetTransform;
+
+		void Update()
+		{
+			transform.eulerAngles = new Vector3(transform.eulerAngles.x, _targetTransform.eulerAngles.y, transform.eulerAngles.z);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RotateOnYTargetTransform.cs.meta b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RotateOnYTargetTransform.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a9ddf3d6fd7bb820f4ca0c2ccfae4af9843a990
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/RotateOnYTargetTransform.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 880eb561c676e4042822af6e6a25ece6
+timeCreated: 1522512285
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/UpdateMapPosByARPlaneY.cs b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/UpdateMapPosByARPlaneY.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2afac8fad35afd240a94bb773552e9f498d96979
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/UpdateMapPosByARPlaneY.cs
@@ -0,0 +1,23 @@
+namespace Mapbox.Examples
+{
+	using UnityEngine;
+	using UnityARInterface;
+
+	public class UpdateMapPosByARPlaneY : MonoBehaviour
+	{
+		[SerializeField]
+		Transform _mapRoot;
+
+		void Start()
+		{
+			ARInterface.planeAdded += UpdateMapPosOnY;
+			ARInterface.planeUpdated += UpdateMapPosOnY;
+		}
+
+		void UpdateMapPosOnY(BoundedPlane plane)
+		{
+			var pos = _mapRoot.position;
+			_mapRoot.position = new Vector3(pos.x, plane.center.y, pos.z);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/UpdateMapPosByARPlaneY.cs.meta b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/UpdateMapPosByARPlaneY.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a04332659bb28566c3166a1502eaef6908c9affd
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/ManualSync/UpdateMapPosByARPlaneY.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6291543b44ad64b8da5a790c4ac342bd
+timeCreated: 1522485961
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/PlayerSizeFromLocationAccuracy.cs b/T3-Unity/Assets/MapboxAR/Scripts/PlayerSizeFromLocationAccuracy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..310a79c6239d892260d2d716834499164d0cc30b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/PlayerSizeFromLocationAccuracy.cs
@@ -0,0 +1,47 @@
+namespace Mapbox.Examples
+{
+	using Mapbox.Unity.Location;
+	using UnityEngine;
+
+	public class PlayerSizeFromLocationAccuracy : MonoBehaviour
+	{
+
+		private ILocationProvider _locationProvider;
+		private Vector3 _playerScale = new Vector3(2f, 2f, 2f);
+
+
+		void Start()
+		{
+			_locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider;
+			if (_locationProvider != null)
+			{
+				_locationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+			}
+		}
+
+
+		void OnDestroy()
+		{
+			if (_locationProvider != null)
+			{
+				_locationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+			}
+		}
+
+
+		void LocationProvider_OnLocationUpdated(Location location)
+		{
+			if (location.Accuracy != 0)
+			{
+				float halfAcc = location.Accuracy / 2f;
+				_playerScale = new Vector3(halfAcc, halfAcc, halfAcc);
+			}
+		}
+
+
+		void Update()
+		{
+			transform.localScale = _playerScale;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Scripts/PlayerSizeFromLocationAccuracy.cs.meta b/T3-Unity/Assets/MapboxAR/Scripts/PlayerSizeFromLocationAccuracy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..373d101b9c249c5f0fd11defd7f26fd65f16cd45
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Scripts/PlayerSizeFromLocationAccuracy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 9ae53785b0839d54aae88d6fc40b8f7a
+timeCreated: 1520596677
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Textures.meta b/T3-Unity/Assets/MapboxAR/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5d0f0f384d9ca1f5acafd6b4d451d5247bcddb22
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Textures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5e86dee9320fb47e49e35fdad77cf701
+folderAsset: yes
+timeCreated: 1501349098
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Textures/location.png b/T3-Unity/Assets/MapboxAR/Textures/location.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2eb6b91591c7c8de1a736ae2c6747a90536d407
Binary files /dev/null and b/T3-Unity/Assets/MapboxAR/Textures/location.png differ
diff --git a/T3-Unity/Assets/MapboxAR/Textures/location.png.meta b/T3-Unity/Assets/MapboxAR/Textures/location.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..48a19294307b4b0a3b6486ea792b3f7bcbf7edb9
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Textures/location.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: e6815c2eee0f94c98989f8461d8e33d4
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 7e537bb5e8badad4e9b82a607f2fd128
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Textures/log.png b/T3-Unity/Assets/MapboxAR/Textures/log.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b68e535c0d3c9f23f4acf4f882cc9f95cef49e1
Binary files /dev/null and b/T3-Unity/Assets/MapboxAR/Textures/log.png differ
diff --git a/T3-Unity/Assets/MapboxAR/Textures/log.png.meta b/T3-Unity/Assets/MapboxAR/Textures/log.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..86d1d2cc30a5925c9cd939c1f6b8b75b15850dc5
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Textures/log.png.meta
@@ -0,0 +1,132 @@
+fileFormatVersion: 2
+guid: 497aab1329e0f47c38b384b00b84a40b
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: c417648d1e40f184bab7cf76a78786bd
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity.meta b/T3-Unity/Assets/MapboxAR/Unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2257fdbc97b1a4dcbecb3378052250a291fa70a0
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 99e92c7a48bb6374489d61ce12c14e7f
+folderAsset: yes
+timeCreated: 1519150524
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f67336269e6f1787206b7c510aa80a3e59229a33
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d37fa1bfefdd840fd98d289f8c14eec9
+folderAsset: yes
+timeCreated: 1513875605
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/AbstractAlignmentStrategy.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/AbstractAlignmentStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5f327656a852c50c1d2ef3d7bde0701fa349f5e9
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/AbstractAlignmentStrategy.cs
@@ -0,0 +1,22 @@
+namespace Mapbox.Unity.Ar
+{
+	using UnityEngine;
+
+	public abstract class AbstractAlignmentStrategy : MonoBehaviour
+	{
+		[SerializeField]
+		protected Transform _transform;
+
+		public void Register(ISynchronizationContext context)
+		{
+			context.OnAlignmentAvailable += OnAlignmentAvailable;
+		}
+
+		public void Unregister(ISynchronizationContext context)
+		{
+			context.OnAlignmentAvailable -= OnAlignmentAvailable;
+		}
+
+		public abstract void OnAlignmentAvailable(Alignment alignment);
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/AbstractAlignmentStrategy.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/AbstractAlignmentStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..91c2282ac8b4634e6a36015f383919de3ef49341
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/AbstractAlignmentStrategy.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a363171a6afe74cabbd818fc24fc0eaf
+timeCreated: 1501880276
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/AverageHeadingAlignmentStrategy.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/AverageHeadingAlignmentStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6a49851fc02963f4e37236856d36427e10735717
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/AverageHeadingAlignmentStrategy.cs
@@ -0,0 +1,82 @@
+namespace Mapbox.Unity.Ar
+{
+	using Mapbox.Unity.Utilities;
+	using System.Collections.Generic;
+	using UnityEngine;
+
+	public class AverageHeadingAlignmentStrategy : AbstractAlignmentStrategy
+	{
+		[SerializeField]
+		int _maxSamples = 5;
+
+		[SerializeField]
+		float _ignoreAngleThreshold = 15f;
+
+		[SerializeField]
+		float _lerpSpeed;
+
+		List<float> _rotations = new List<float>();
+
+		float _averageRotation;
+		Quaternion _targetRotation;
+		Vector3 _targetPosition;
+
+		public static float meanAngle(List<float> rotations)
+		{
+			float xValue = 0, yValue = 0;
+			foreach (var r in rotations)
+			{
+				xValue += Mathf.Cos(r * Mathf.Deg2Rad);
+				yValue += Mathf.Sin(r * Mathf.Deg2Rad);
+			}
+
+			return Mathf.Rad2Deg * Mathf.Atan2( yValue / rotations.Count, xValue / rotations.Count);
+		}
+
+		public override void OnAlignmentAvailable(Alignment alignment)
+		{
+			var count = _rotations.Count;
+			var rotation = alignment.Rotation;
+
+			// TODO: optimize circular list.
+			if (count >= _maxSamples)
+			{
+				_rotations.RemoveAt(0);
+			}
+
+			if (rotation < 0)
+			{
+				rotation += 360;
+			}
+
+			_rotations.Add(rotation);
+			_averageRotation = meanAngle(_rotations);
+
+			if (Mathf.Abs(Mathf.DeltaAngle(rotation, _averageRotation)) < _ignoreAngleThreshold)
+			{
+				Console.Instance.Log(string.Format("Average Heading: {0}", _averageRotation), "aqua");
+				_targetRotation = Quaternion.Euler(0, _averageRotation, 0);
+				_targetPosition = alignment.Position;
+
+				// HACK: Undo the original expected position.
+				_targetPosition = Quaternion.Euler(0, -rotation, 0) * _targetPosition;
+
+				// Add our averaged rotation.
+				_targetPosition = Quaternion.Euler(0, _averageRotation, 0) * _targetPosition;
+			}
+			else
+			{
+				Console.Instance.Log("Ignoring alignment (^) due to poor angle (Alignment rotation: "+rotation+", _averageRotation: "+_averageRotation+ "("+(_averageRotation+360)+"), _ignoreAngleThreshold: " + _ignoreAngleThreshold + ")", "red");
+			}
+		}
+
+		// FIXME: this should be in a coroutine, which is activated in Align.
+		void Update()
+		{
+			var t = _lerpSpeed * Time.deltaTime;
+			_transform.SetPositionAndRotation(
+				Vector3.Lerp(_transform.localPosition, _targetPosition, t),
+				Quaternion.Lerp(_transform.localRotation, _targetRotation, t));
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/AverageHeadingAlignmentStrategy.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/AverageHeadingAlignmentStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bc78f92a0a0e4f4aef970c8b0bb87f3a32293438
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/AverageHeadingAlignmentStrategy.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b000a4c373a2e470986a96ce9dba73ed
+timeCreated: 1502298047
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor.meta
new file mode 100644
index 0000000000000000000000000000000000000000..16a2ea89f74f50702f58afebb624010549bfa724
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e01014e959fb2504b911afba02abdb52
+folderAsset: yes
+timeCreated: 1516276630
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests.meta
new file mode 100644
index 0000000000000000000000000000000000000000..aaaba3a220dc15add8b77a065dfbf8300dfae080
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 50634bda7b31a3540968258cd4061dfe
+folderAsset: yes
+timeCreated: 1516276591
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests/MapboxUnitTests_AverageHeadingAlignmentStrategy.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests/MapboxUnitTests_AverageHeadingAlignmentStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dfce61f06a878fd125ba417d3876dff64130fca3
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests/MapboxUnitTests_AverageHeadingAlignmentStrategy.cs
@@ -0,0 +1,126 @@
+
+
+namespace Mapbox.Unity.Ar
+{
+
+	using NUnit.Framework;
+	using System.Collections.Generic;
+
+
+	[TestFixture]
+	internal class AverageHeadingAlignmentStrategyTests 
+	{
+
+		private double _tolerance = 0.00001;
+
+
+		[Test]
+		public void MeanAngleOver360()
+		{
+			List<float> rotations = new List<float>();
+			rotations.Add(10);
+			rotations.Add(350);
+			float avgRotation = (float)AverageHeadingAlignmentStrategy.meanAngle(rotations);
+
+			Assert.AreEqual(0, avgRotation, _tolerance);
+		}
+
+
+		[Test]
+		public void MeanAngleOver360Negative()
+		{
+			List<float> rotations = new List<float>();
+			rotations.Add(-10);
+			rotations.Add(10);
+			float avgRotation = (float)AverageHeadingAlignmentStrategy.meanAngle(rotations);
+
+			Assert.AreEqual(0, avgRotation, _tolerance);
+		}
+
+
+		[Test]
+		public void MeanAngleAllPositive()
+		{
+			List<float> rotations = new List<float>();
+			rotations.Add(10);
+			rotations.Add(20);
+			rotations.Add(30);
+			float avgRotation = (float)AverageHeadingAlignmentStrategy.meanAngle(rotations);
+
+			Assert.AreEqual(20, avgRotation, _tolerance);
+		}
+
+
+		[Test]
+		public void meanAngleAllNegative()
+		{
+			List<float> rotations = new List<float>();
+			rotations.Add(-10);
+			rotations.Add(-20);
+			rotations.Add(-30);
+			float avgRotation = (float)AverageHeadingAlignmentStrategy.meanAngle(rotations);
+
+			Assert.AreEqual(-20, avgRotation, _tolerance);
+		}
+
+
+		[Test]
+		public void MeanAngleSameAngleDifferentForms()
+		{
+			List<float> rotations = new List<float>();
+			rotations.Add(270);
+			rotations.Add(-90);
+			rotations.Add(360 + 270);
+			float avgRotation = (float)AverageHeadingAlignmentStrategy.meanAngle(rotations);
+
+			Assert.AreEqual(-90, avgRotation, _tolerance);
+		}
+
+
+		[Test]
+		public void MeanAnglePositiveAndNegative()
+		{
+			List<float> rotations = new List<float>();
+			rotations.Add(-80);
+			rotations.Add(80);
+			rotations.Add(179);
+			rotations.Add(-179);
+			float avgRotation = (float)AverageHeadingAlignmentStrategy.meanAngle(rotations);
+
+			Assert.AreEqual(180, avgRotation, _tolerance);
+		}
+
+
+		[Test]
+		// For consistency, angles returned are always within (-180, 180].
+		// Maybe counterintuitive if inputs were > 180, so this test is here to highlight this behaviour.
+		public void MeanAngleWithin180OfZero()
+		{
+			List<float> rotations = new List<float>();
+			rotations.Add(270);
+			rotations.Add(270);
+			float avgRotation = (float)AverageHeadingAlignmentStrategy.meanAngle(rotations);
+
+			Assert.AreEqual(-90, avgRotation, _tolerance);
+		}
+
+
+		[Test]
+		//Test to check we avoid the common (wrong) "solution": (sum(angles)%360) / count(angles)
+		public void MeanAngleFiveNinetys()
+		{
+			List<float> rotations = new List<float>();
+			rotations.Add(90);
+			rotations.Add(90);
+			rotations.Add(90);
+			rotations.Add(90);
+			rotations.Add(90);
+			float avgRotation = (float)AverageHeadingAlignmentStrategy.meanAngle(rotations);
+
+			Assert.AreEqual(90, avgRotation, _tolerance);
+		}
+
+
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests/MapboxUnitTests_AverageHeadingAlignmentStrategy.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests/MapboxUnitTests_AverageHeadingAlignmentStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2d4a1692f80c4e766b78853421c6172c7c26aa36
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/Editor/Tests/MapboxUnitTests_AverageHeadingAlignmentStrategy.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: f3bf578ab6f08e2418cf1dfc28e6cf01
+timeCreated: 1516276608
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/ISynchronizationContext.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/ISynchronizationContext.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2b02d33016f5a32f2b30fc2ff6f1c009920f0a3a
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/ISynchronizationContext.cs
@@ -0,0 +1,16 @@
+namespace Mapbox.Unity.Ar
+{
+	using System;
+	using UnityEngine;
+
+	public interface ISynchronizationContext
+	{
+		event Action<Alignment> OnAlignmentAvailable;
+	}
+
+	public struct Alignment
+	{
+		public Vector3 Position;
+		public float Rotation;
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/ISynchronizationContext.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/ISynchronizationContext.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..83bf6ffe1ec72b177bd3bb5dfc361b2705297990
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/ISynchronizationContext.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 88db5bc2d6b084459a3512f052d1a7b0
+timeCreated: 1501862256
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/LerpAlignmentStrategy.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/LerpAlignmentStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3d6b3c3a03f5a1e5d830c13fd64118df8added0c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/LerpAlignmentStrategy.cs
@@ -0,0 +1,35 @@
+namespace Mapbox.Unity.Ar
+{
+	using UnityEngine;
+
+	public class LerpAlignmentStrategy : AbstractAlignmentStrategy
+	{
+		[SerializeField]
+		float _followFactor;
+
+		Vector3 _targetPosition;
+		Quaternion _targetRotation = Quaternion.identity;
+		bool _isAlignmentAvailable = false;
+
+		public override void OnAlignmentAvailable(Alignment alignment)
+		{
+			_targetPosition = alignment.Position;
+			_targetRotation = Quaternion.Euler(0, alignment.Rotation, 0);
+			_isAlignmentAvailable = true;
+		}
+
+		// FIXME: this should be in a coroutine, which is activated in Align.
+		void Update()
+		{
+			if (_isAlignmentAvailable)
+			{
+				var t = _followFactor * Time.deltaTime;
+				_transform.SetPositionAndRotation(
+					Vector3.Lerp(_transform.localPosition, _targetPosition, t),
+					Quaternion.Lerp(_transform.localRotation, _targetRotation, t));
+				_isAlignmentAvailable = false;
+			}
+
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/LerpAlignmentStrategy.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/LerpAlignmentStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e13d13782b4f1915ef992c1cca87a1557d774339
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/LerpAlignmentStrategy.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0d2f95bcf49014079b9d10228e3006a8
+timeCreated: 1501880276
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/ManualSynchronizationContextBehaviour.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/ManualSynchronizationContextBehaviour.cs
new file mode 100644
index 0000000000000000000000000000000000000000..73bffe69010920d6f263a19926f86ac73c845bd3
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/ManualSynchronizationContextBehaviour.cs
@@ -0,0 +1,82 @@
+namespace Mapbox.Unity.Ar
+{
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.Location;
+	using UnityARInterface;
+	using UnityEngine;
+	using Mapbox.Unity.Utilities;
+	using System;
+
+	public class ManualSynchronizationContextBehaviour : MonoBehaviour, ISynchronizationContext
+	{
+		[SerializeField]
+		AbstractMap _map;
+
+		[SerializeField]
+		Transform _mapCamera;
+
+		[SerializeField]
+		TransformLocationProvider _locationProvider;
+
+		[SerializeField]
+		AbstractAlignmentStrategy _alignmentStrategy;
+
+		float _lastHeight;
+		float _lastHeading = 0;
+
+		public event Action<Alignment> OnAlignmentAvailable = delegate { };
+
+		void Start()
+		{
+			_alignmentStrategy.Register(this);
+			_map.OnInitialized += Map_OnInitialized;
+			ARInterface.planeAdded += PlaneAddedHandler;
+		}
+
+		void OnDestroy()
+		{
+			_alignmentStrategy.Unregister(this);
+			_locationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+			ARInterface.planeAdded -= PlaneAddedHandler;
+		}
+
+		void Map_OnInitialized()
+		{
+			_map.OnInitialized -= Map_OnInitialized;
+			_locationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+		}
+
+		void LocationProvider_OnLocationUpdated(Location location)
+		{
+			if (location.IsLocationUpdated)
+			{
+				var alignment = new Alignment();
+				var originalPosition = _map.Root.position;
+				alignment.Rotation = -location.UserHeading + _map.Root.localEulerAngles.y;
+
+				// Rotate our offset by the last heading.
+				var rotation = Quaternion.Euler(0, -_lastHeading, 0);
+				alignment.Position = rotation * (-Conversions.GeoToWorldPosition(location.LatitudeLongitude,
+																				 _map.CenterMercator,
+																				 _map.WorldRelativeScale).ToVector3xz() + originalPosition);
+				alignment.Position.y = _lastHeight;
+
+				OnAlignmentAvailable(alignment);
+
+				// Reset camera to avoid confusion.
+				var mapCameraPosition = Vector3.zero;
+				mapCameraPosition.y = _mapCamera.localPosition.y;
+				var mapCameraRotation = Vector3.zero;
+				mapCameraRotation.x = _mapCamera.localEulerAngles.x;
+				_mapCamera.localPosition = mapCameraPosition;
+				_mapCamera.eulerAngles = mapCameraRotation;
+			}
+		}
+
+		void PlaneAddedHandler(BoundedPlane plane)
+		{
+			_lastHeight = plane.center.y;
+			Unity.Utilities.Console.Instance.Log(string.Format("AR Plane Height: {0}", _lastHeight), "yellow");
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/ManualSynchronizationContextBehaviour.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/ManualSynchronizationContextBehaviour.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..950f9f6a3e59e6677e21cfe764679e39ef259716
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/ManualSynchronizationContextBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 72dd0575d1c3c48af9994231b8e6f033
+timeCreated: 1503073442
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContext.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContext.cs
new file mode 100644
index 0000000000000000000000000000000000000000..351b1fd6b5beae8d7d2b7b6298b8f2fd10488140
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContext.cs
@@ -0,0 +1,167 @@
+namespace Mapbox.Unity.Ar
+{
+	using System.Collections.Generic;
+	using UnityEngine;
+	using Mapbox.Unity.Location;
+	using System;
+
+
+	public class SimpleAutomaticSynchronizationContext : ISynchronizationContext
+	{
+		float _rotation;
+		Vector3 _position;
+
+		// These are lists for future implementation of averaging/iterating over time/distance.
+		List<Location> _gpsNodes = new List<Location>();
+		List<Vector3> _gpsPositions = new List<Vector3>();
+		List<Vector3> _arNodes = new List<Vector3>();
+
+		int _count;
+
+		Vector3 _currentArVector;
+		Vector3 _currentAbsoluteGpsVector;
+
+		Vector3 _previousArNode;
+		Vector3 _previousLocationPosition;
+
+		/// <summary>
+		/// The synchronization bias.
+		/// 0 represents full trust in AR, but no trust in GPS.
+		/// 1 represents full trust in GPS position, but no trust in AR.
+		/// </summary>
+		[Tooltip("The synchronization bias. 0 represents full trust in AR, but no trust in GPS. 1 represents full trust in GPS position, but no trust in AR.")]
+		public float SynchronizationBias = 1f;
+
+		/// <summary>
+		/// The minimum distance that BOTH gps and ar delta vectors (since last nodes added)
+		/// must differ before new nodes can be added.
+		/// This is to prevent micromovements in AR from being registered if GPS updates wildly for some reason.
+		/// </summary>
+		[Tooltip("The minimum distance that BOTH gps and ar delta vectors (since last nodes added) must differ before new nodes can be added. This is to prevent micromovements in AR from being registered if GPS updates wildly for some reason.")]
+		public float MinimumDeltaDistance;
+
+		/// <summary>
+		/// Use automatic synchronization bias.
+		/// This will use ArTrustRange and Location Accuracy to determine bias.
+		/// </summary>
+		[Tooltip("Use automatic synchronization bias. This will use ArTrustRange and Location Accuracy to determine bias.")]
+		public bool UseAutomaticSynchronizationBias;
+
+		/// <summary>
+		/// The AR trust radius. Essentially, this is how far we will trust AR to report accurate postions.
+		/// AR is great for local position changes, but poor over great distance.
+		/// As a node approaches the radius, GPS will generally be favored (assuming location accuracy is high).
+		/// </summary>
+		[Tooltip("The AR trust radius. Essentially, this is how far we will trust AR to report accurate postions. AR is great for local position changes, but poor over great distance. As a node approaches the radius, GPS will generally be favored (assuming location accuracy is high).")]
+		public float ArTrustRange;
+
+		/// <summary>
+		/// A proposed alignment has become available. 
+		/// This is an event to support future implementations where alignment is calculate over time.
+		/// </summary>
+		public event Action<Alignment> OnAlignmentAvailable;
+
+		/// <summary>
+		/// Add GPS and AR nodes to the context.
+		/// Will attempt to compute an alignment.
+		/// </summary>
+		/// <param name="gpsNode">Gps node.</param>
+		/// <param name="arNode">Ar node.</param>
+		public void AddSynchronizationNodes(Location location, Vector3 locationPosition, Vector3 arNode)
+		{
+			_gpsNodes.Add(location);
+			_gpsPositions.Add(locationPosition);
+			_arNodes.Add(arNode);
+
+			_count = _arNodes.Count;
+			if (_count > 1)
+			{
+				_currentArVector = arNode - _previousArNode;
+				_currentAbsoluteGpsVector = locationPosition - _previousLocationPosition;
+
+				// TODO: try to use ArTrustRange instead!
+				// This would mean no alignment is calculated until the threshold is met.
+				// Perhaps more drift, but also more stable?
+				if (_currentArVector.magnitude < MinimumDeltaDistance || _currentAbsoluteGpsVector.magnitude < MinimumDeltaDistance)
+				{
+					Unity.Utilities.Console.Instance.Log("Minimum movement not yet met (arDelta: " + _currentArVector.magnitude + ", gpsDelta: " + _currentAbsoluteGpsVector.magnitude + ")", "red");
+					return;
+				}
+
+				ComputeAlignment();
+
+				//Compute next alignment relative to current location.
+				_previousArNode = arNode;
+				_previousLocationPosition = locationPosition;
+			}
+			else
+			{
+				//Initialize previous AR / GPS vectors
+				_previousArNode = arNode;
+				_previousLocationPosition = locationPosition;
+			}
+		}
+
+		void ComputeAlignment()
+		{
+			var rotation = Vector3.SignedAngle(_currentAbsoluteGpsVector, _currentArVector, Vector3.up);
+			var headingQuaternion = Quaternion.Euler(0, rotation, 0);
+			var relativeGpsVector = headingQuaternion * _currentAbsoluteGpsVector;
+
+			_rotation = rotation;
+
+			var accuracy = _gpsNodes[_count - 1].Accuracy;
+			var delta = _currentArVector - relativeGpsVector;
+			var deltaDistance = delta.magnitude;
+
+			var bias = SynchronizationBias;
+			if (UseAutomaticSynchronizationBias && _count > 2)
+			{
+				// FIXME: This works fine, but a better approach would be to reset only after we favor GPS.
+				// In other words, don't reset every time we add a node.
+				// Generally speaking, this will slowly shift the bias up before resetting bias to 0.
+				bias = Mathf.Clamp01((.5f * (deltaDistance + ArTrustRange - accuracy)) / deltaDistance);
+			}
+
+			// Our new "origin" will be the difference offset between our last nodes (mapped into the same coordinate space).
+			var originOffset = _previousArNode - headingQuaternion * _previousLocationPosition;
+
+			// Add the weighted delta.
+			_position = (delta * bias) + originOffset;
+
+
+
+#if UNITY_EDITOR
+			Debug.LogFormat(
+				"AR Vector:{0} GPS Vector:{1} HEADING:{2} HDOP:{3} Relative GPS Vector:{4} BIAS:{5} DISTANCE:{6} OFFSET:{7} BIASED DELTA:{8} OFFSET:{8}"
+				, _currentArVector
+				, _currentAbsoluteGpsVector
+				, rotation
+				, accuracy
+				, relativeGpsVector
+				, bias
+				, deltaDistance
+				, originOffset
+				, delta
+				, _position
+			);
+#endif
+			Unity.Utilities.Console.Instance.Log(
+				string.Format(
+					"Offset: {0},\tHeading: {1},\tDisance: {2},\tBias: {3}"
+					, _position
+					, _rotation
+					, deltaDistance
+					, bias
+				)
+				, "orange"
+			);
+
+			var alignment = new Alignment();
+			alignment.Rotation = _rotation;
+			alignment.Position = _position;
+
+			OnAlignmentAvailable(alignment);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContext.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContext.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..52aea97b984b18e8349924df435b858c7b025307
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContext.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ddaa05322ce504f8a84022191e16f012
+timeCreated: 1501905652
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContextBehaviour.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContextBehaviour.cs
new file mode 100644
index 0000000000000000000000000000000000000000..521c3f2983c0d3aed39dc2fc548b2e02bf3c7ffd
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContextBehaviour.cs
@@ -0,0 +1,177 @@
+namespace Mapbox.Unity.Ar
+{
+	using Mapbox.Unity.Map;
+	using Mapbox.Unity.Location;
+	using Mapbox.Utils;
+	using UnityARInterface;
+	using UnityEngine;
+	using Mapbox.Unity.Utilities;
+	using System;
+
+	public class SimpleAutomaticSynchronizationContextBehaviour : MonoBehaviour, ISynchronizationContext
+	{
+		[SerializeField]
+		Transform _arPositionReference;
+
+		[SerializeField]
+		AbstractMap _map;
+
+		[SerializeField]
+		bool _useAutomaticSynchronizationBias;
+
+		[SerializeField]
+		AbstractAlignmentStrategy _alignmentStrategy;
+
+		[SerializeField]
+		float _synchronizationBias = 1f;
+
+		[SerializeField]
+		float _arTrustRange = 10f;
+
+		[SerializeField]
+		float _minimumDeltaDistance = 2f;
+
+		[SerializeField]
+		float _minimumDesiredAccuracy = 5f;
+
+		SimpleAutomaticSynchronizationContext _synchronizationContext;
+
+		float _lastHeading;
+		float _lastHeight;
+
+		// TODO: move to "base" class SimpleAutomaticSynchronizationContext
+		// keep it here for now as map position is also calculated here
+		//private KalmanLatLong _kalman = new KalmanLatLong(3); // 3:very fast walking
+
+		ILocationProvider _locationProvider;
+
+		public event Action<Alignment> OnAlignmentAvailable = delegate { };
+
+		public ILocationProvider LocationProvider
+		{
+			private get
+			{
+				if (_locationProvider == null)
+				{
+#if UNITY_EDITOR
+					Debug.LogWarningFormat("SimpleAutomaticSynchronizationContextBehaviour, isRemoteConnected:{0}", UnityEditor.EditorApplication.isRemoteConnected);
+					if (!UnityEditor.EditorApplication.isRemoteConnected)
+					{
+						_locationProvider = LocationProviderFactory.Instance.EditorLocationProvider;
+					}
+					else
+					{
+						_locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider;
+					}
+#else
+					_locationProvider = LocationProviderFactory.Instance.DefaultLocationProvider;
+#endif
+				}
+
+				return _locationProvider;
+			}
+			set
+			{
+				if (_locationProvider != null)
+				{
+					_locationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+
+				}
+				_locationProvider = value;
+				_locationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+			}
+		}
+
+
+		void Awake()
+		{
+			_alignmentStrategy.Register(this);
+			_synchronizationContext = new SimpleAutomaticSynchronizationContext();
+			_synchronizationContext.MinimumDeltaDistance = _minimumDeltaDistance;
+			_synchronizationContext.ArTrustRange = _arTrustRange;
+			_synchronizationContext.UseAutomaticSynchronizationBias = _useAutomaticSynchronizationBias;
+			_synchronizationContext.SynchronizationBias = _synchronizationBias;
+			_synchronizationContext.OnAlignmentAvailable += SynchronizationContext_OnAlignmentAvailable;
+			_map.OnInitialized += Map_OnInitialized;
+
+
+			// TODO: not available in ARInterface yet?!
+			//UnityARSessionNativeInterface.ARSessionTrackingChangedEvent += UnityARSessionNativeInterface_ARSessionTrackingChanged;
+			ARInterface.planeAdded += PlaneAddedHandler;
+		}
+
+
+		void OnDestroy()
+		{
+			_alignmentStrategy.Unregister(this);
+			LocationProvider.OnLocationUpdated -= LocationProvider_OnLocationUpdated;
+			ARInterface.planeAdded -= PlaneAddedHandler;
+		}
+
+
+		void Map_OnInitialized()
+		{
+			_map.OnInitialized -= Map_OnInitialized;
+
+			// We don't want location updates until we have a map, otherwise our conversion will fail.
+			LocationProvider.OnLocationUpdated += LocationProvider_OnLocationUpdated;
+		}
+
+
+		void PlaneAddedHandler(BoundedPlane plane)
+		{
+			_lastHeight = plane.center.y;
+		}
+
+		void LocationProvider_OnLocationUpdated(Location location)
+		{
+			if (location.IsLocationUpdated || location.IsUserHeadingUpdated)
+			{
+				// With this line, we can control accuracy of Gps updates. 
+				// Be aware that we only get location information if it previously met
+				// the conditions of DeviceLocationProvider:
+				// * desired accuarracy in meters
+				// * and update distance in meters
+				if (location.Accuracy > _minimumDesiredAccuracy)
+				{
+					Unity.Utilities.Console.Instance.Log(
+						string.Format(
+							"Gps update ignored due to bad accuracy: {0:0.0} > {1:0.0}"
+							, location.Accuracy
+							, _minimumDesiredAccuracy
+						)
+						, "red"
+					);
+				}
+				else
+				{
+					var latitudeLongitude = location.LatitudeLongitude;
+					Unity.Utilities.Console.Instance.Log(
+						string.Format(
+							"Location[{0:yyyyMMdd-HHmmss}]: {1},{2}\tAccuracy: {3}\tHeading: {4}"
+							, UnixTimestampUtils.From(location.Timestamp)
+							, latitudeLongitude.x
+							, latitudeLongitude.y
+							, location.Accuracy
+							, location.UserHeading
+						)
+						, "lightblue"
+					);
+
+					var position = _map.GeoToWorldPosition(latitudeLongitude, false);
+					position.y = _map.Root.position.y;
+					_synchronizationContext.AddSynchronizationNodes(location, position, _arPositionReference.localPosition);
+				}
+			}
+		}
+
+
+		void SynchronizationContext_OnAlignmentAvailable(Ar.Alignment alignment)
+		{
+			var position = alignment.Position;
+			position.y = _lastHeight;
+			alignment.Position = position;
+			OnAlignmentAvailable(alignment);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContextBehaviour.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContextBehaviour.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e8ccbdd1f029e84f26aeca68a67b16c1531ba3f2
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/SimpleAutomaticSynchronizationContextBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f5e4bbf13fb4b4b8185ca3a5fa3d140e
+timeCreated: 1501865847
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/SnapAlignmentStrategy.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/SnapAlignmentStrategy.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9d08d1af83b1697efd846c5ccc31bd1e9ab0872b
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/SnapAlignmentStrategy.cs
@@ -0,0 +1,13 @@
+namespace Mapbox.Unity.Ar
+{
+	using UnityEngine;
+
+	public class SnapAlignmentStrategy : AbstractAlignmentStrategy
+	{
+		public override void OnAlignmentAvailable(Alignment alignment)
+		{
+			_transform.rotation = Quaternion.Euler(0, alignment.Rotation, 0);
+			_transform.localPosition = alignment.Position;
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/SnapAlignmentStrategy.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/SnapAlignmentStrategy.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7ed4297eea76b43f9f4c6d65b1be5de9eddddf72
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/SnapAlignmentStrategy.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 311c4221851624da08b865ffe0ad8a78
+timeCreated: 1501880276
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c89fe7c48ac8e7159151e9cf9f380f97ece6985c
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 7af4477a61d8f461385c23c4914f9273
+folderAsset: yes
+timeCreated: 1501887040
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities/PlotRoute.cs b/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities/PlotRoute.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a65674f00348e71dbf560f9c9587cd84aa9a4043
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities/PlotRoute.cs
@@ -0,0 +1,93 @@
+namespace Mapbox.Unity.Ar.Utilities
+{
+	using UnityEngine;
+	using UnityARInterface;
+
+	[RequireComponent(typeof(LineRenderer))]
+	public class PlotRoute : MonoBehaviour
+	{
+		[SerializeField]
+		Transform _target;
+
+		[SerializeField]
+		Color _color;
+
+		[SerializeField]
+		float _height;
+
+		[SerializeField]
+		float _lineWidth = .2f;
+
+		[SerializeField]
+		float _updateInterval;
+
+		[SerializeField]
+		float _minDistance;
+
+		LineRenderer _lineRenderer;
+		float _elapsedTime;
+		int _currentIndex = 0;
+		float _sqDistance;
+		Vector3 _lastPosition;
+#if !UNITY_EDITOR
+		bool _isStable = false;
+#endif
+		
+		void Awake()
+		{
+			// HACK: this needs to move somewhere else (marshal).
+			ARInterface.planeAdded += AddAnchor;
+
+			_lineRenderer = GetComponent<LineRenderer>();
+			_lineRenderer.startColor = _color;
+			_lineRenderer.endColor = _color;
+			_lineRenderer.widthMultiplier = _lineWidth;
+			_sqDistance = _minDistance * _minDistance;
+		}
+
+		void AddAnchor(BoundedPlane anchorData)
+		{
+			ARInterface.planeAdded -= AddAnchor;
+			AddNode(_target.localPosition);
+		}
+
+		public void AdjustLineWidth(bool isMapMode)
+		{
+			var width = isMapMode ? 1f : .1f;
+			_lineRenderer.widthMultiplier = width;
+		}
+
+		void Update()
+		{
+#if !UNITY_EDITOR
+			if (!_isStable)
+			{
+				return;
+			}
+#endif
+
+			_elapsedTime += Time.deltaTime;
+			var offset = _target.localPosition - _lastPosition;
+			offset.y = 0;
+
+			if (_elapsedTime > _updateInterval && offset.sqrMagnitude > _sqDistance)
+			{
+				_elapsedTime = 0f;
+				AddNode(_target.localPosition);
+			}
+		}
+
+		void AddNode(Vector3 position)
+		{
+			if (_height > 0)
+			{
+				position.y = _height;
+			}
+
+			_currentIndex++;
+			_lineRenderer.positionCount = _currentIndex;
+			_lineRenderer.SetPosition(_currentIndex - 1, position);
+			_lastPosition = position;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities/PlotRoute.cs.meta b/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities/PlotRoute.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6964ef139b4dd72ae0b12d588969609020104095
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/Unity/Ar/Utilities/PlotRoute.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: bbcd5647f1aee491f8e9d70d52f4ab40
+timeCreated: 1501168681
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/MapboxAR/link.xml b/T3-Unity/Assets/MapboxAR/link.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a00409b0759dbf5ce04827f53b693f7bd5dc2fe4
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/link.xml
@@ -0,0 +1,7 @@
+<linker>
+    <assembly fullname="System.Core">
+        <type fullname="System.Linq.Expressions.Expression`1">
+            <method name="Create"/>
+        </type>
+    </assembly>
+</linker>
\ No newline at end of file
diff --git a/T3-Unity/Assets/MapboxAR/link.xml.meta b/T3-Unity/Assets/MapboxAR/link.xml.meta
new file mode 100644
index 0000000000000000000000000000000000000000..98df635da9f13f9b802442fbaee51c3a22c10d09
--- /dev/null
+++ b/T3-Unity/Assets/MapboxAR/link.xml.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0aff7653d29860d44b5534423b4d4803
+timeCreated: 1519215832
+licenseType: Pro
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Resources.meta b/T3-Unity/Assets/Resources.meta
new file mode 100644
index 0000000000000000000000000000000000000000..657b39c178f0e2ac6672787f18607a116ce558cb
--- /dev/null
+++ b/T3-Unity/Assets/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0750054f11964804985fdd14524387ef
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Resources/Mapbox.meta b/T3-Unity/Assets/Resources/Mapbox.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c137e2da9bc48247d5a4ecd81856803f631d925a
--- /dev/null
+++ b/T3-Unity/Assets/Resources/Mapbox.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 667d3e5d4e86ee745a98a4a3fc26a044
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Resources/Mapbox/MapboxConfiguration.txt b/T3-Unity/Assets/Resources/Mapbox/MapboxConfiguration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cdd11020dd49f582373f590ec94520ea96213832
--- /dev/null
+++ b/T3-Unity/Assets/Resources/Mapbox/MapboxConfiguration.txt
@@ -0,0 +1 @@
+{"AccessToken":"pk.eyJ1IjoibXJ3YXJ6bzAiLCJhIjoiY2t2d2szcDM4MDkyMTJ1cW5zbm92bmg3cyJ9.duWXVg7y8bYffx9I32822g","MemoryCacheSize":500,"FileCacheSize":25000,"DefaultTimeout":30,"AutoRefreshCache":false}
\ No newline at end of file
diff --git a/T3-Unity/Assets/Resources/Mapbox/MapboxConfiguration.txt.meta b/T3-Unity/Assets/Resources/Mapbox/MapboxConfiguration.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..72034be2500f8d78fb9238809000bce550fd6d11
--- /dev/null
+++ b/T3-Unity/Assets/Resources/Mapbox/MapboxConfiguration.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 02dc55a0c42d26f4fb864b56ff75bfc6
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/Scenes/SampleScene.unity b/T3-Unity/Assets/Scenes/SampleScene.unity
index 70373d626fb50e6428d1b34cb144961d6c6c9aac..8de19a4a87be78d23d178e20fbd3429b9624cb67 100644
--- a/T3-Unity/Assets/Scenes/SampleScene.unity
+++ b/T3-Unity/Assets/Scenes/SampleScene.unity
@@ -256,14 +256,226 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 534669902}
-  m_LocalRotation: {x: 0.10218352, y: -0, z: -0, w: 0.9947656}
-  m_LocalPosition: {x: 0.47, y: 2.24, z: -2.86}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
-  m_Father: {fileID: 0}
+  m_Father: {fileID: 1882738770}
   m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 11.7300005, y: 0, z: 0}
---- !u!1 &2059409554
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!1001 &703254550
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 1257486800756004, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_Name
+      value: Map
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 8.337277
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 4.4933844
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 5.9584603
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4867834046800562, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.size
+      value: 22
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: m_Enabled
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _options.locationOptions.latitudeLongitude
+      value: 48.57333, 7.75222
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[0]
+      value: admin
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[1]
+      value: aeroway
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[2]
+      value: airport_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[3]
+      value: barrier_line
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[4]
+      value: building
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[5]
+      value: country_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[6]
+      value: housenum_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[7]
+      value: landuse
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[8]
+      value: landuse_overlay
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[9]
+      value: marine_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[10]
+      value: motorway_junction
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[11]
+      value: mountain_peak_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[12]
+      value: place_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[13]
+      value: poi_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[14]
+      value: rail_station_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[15]
+      value: road
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[16]
+      value: road_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[17]
+      value: state_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[18]
+      value: water
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[19]
+      value: water_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[20]
+      value: waterway
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _vectorData._layerProperty.tileJsonData.LayerDisplayNames.Array.data[21]
+      value: waterway_label
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _imagery._layerProperty.sourceType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _imagery._layerProperty.sourceOptions.layerSource.Id
+      value: mapbox://styles/mapbox/streets-v10
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _previewOptions.isPreviewEnabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _options.extentOptions.extentType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _options.extentOptions.defaultExtents.cameraBoundsOptions.camera
+      value: 
+      objectReference: {fileID: 534669904}
+    - target: {fileID: 114478715909612932, guid: e6b749c6d877f4c19a5a5c3c0783d53b,
+        type: 3}
+      propertyPath: _imagery._layerProperty.rasterOptions.useCompression
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: e6b749c6d877f4c19a5a5c3c0783d53b, type: 3}
+--- !u!1 &1882738769
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -271,86 +483,40 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 2059409558}
-  - component: {fileID: 2059409557}
-  - component: {fileID: 2059409556}
-  - component: {fileID: 2059409555}
+  - component: {fileID: 1882738770}
+  - component: {fileID: 1882738771}
   m_Layer: 0
-  m_Name: Cube
+  m_Name: Player
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!65 &2059409555
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2059409554}
-  m_Material: {fileID: 0}
-  m_IsTrigger: 0
-  m_Enabled: 1
-  serializedVersion: 2
-  m_Size: {x: 1, y: 1, z: 1}
-  m_Center: {x: 0, y: 0, z: 0}
---- !u!23 &2059409556
-MeshRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2059409554}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
-  m_StaticBatchInfo:
-    firstSubMesh: 0
-    subMeshCount: 0
-  m_StaticBatchRoot: {fileID: 0}
-  m_ProbeAnchor: {fileID: 0}
-  m_LightProbeVolumeOverride: {fileID: 0}
-  m_ScaleInLightmap: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 0
-  m_SelectedEditorRenderState: 3
-  m_MinimumChartSize: 4
-  m_AutoUVMaxDistance: 0.5
-  m_AutoUVMaxAngle: 89
-  m_LightmapParameters: {fileID: 0}
-  m_SortingLayerID: 0
-  m_SortingLayer: 0
-  m_SortingOrder: 0
---- !u!33 &2059409557
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2059409554}
-  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &2059409558
+--- !u!4 &1882738770
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2059409554}
+  m_GameObject: {fileID: 1882738769}
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: -0.34510183, y: 1.4244452, z: -0.6519532}
+  m_LocalPosition: {x: 0, y: 110, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
+  m_Children:
+  - {fileID: 534669905}
   m_Father: {fileID: 0}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1882738771
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1882738769}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cdef371ec6aa3b04e81bb0d5c8dc4b15, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  speed: 2.5
diff --git a/T3-Unity/Assets/Scripts/PlayerController.cs b/T3-Unity/Assets/Scripts/PlayerController.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4a8ea6adf889c51d08e3a7b42bc0f98e9bd564b4
--- /dev/null
+++ b/T3-Unity/Assets/Scripts/PlayerController.cs
@@ -0,0 +1,60 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class PlayerController : MonoBehaviour
+{
+    private GameObject player;
+    public float speed;
+    private float trueSpeed;
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        trueSpeed = speed;
+        player = GameObject.Find("Player");
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (Input.GetKey(KeyCode.Z))
+        {
+            player.transform.Translate(0, 0, 1 * speed);
+        }
+
+        if (Input.GetKey(KeyCode.Q))
+        {
+            player.transform.Translate(-1 * speed, 0, 0);
+        }
+
+        if (Input.GetKey(KeyCode.S))
+        {
+            player.transform.Translate(0, 0, -1 * speed);
+        }
+
+        if (Input.GetKey(KeyCode.D))
+        {
+            player.transform.Translate(1 * speed, 0, 0);
+        }
+
+        if (Input.GetKey(KeyCode.Space))
+        {
+            player.transform.Translate(0, 1 * speed, 0);
+        }
+
+        if (Input.GetKey(KeyCode.LeftControl))
+        {
+            player.transform.Translate(0, -1 * speed, 0);
+        }
+
+        if (Input.GetKey(KeyCode.LeftShift))
+        {
+            speed = 20;
+        }
+        else
+        {
+            speed = trueSpeed;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/Scripts/PlayerController.cs.meta b/T3-Unity/Assets/Scripts/PlayerController.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..63e257d9d37cdbdd23d2f4dcde732085efbf4305
--- /dev/null
+++ b/T3-Unity/Assets/Scripts/PlayerController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cdef371ec6aa3b04e81bb0d5c8dc4b15
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets.meta b/T3-Unity/Assets/ThirdPartyAssets.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e1cec4c41576f1054fb9ee62efe00984f7176a1c
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1c53db7b913fa4764b6a46ca1dd8fc39
+folderAsset: yes
+timeCreated: 1483586083
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3df102bfda1bf3a3f41c1e20bc6b1af63e2742ac
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8134eca76f1ac42458f5d4cfdb8b4266
+folderAsset: yes
+timeCreated: 1505842222
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4b3154f599153eb70e533e7f7c428031ce80b003
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 460f08d286db7064f87b580a784ba0de
+folderAsset: yes
+timeCreated: 1500149996
+licenseType: Store
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bde3ce25a75338dd6c689f96de1c8520ab65336f
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f1709b7b4aaad8547ae8aecb2312cbd6
+folderAsset: yes
+timeCreated: 1476664160
+licenseType: Store
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.html b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.html
new file mode 100644
index 0000000000000000000000000000000000000000..4ab370e12f7ec524a94b9434b71282ec8f51b555
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.html
@@ -0,0 +1,208 @@
+<!doctype html>
+<html>
+<head>
+<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
+<title>Documentation.md</title><style type='text/css'>html, body {overflow-x: initial !important;}html { font-size: 14px; }
+body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1rem; line-height: 1.42857; color: rgb(51, 51, 51); overflow-x: hidden; background-color: rgb(255, 255, 255); }
+a:active, a:hover { outline: 0px; }
+.in-text-selection, ::selection { text-shadow: none; background: rgb(181, 214, 252); }
+#write { margin: 0px auto; height: auto; width: inherit; word-break: normal; word-wrap: break-word; position: relative; padding-bottom: 70px; white-space: pre-wrap; }
+body.typora-export { padding-left: 30px; padding-right: 30px; }
+@media screen and (max-width: 500px) { 
+  body.typora-export { padding-left: 0px; padding-right: 0px; }
+  .CodeMirror-sizer { margin-left: 0px !important; }
+  .CodeMirror-gutters { display: none !important; }
+}
+.typora-export #write { margin: 0px auto; }
+#write > p:first-child, #write > ul:first-child, #write > ol:first-child, #write > pre:first-child, #write > blockquote:first-child, #write > div:first-child, #write > table:first-child { margin-top: 30px; }
+img { max-width: 100%; }
+input, button, select, textarea { color: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; }
+input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
+::before, ::after, * { box-sizing: border-box; }
+#write p, #write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write div, #write pre { width: inherit; }
+#write p, #write h1, #write h2, #write h3, #write h4, #write h5, #write h6 { position: relative; }
+h1 { font-size: 2rem; }
+h2 { font-size: 1.8rem; }
+h3 { font-size: 1.6rem; }
+h4 { font-size: 1.4rem; }
+h5 { font-size: 1.2rem; }
+h6 { font-size: 1rem; }
+p { -webkit-margin-before: 1rem; -webkit-margin-after: 1rem; -webkit-margin-start: 0px; -webkit-margin-end: 0px; }
+.mathjax-block { margin-top: 0px; margin-bottom: 0px; -webkit-margin-before: 0rem; -webkit-margin-after: 0rem; }
+.hidden { display: none; }
+.md-blockmeta { color: rgb(204, 204, 204); font-weight: bold; font-style: italic; }
+a { cursor: pointer; }
+#write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; margin: 4px 0px 0px; }
+tr { break-inside: avoid; break-after: auto; }
+thead { display: table-header-group; }
+table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }
+table.md-table td { min-width: 80px; }
+.CodeMirror-gutters { border-right-width: 0px; background-color: inherit; }
+.CodeMirror { text-align: left; }
+.CodeMirror-placeholder { opacity: 0.3; }
+.CodeMirror pre { padding: 0px 4px; }
+.CodeMirror-lines { padding: 0px; }
+div.hr:focus { cursor: none; }
+pre { white-space: pre-wrap; }
+.CodeMirror-gutters { margin-right: 4px; }
+.md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; position: relative !important; background: inherit; }
+.md-diagram-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
+.md-fences .CodeMirror.CodeMirror-wrap { top: -1.6em; margin-bottom: -1.6em; }
+.md-fences.mock-cm { white-space: pre-wrap; }
+.show-fences-line-number .md-fences { padding-left: 0px; }
+.show-fences-line-number .md-fences.mock-cm { padding-left: 40px; }
+.footnotes { color: rgb(136, 136, 136); font-size: 0.9rem; padding-top: 1em; padding-bottom: 1em; }
+.footnotes + .footnotes { margin-top: -1em; }
+.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; text-decoration: none; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1rem; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: normal; text-align: left; box-sizing: content-box; direction: ltr; background: transparent; }
+li div { padding-top: 0px; }
+blockquote { margin: 1rem 0px; }
+li p, li .mathjax-block { margin: 0.5rem 0px; }
+li { margin: 0px; position: relative; }
+blockquote > :last-child { margin-bottom: 0px; }
+blockquote > :first-child { margin-top: 0px; }
+.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; }
+@media print { 
+  html, body { height: 100%; }
+  .typora-export * { -webkit-print-color-adjust: exact; }
+  h1, h2, h3, h4, h5, h6 { break-after: avoid-page; orphans: 2; }
+  p { orphans: 4; }
+  html.blink-to-pdf { font-size: 13px; }
+  .typora-export #write { padding-left: 1cm; padding-right: 1cm; }
+  .typora-export #write::after { height: 0px; }
+  @page { margin: 20mm 0mm; }
+}
+.footnote-line { margin-top: 0.714em; font-size: 0.7em; }
+a img, img a { cursor: pointer; }
+pre.md-meta-block { font-size: 0.8rem; min-height: 2.86rem; white-space: pre-wrap; display: block; background: rgb(204, 204, 204); }
+p > .md-image:only-child { display: inline-block; width: 100%; text-align: center; }
+#write .MathJax_Display { margin: 0.8em 0px 0px; }
+.mathjax-block { white-space: pre; overflow: hidden; width: 100%; }
+p + .mathjax-block { margin-top: -1.143rem; }
+.mathjax-block:not(:empty)::after { display: none; }
+[contenteditable="true"]:active, [contenteditable="true"]:focus { outline: none; box-shadow: none; }
+.task-list { list-style-type: none; }
+.task-list-item { position: relative; padding-left: 1em; }
+.task-list-item input { position: absolute; top: 0px; left: 0px; }
+.math { font-size: 1rem; }
+.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
+.md-toc-content { position: relative; margin-left: 0px; }
+.md-toc::after, .md-toc-content::after { display: none; }
+.md-toc-item { display: block; color: rgb(65, 131, 196); text-decoration: none; }
+.md-toc-inner:hover { }
+.md-toc-inner { display: inline-block; cursor: pointer; }
+.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: bold; }
+.md-toc-h2 .md-toc-inner { margin-left: 2em; }
+.md-toc-h3 .md-toc-inner { margin-left: 4em; }
+.md-toc-h4 .md-toc-inner { margin-left: 6em; }
+.md-toc-h5 .md-toc-inner { margin-left: 8em; }
+.md-toc-h6 .md-toc-inner { margin-left: 10em; }
+@media screen and (max-width: 48em) { 
+  .md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
+  .md-toc-h4 .md-toc-inner { margin-left: 5em; }
+  .md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
+  .md-toc-h6 .md-toc-inner { margin-left: 8em; }
+}
+a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
+.footnote-line a:not(.reversefootnote) { color: inherit; }
+.md-attr { display: none; }
+.md-fn-count::after { content: "."; }
+.md-tag { opacity: 0.5; }
+code { text-align: left; }
+h1 .md-tag, h2 .md-tag, h3 .md-tag, h4 .md-tag, h5 .md-tag, h6 .md-tag { font-weight: initial; opacity: 0.35; }
+a.md-header-anchor.md-print-anchor { border: none !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: none !important; text-decoration: initial !important; text-shadow: initial !important; background: transparent !important; }
+.md-inline-math .MathJax_SVG .noError { display: none !important; }
+.mathjax-block .MathJax_SVG_Display { text-align: center; margin: 1em 0em; position: relative; text-indent: 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; width: 100%; display: block !important; }
+.MathJax_SVG_Display, .md-inline-math .MathJax_SVG_Display { width: auto; margin: inherit; display: inline-block !important; }
+.MathJax_SVG .MJX-monospace { font-family: monospace; }
+.MathJax_SVG .MJX-sans-serif { font-family: sans-serif; }
+.MathJax_SVG { display: inline; font-style: normal; font-weight: normal; line-height: normal; zoom: 90%; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; }
+.MathJax_SVG * { transition: none; }
+
+
+@font-face { font-family: "Open Sans"; font-style: normal; font-weight: normal; src: local("Open Sans Regular"), url("./github/400.woff") format("woff"); }
+@font-face { font-family: "Open Sans"; font-style: italic; font-weight: normal; src: local("Open Sans Italic"), url("./github/400i.woff") format("woff"); }
+@font-face { font-family: "Open Sans"; font-style: normal; font-weight: bold; src: local("Open Sans Bold"), url("./github/700.woff") format("woff"); }
+@font-face { font-family: "Open Sans"; font-style: italic; font-weight: bold; src: local("Open Sans Bold Italic"), url("./github/700i.woff") format("woff"); }
+html { font-size: 16px; }
+body { font-family: "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; color: rgb(51, 51, 51); line-height: 1.6; }
+#write { max-width: 860px; margin: 0px auto; padding: 20px 30px 100px; }
+#write > ul:first-child, #write > ol:first-child { margin-top: 30px; }
+body > :first-child { margin-top: 0px !important; }
+body > :last-child { margin-bottom: 0px !important; }
+a { color: rgb(65, 131, 196); }
+h1, h2, h3, h4, h5, h6 { position: relative; margin-top: 1rem; margin-bottom: 1rem; font-weight: bold; line-height: 1.4; cursor: text; }
+h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { text-decoration: none; }
+h1 tt, h1 code { font-size: inherit; }
+h2 tt, h2 code { font-size: inherit; }
+h3 tt, h3 code { font-size: inherit; }
+h4 tt, h4 code { font-size: inherit; }
+h5 tt, h5 code { font-size: inherit; }
+h6 tt, h6 code { font-size: inherit; }
+h1 { padding-bottom: 0.3em; font-size: 2.25em; line-height: 1.2; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(238, 238, 238); }
+h2 { padding-bottom: 0.3em; font-size: 1.75em; line-height: 1.225; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(238, 238, 238); }
+h3 { font-size: 1.5em; line-height: 1.43; }
+h4 { font-size: 1.25em; }
+h5 { font-size: 1em; }
+h6 { font-size: 1em; color: rgb(119, 119, 119); }
+p, blockquote, ul, ol, dl, table { margin: 0.8em 0px; }
+li > ol, li > ul { margin: 0px; }
+hr { height: 4px; padding: 0px; margin: 16px 0px; border-width: 0px 0px 1px; border-style: none none solid; overflow: hidden; box-sizing: content-box; border-bottom-color: rgb(221, 221, 221); background-color: rgb(231, 231, 231); }
+body > h2:first-child { margin-top: 0px; padding-top: 0px; }
+body > h1:first-child { margin-top: 0px; padding-top: 0px; }
+body > h1:first-child + h2 { margin-top: 0px; padding-top: 0px; }
+body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child { margin-top: 0px; padding-top: 0px; }
+a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 { margin-top: 0px; padding-top: 0px; }
+h1 p, h2 p, h3 p, h4 p, h5 p, h6 p { margin-top: 0px; }
+li p.first { display: inline-block; }
+ul, ol { padding-left: 30px; }
+ul:first-child, ol:first-child { margin-top: 0px; }
+ul:last-child, ol:last-child { margin-bottom: 0px; }
+blockquote { border-left-width: 4px; border-left-style: solid; border-left-color: rgb(221, 221, 221); padding: 0px 15px; color: rgb(119, 119, 119); }
+blockquote blockquote { padding-right: 0px; }
+table { padding: 0px; }
+table tr { border-top-width: 1px; border-top-style: solid; border-top-color: rgb(204, 204, 204); margin: 0px; padding: 0px; background-color: white; }
+table tr:nth-child(2n) { background-color: rgb(248, 248, 248); }
+table tr th { font-weight: bold; border: 1px solid rgb(204, 204, 204); text-align: left; margin: 0px; padding: 6px 13px; }
+table tr td { border: 1px solid rgb(204, 204, 204); text-align: left; margin: 0px; padding: 6px 13px; }
+table tr th:first-child, table tr td:first-child { margin-top: 0px; }
+table tr th:last-child, table tr td:last-child { margin-bottom: 0px; }
+.CodeMirror-gutters { border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); }
+.md-fences, code, tt { border: 1px solid rgb(221, 221, 221); border-radius: 3px; font-family: Consolas, "Liberation Mono", Courier, monospace; padding: 2px 4px 0px; font-size: 0.9em; background-color: rgb(248, 248, 248); }
+.md-fences { margin-bottom: 15px; margin-top: 15px; padding: 8px 1em 6px; }
+.task-list { padding-left: 0px; }
+.task-list-item { padding-left: 32px; }
+.task-list-item input { top: 3px; left: 8px; }
+@media screen and (min-width: 914px) { 
+}
+@media print { 
+  html { font-size: 13px; }
+  table, pre { break-inside: avoid; }
+  pre { word-wrap: break-word; }
+}
+.md-fences { background-color: rgb(248, 248, 248); }
+#write pre.md-meta-block { padding: 1rem; font-size: 85%; line-height: 1.45; border: 0px; border-radius: 3px; color: rgb(119, 119, 119); margin-top: 0px !important; background-color: rgb(247, 247, 247); }
+.mathjax-block > .code-tooltip { bottom: 0.375rem; }
+#write > h3.md-focus::before { left: -1.5625rem; top: 0.375rem; }
+#write > h4.md-focus::before { left: -1.5625rem; top: 0.285714rem; }
+#write > h5.md-focus::before { left: -1.5625rem; top: 0.285714rem; }
+#write > h6.md-focus::before { left: -1.5625rem; top: 0.285714rem; }
+.md-image > .md-meta { border: 1px solid rgb(221, 221, 221); border-radius: 3px; font-family: Consolas, "Liberation Mono", Courier, monospace; padding: 2px 4px 0px; font-size: 0.9em; color: inherit; background-color: rgb(248, 248, 248); }
+.md-tag { color: inherit; }
+.md-toc { margin-top: 20px; padding-bottom: 20px; }
+#typora-quick-open { border: 1px solid rgb(221, 221, 221); background-color: rgb(248, 248, 248); }
+#typora-quick-open-item { border-color: rgb(254, 254, 254) rgb(229, 229, 229) rgb(229, 229, 229) rgb(238, 238, 238); border-style: solid; border-width: 1px; background-color: rgb(250, 250, 250); }
+.on-focus-mode blockquote { border-left-color: rgba(85, 85, 85, 0.117647); }
+header, .context-menu, .megamenu-content, footer { font-family: "Segoe UI", Arial, sans-serif; }
+
+
+
+
+
+
+</style>
+</head>
+<body class='typora-export ' >
+<div  id='write'  class = 'is-node'><h1><a name='header-c1' class='md-header-anchor '></a>Line Endings Fixer</h1><p></p><h2><a name='header-c8' class='md-header-anchor '></a>Overview</h2><p>This asset contains a script that automatically fixes line endings on your script based. It&#39;ll watch the logs of the console for reports of mixed line endings and automatically fix it for you based on your line-ending choice.</p><h2><a name='header-c11' class='md-header-anchor '></a>Configuration</h2><p>To configure which type of line ending you want, just go to <strong>Tools</strong> &gt; <strong>Line Endings Fixer</strong> and select which line ending you want for your project.</p><p> <img src='Images\settings.png' alt='settings' /></p><p>Note that there&#39;s no &quot;batch&quot; processing, only scripts reported on console will be fixed. </p><h2><a name='header-c18' class='md-header-anchor '></a>Contact</h2><p>If you have any questions, drop me an email at <a href='mailto://wolfulus@gmail.com' target='_blank' >wolfulus@gmail.com</a>. </p><p>Thank you!</p><p><a href='https://wolfulus.com/' target='_blank' >https://wolfulus.com/</a>
+<a href='https://twitter.com/wolfulus' target='_blank' >https://twitter.com/wolfulus</a></p></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.html.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.html.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6be66a91e603f8ac78360a1380cda6ecda1f91da
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.html.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f972ffd62a978474287a70b8e17d7049
+timeCreated: 1476664671
+licenseType: Store
+TextScriptImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.md b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.md
new file mode 100644
index 0000000000000000000000000000000000000000..38770d1aedae5548b3b4c7a607ddb4d28a0b0617
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.md
@@ -0,0 +1,24 @@
+# Line Endings Fixer
+
+
+
+## Overview 
+
+This asset contains a script that automatically fixes line endings on your script based. It'll watch the logs of the console for reports of mixed line endings and automatically fix it for you based on your line-ending choice.
+
+## Configuration
+
+To configure which type of line ending you want, just go to **Tools** > **Line Endings Fixer** and select which line ending you want for your project.
+
+ ![settings](Images\settings.png)
+
+Note that there's no "batch" processing, only scripts reported on console will be fixed. 
+
+## Contact
+
+If you have any questions, drop me an email at wolfulus@gmail.com. 
+
+Thank you!
+
+https://wolfulus.com/
+https://twitter.com/wolfulus
\ No newline at end of file
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.md.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.md.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bf3270cab399d861abcd6416403d2da38af4b783
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.md.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 60dfa05c841f3fd428301f4c53ef1d8c
+timeCreated: 1476664670
+licenseType: Store
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.pdf b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..268787d4055e8e31a5b549daab321877f266a5dc
Binary files /dev/null and b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.pdf differ
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.pdf.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.pdf.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dd22d5e8e46c54aede24b693909ed6855e34c331
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Documentation.pdf.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8e3f231d606836d47bf6cc739fe46b84
+timeCreated: 1476664670
+licenseType: Store
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images.meta
new file mode 100644
index 0000000000000000000000000000000000000000..43ce4dcca0ad926b8eb897c12cfb865d0eaed9d6
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e44efaf0c62589845829e28d295e4c5d
+folderAsset: yes
+timeCreated: 1476664670
+licenseType: Store
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images/settings.png b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images/settings.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0d5ff2f847ea238c8416361a3c0c1ec14c0d646
Binary files /dev/null and b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images/settings.png differ
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images/settings.png.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images/settings.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a281db5b14bc8f2e45b87860d202096f4c4f6ae7
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Documentation/Images/settings.png.meta
@@ -0,0 +1,59 @@
+fileFormatVersion: 2
+guid: bd2078584a71a604ba5291f0213c11d2
+timeCreated: 1476664670
+licenseType: Store
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  allowsAlphaSplitting: 0
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor.meta
new file mode 100644
index 0000000000000000000000000000000000000000..77bf67e1a8b86e508d126faba02517976c9b972e
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 61a1b1c75661f7949a65807110037a40
+folderAsset: yes
+timeCreated: 1500149996
+licenseType: Store
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/Enums.cs b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/Enums.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f130cd4c5bcb0d45adb350c0cc238faa4274708f
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/Enums.cs
@@ -0,0 +1,46 @@
+
+using System;
+
+namespace WoLfulus.LineEnding
+{
+    [Flags]
+    public enum Mode
+    {
+        Error = 1,
+        Assert = 2,
+        Log = 4,
+        Fatal = 16,
+        DontPreprocessCondition = 32,
+        AssetImportError = 64,
+        AssetImportWarning = 128,
+        ScriptingError = 256,
+        ScriptingWarning = 512,
+        ScriptingLog = 1024,
+        ScriptCompileError = 2048,
+        ScriptCompileWarning = 4096,
+        StickyError = 8192,
+        MayIgnoreLineNumber = 16384,
+        ReportBug = 32768,
+        DisplayPreviousErrorInStatusBar = 65536,
+        ScriptingException = 131072,
+        DontExtractStacktrace = 262144,
+        ShouldClearOnPlay = 524288,
+        GraphCompileError = 1048576,
+        ScriptingAssertion = 2097152,
+    }
+
+    [Flags]
+    public enum ConsoleFlags
+    {
+        Collapse = 1,
+        ClearOnPlay = 2,
+        ErrorPause = 4,
+        Verbose = 8,
+        StopForAssert = 16,
+        StopForError = 32,
+        Autoscroll = 64,
+        LogLevelLog = 128,
+        LogLevelWarning = 256,
+        LogLevelError = 512,
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/Enums.cs.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/Enums.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..33bbe9179294112ba0dd21e5c3f81199648aed43
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/Enums.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 66ccfdf2ae714c24fbb83439bccd54f6
+timeCreated: 1500149996
+licenseType: Store
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/FileMonitor.cs b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/FileMonitor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c4b079060b189ada6e730e20da181d830840a79b
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/FileMonitor.cs
@@ -0,0 +1,201 @@
+using System.Collections.Generic;
+using System.IO;
+using UnityEditor;
+using UnityEditor.Callbacks;
+using UnityEngine;
+
+//#pragma warning disable 0414
+namespace WoLfulus.LineEnding
+{
+    /// <summary>
+    /// Initialize on load
+    /// </summary>
+    [InitializeOnLoad]
+    public class FileMonitor
+    {
+
+        private const string WindowsStyle = "\r\n";
+        private const string UnixStyle = "\n";
+        private const string MacStyle = "\r";
+
+        private const string MenuPrefix = "Tools/Line Endings Fixer/";
+
+        private const string MenuWindows = MenuPrefix + "Windows";
+        private const string MenuUnix = MenuPrefix + "Unix";
+        private const string MenuMac = MenuPrefix + "Mac OSX";
+
+        private const string ConfigurationId = "WoLfulus_LEF_Type";
+
+        /// <summary>
+        /// Initializer
+        /// </summary>
+        static FileMonitor()
+        {
+            EditorApplication.delayCall += () =>
+            {
+                if (!EditorPrefs.HasKey(ConfigurationId))
+                {
+                    EditorPrefs.SetString(ConfigurationId, "win");
+                }
+
+                Menu.SetChecked(MenuWindows, false);
+                Menu.SetChecked(MenuUnix, false);
+                Menu.SetChecked(MenuMac, false);
+
+                var type = EditorPrefs.GetString(ConfigurationId);
+                if (type == "win")
+                {
+                    Menu.SetChecked(MenuWindows, true);
+                }
+                else if (type == "unix")
+                {
+                    Menu.SetChecked(MenuUnix, true);
+                }
+                else if (type == "mac")
+                {
+                    Menu.SetChecked(MenuMac, true);
+                }
+            };
+        }
+
+        /// <summary>
+        /// Windows style
+        /// </summary>
+        [MenuItem(MenuWindows)]
+        private static void SetWindows()
+        {
+            Menu.SetChecked(MenuWindows, true);
+            Menu.SetChecked(MenuUnix, false);
+            Menu.SetChecked(MenuMac, false);
+            Debug.Log("Line endings changed to Windows");
+            EditorPrefs.SetString(ConfigurationId, "win");
+        }
+
+        /// <summary>
+        /// Windows style
+        /// </summary>
+        [MenuItem(MenuUnix)]
+        private static void SetUnix()
+        {
+            Menu.SetChecked(MenuWindows, false);
+            Menu.SetChecked(MenuUnix, true);
+            Menu.SetChecked(MenuMac, false);
+            Debug.Log("Line endings changed to Unix");
+            EditorPrefs.SetString(ConfigurationId, "unix");
+        }
+
+        /// <summary>
+        /// Windows style
+        /// </summary>
+        [MenuItem(MenuMac)]
+        private static void SetMac()
+        {
+            Menu.SetChecked(MenuWindows, false);
+            Menu.SetChecked(MenuUnix, false);
+            Menu.SetChecked(MenuMac, true);
+            Debug.Log("Line endings changed to Mac OSX");
+            EditorPrefs.SetString(ConfigurationId, "mac");
+        }
+
+        /// <summary>
+        /// Collect files from log entries
+        /// </summary>
+        private static IEnumerable<string> Collect()
+        {
+            var files = new List<string>();
+            var flags = LogEntries.consoleFlags;
+
+            LogEntries.SetConsoleFlag((int)ConsoleFlags.LogLevelLog, false);
+            LogEntries.SetConsoleFlag((int)ConsoleFlags.LogLevelWarning, true);
+            LogEntries.SetConsoleFlag((int)ConsoleFlags.LogLevelError, false);
+
+            LogEntries.StartGettingEntries();
+
+            var count = LogEntries.GetCount();
+            for (int i = 0; i < count; i++)
+            {
+                LogEntries.GetEntryInternal(i, LogEntry.instance);
+                if ((LogEntry.mode & Mode.AssetImportWarning) != 0)
+                {
+                    var condition = LogEntry.condition;
+                    if (!string.IsNullOrEmpty(condition) && condition.Contains("inconsistent line endings"))
+                    {
+                        files.Add(LogEntry.file);
+                    }
+                }
+            }
+
+            LogEntries.EndGettingEntries();
+            LogEntries.consoleFlags = flags;
+
+            return files.ToArray();
+        }
+
+        /// <summary>
+        /// Fix stuff
+        /// </summary>
+        static void FixFiles()
+        {
+            var files = Collect();
+
+            var endingType = EditorPrefs.GetString(ConfigurationId);
+            var ending = "\r\n";
+
+            if (endingType == "win")
+            {
+                ending = WindowsStyle;
+            }
+            else if (endingType == "unix")
+            {
+                ending = UnixStyle;
+            }
+            else if (endingType == "mac")
+            {
+                ending = MacStyle;
+            }
+            else
+            {
+                Debug.Log("Line Endings Fixer settings not detected. You might want to select a line ending style.");
+                return;
+            }
+
+            int filesFixed = 0;
+
+            foreach (var file in files)
+            {
+                if (!File.Exists(file))
+                {
+                    Debug.LogError("File '" + file + "' is reported to have wrong line endings but the file itself couldn't be found.");
+                    continue;
+                }
+
+                var fileContents = File.ReadAllText(file).Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", ending);
+                File.WriteAllText(file, fileContents);
+
+                EditorApplication.delayCall += () =>
+                {
+                    AssetDatabase.ImportAsset(file, ImportAssetOptions.ForceUpdate);
+                };
+
+                filesFixed++;
+            }
+
+            if (filesFixed > 0)
+            {
+                Debug.Log("Fixed " + filesFixed + " files with mixed line endings.");
+            }
+        }
+
+        /// <summary>
+        /// Scripts reloaded
+        /// </summary>
+        [DidReloadScripts]
+        static void ScriptsReloaded()
+        {
+            if (!EditorApplication.isPlaying)
+            {
+                FixFiles();
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/FileMonitor.cs.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/FileMonitor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a84a3473be18545fffa34e3e52e7ddbfdd1a7bc
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/FileMonitor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 878946dea992d444bbb127ad0bd8aa95
+timeCreated: 1500149996
+licenseType: Store
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntries.cs b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntries.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ebdd6f36bddbdbc1e971878a9aaafb09ac84b2c8
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntries.cs
@@ -0,0 +1,150 @@
+using System;
+using System.Reflection;
+using UnityEditor;
+
+namespace WoLfulus.LineEnding
+{
+    [InitializeOnLoad]
+    public static class LogEntries
+    {
+        private static Type _type;
+
+        private static PropertyInfo _consoleFlags;
+        private static MethodInfo _SetConsoleFlag;
+        private static MethodInfo _RowGotDoubleClicked;
+        private static MethodInfo _GetStatusText;
+        private static MethodInfo _GetStatusMask;
+        private static MethodInfo _StartGettingEntries;
+        private static MethodInfo _EndGettingEntries;
+        private static MethodInfo _GetFirstTwoLinesEntryTextAndModeInternal;
+        private static MethodInfo _GetEntryCount;
+        private static MethodInfo _GetEntryInternal;
+        private static MethodInfo _GetCount;
+        private static MethodInfo _GetCountsByType;
+        private static MethodInfo _GetStatusViewErrorIndex;
+        private static MethodInfo _ClickStatusBar;
+        private static MethodInfo _Clear;
+
+
+        static LogEntries()
+        {
+            var flags = BindingFlags.Static | BindingFlags.Public;
+
+            if (_type == null)
+            {
+                Assembly assembly = Assembly.GetAssembly(typeof(Editor));
+                _type = assembly.GetType("UnityEditorInternal.LogEntries");
+                if (_type == null) // 2017 Fix
+                {
+                    _type = assembly.GetType("UnityEditor.LogEntries");
+                }
+
+                _consoleFlags = _type.GetProperty("consoleFlags", flags);
+                _SetConsoleFlag = _type.GetMethod("SetConsoleFlag", flags);
+
+                _RowGotDoubleClicked = _type.GetMethod("RowGotDoubleClicked", flags);
+
+                _GetStatusText = _type.GetMethod("GetStatusText", flags);
+                _GetStatusMask = _type.GetMethod("GetStatusMask", flags);
+
+                _StartGettingEntries = _type.GetMethod("StartGettingEntries", flags);
+                _EndGettingEntries = _type.GetMethod("EndGettingEntries", flags);
+
+                _GetFirstTwoLinesEntryTextAndModeInternal = _type.GetMethod("GetFirstTwoLinesEntryTextAndModeInternal", flags);
+
+                _GetEntryCount = _type.GetMethod("GetEntryCount", flags);
+                _GetEntryInternal = _type.GetMethod("GetEntryInternal", flags);
+
+                _GetCount = _type.GetMethod("GetCount", flags);
+                _GetCountsByType = _type.GetMethod("GetCountsByType", flags);
+
+                _GetStatusViewErrorIndex = _type.GetMethod("GetStatusViewErrorIndex", flags);
+                _ClickStatusBar = _type.GetMethod("ClickStatusBar", flags);
+
+                _Clear = _type.GetMethod("Clear", flags);
+            }
+        }
+
+        public static int consoleFlags
+        {
+            get
+            {
+                return (int)_consoleFlags.GetValue(null, null);
+            }
+            set
+            {
+                _consoleFlags.SetValue(null, value, null);
+            }
+        }
+
+        public static void RowGotDoubleClicked(int index)
+        {
+            _RowGotDoubleClicked.Invoke(null, new object[1] { index });
+        }
+
+        public static string GetStatusText()
+        {
+            return (string)_GetStatusText.Invoke(null, new object[0]);
+        }
+
+        public static int GetStatusMask()
+        {
+            return (int)_GetStatusMask.Invoke(null, new object[0]);
+        }
+
+        public static int StartGettingEntries()
+        {
+            return (int)_StartGettingEntries.Invoke(null, new object[0]);
+        }
+
+        public static void SetConsoleFlag(int bit, bool value)
+        {
+            _SetConsoleFlag.Invoke(null, new object[2] { bit, value });
+        }
+
+        public static void EndGettingEntries()
+        {
+            _EndGettingEntries.Invoke(null, new object[0]);
+        }
+
+        public static int GetCount()
+        {
+            return (int)_GetCount.Invoke(null, new object[0]);
+        }
+
+        public static void GetCountsByType(ref int errorCount, ref int warningCount, ref int logCount)
+        {
+            _GetCountsByType.Invoke(null, new object[3] { errorCount, warningCount, logCount });
+        }
+
+        public static void GetFirstTwoLinesEntryTextAndModeInternal(int row, ref int mask, ref string outString)
+        {
+            _GetFirstTwoLinesEntryTextAndModeInternal.Invoke(null, new object[3] { row, mask, outString });
+        }
+
+        public static bool GetEntryInternal(int row, object outputEntry)
+        {
+            return (bool)_GetEntryInternal.Invoke(null, new object[2] { row, outputEntry });
+        }
+
+        public static int GetEntryCount(int row)
+        {
+            return (int)_GetEntryCount.Invoke(null, new object[1] { row });
+        }
+
+        public static void Clear()
+        {
+            _Clear.Invoke(null, new object[0]);
+        }
+
+        public static int GetStatusViewErrorIndex()
+        {
+            return (int)_GetStatusViewErrorIndex.Invoke(null, new object[0]);
+        }
+
+        public static void ClickStatusBar(int count)
+        {
+            _ClickStatusBar.Invoke(null, new object[1] { count });
+        }
+    }
+}
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntries.cs.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntries.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a8c284821a5abee29461080e8963fd1447c36c2
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntries.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 99af3a8e663ff6e41a5551d6b28f7b91
+timeCreated: 1500149996
+licenseType: Store
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntry.cs b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntry.cs
new file mode 100644
index 0000000000000000000000000000000000000000..60aa9c339f7d6c370d4e322cee0f00b799724387
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntry.cs
@@ -0,0 +1,117 @@
+using System;
+using System.Reflection;
+using UnityEditor;
+
+namespace WoLfulus.LineEnding
+{
+    public static class LogEntry
+    {
+        public static object instance = null;
+
+        public static string condition
+        {
+            get
+            {
+                return (string)_condition.GetValue(instance);
+            }
+        }
+
+        public static int errorNum
+        {
+            get
+            {
+                return (int)_errorNum.GetValue(instance);
+            }
+        }
+
+        public static string file
+        {
+            get
+            {
+                return (string)_file.GetValue(instance);
+            }
+        }
+
+        public static int line
+        {
+            get
+            {
+                return (int)_line.GetValue(instance);
+            }
+        }
+
+        public static Mode mode
+        {
+            get
+            {
+                return (Mode)((int)_mode.GetValue(instance));
+            }
+        }
+
+        public static int instanceID
+        {
+            get
+            {
+                return (int)_instanceID.GetValue(instance);
+            }
+        }
+
+        public static int identifier
+        {
+            get
+            {
+                return (int)_identifier.GetValue(instance);
+            }
+        }
+
+        public static int isWorldPlaying
+        {
+            get
+            {
+                return (int)_isWorldPlaying.GetValue(instance);
+            }
+        }
+
+        private static Type _type = null;
+
+        private static FieldInfo _condition;
+        private static FieldInfo _errorNum;
+        private static FieldInfo _file;
+        private static FieldInfo _line;
+        private static FieldInfo _mode;
+        private static FieldInfo _instanceID;
+        private static FieldInfo _identifier;
+        private static FieldInfo _isWorldPlaying;
+
+        static LogEntry()
+        {
+            Initialize();
+        }
+
+        static void Initialize()
+        {
+            if (_type == null)
+            {
+                var flags = BindingFlags.Instance | BindingFlags.Public;
+
+                var assembly = Assembly.GetAssembly(typeof(Editor));
+                _type = assembly.GetType("UnityEditorInternal.LogEntry");
+                if (_type == null) // 2017 Fix
+                {
+                    _type = assembly.GetType("UnityEditor.LogEntry");
+                }
+
+                _condition = _type.GetField("condition", flags);
+                _errorNum = _type.GetField("errorNum", flags);
+                _file = _type.GetField("file", flags);
+                _line = _type.GetField("line", flags);
+                _mode = _type.GetField("mode", flags);
+                _instanceID = _type.GetField("instanceID", flags);
+                _identifier = _type.GetField("identifier", flags);
+                _isWorldPlaying = _type.GetField("isWorldPlaying", flags);
+
+                instance = Activator.CreateInstance(_type);
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntry.cs.meta b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntry.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7c2a0fab82fe5917121e937ff65e14189c7bf864
--- /dev/null
+++ b/T3-Unity/Assets/ThirdPartyAssets/WoLfulus/LineEnding/Editor/LogEntry.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ef774846cf2b8b2409ad3a7a2334828e
+timeCreated: 1500149996
+licenseType: Store
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface.meta b/T3-Unity/Assets/UnityARInterface.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0ed9b577cb5d94f7bf74c268a08a8d363d761ebe
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 67e11b50dcd5c7244a9205257784ab20
+folderAsset: yes
+timeCreated: 1505938985
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote.meta b/T3-Unity/Assets/UnityARInterface/ARRemote.meta
new file mode 100644
index 0000000000000000000000000000000000000000..50f3f88662d029e3bc6df4305fc54b6de9f8a98d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6a6310a833df044b6ae89452415af2bb
+folderAsset: yes
+timeCreated: 1506465159
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/RemoteDevice.unity b/T3-Unity/Assets/UnityARInterface/ARRemote/RemoteDevice.unity
new file mode 100644
index 0000000000000000000000000000000000000000..3ade51053f6eb2ae556a912b63f89cfbdd04a18e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/RemoteDevice.unity
@@ -0,0 +1,285 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &400637991
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 400637993}
+  - component: {fileID: 400637992}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!20 &400637992
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 400637991}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 2
+  m_BackGroundColor: {r: 0.5334236, g: 0.037305348, b: 0.8455882, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &400637993
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 400637991}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1003723110
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1003723112}
+  - component: {fileID: 1003723111}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1003723111
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1003723110}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1003723112
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1003723110}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1342372538
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1342372541}
+  - component: {fileID: 1342372539}
+  m_Layer: 0
+  m_Name: ARSetup
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1342372539
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1342372538}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0078e7733aac8ff4d9c017dfd89991e0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 400637992}
+  m_SendVideo: 1
+--- !u!4 &1342372541
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1342372538}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/RemoteDevice.unity.meta b/T3-Unity/Assets/UnityARInterface/ARRemote/RemoteDevice.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..75083393c9295b79553fad3835b886191215806c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/RemoteDevice.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 20b446302c6bc5a4db8e59fc358aba13
+timeCreated: 1506036642
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts.meta b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e7d2dda5bd7bbf786941c2bf73aa36652d88e3e9
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8a5e6588792c24edf97c0345722d7fa6
+folderAsset: yes
+timeCreated: 1506465385
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteDevice.cs b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteDevice.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5404eb4236169bb9ba67e562cd5f51961119e3c3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteDevice.cs
@@ -0,0 +1,320 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.Networking.PlayerConnection;
+using Utils;
+
+// Runs on the remote device. Talks to the Editor.
+namespace UnityARInterface
+{
+    public class ARRemoteDevice : MonoBehaviour
+    {
+        [SerializeField]
+        protected Camera m_ARCamera;
+
+        private bool m_SendVideo;
+        private ARInterface.Settings m_CachedSettings;
+        private ARInterface.PointCloud m_PointCloud;
+        private ARInterface.CameraImage m_CameraImage;
+        private bool m_HaveSentCameraParams;
+
+        private ARInterface m_ARInterface;
+        private PlayerConnection m_PlayerConnection;
+        private int m_EditorId;
+        public bool isConnected { get { return m_PlayerConnection.isConnected; } }
+        private Dictionary<Guid, UnityAction<SerializableSubMessage>> m_MessageHandler =
+            new Dictionary<Guid, UnityAction<SerializableSubMessage>>();
+
+        private bool m_BackgroundRendering;
+        public bool BackgroundRendering
+        {
+            get
+            {
+                return m_BackgroundRendering;
+            }
+            set
+            {
+                m_BackgroundRendering = value;
+                if (m_ARInterface != null){
+                    m_ARInterface.BackgroundRendering = m_BackgroundRendering;
+                }
+            }
+        }
+
+        public bool IsRunning
+        {
+            get
+            {
+                if (m_ARInterface == null)
+                    return false;
+                return m_ARInterface.IsRunning;
+            }
+        }
+
+        void Register(Guid guid, UnityAction<SerializableSubMessage> handler)
+        {
+            m_MessageHandler.Add(guid, handler);
+        }
+
+        void Start()
+        {
+            Debug.Log("Connecting to editor...");
+            m_EditorId = -1;
+            m_PlayerConnection = PlayerConnection.instance;
+            m_PlayerConnection.RegisterConnection(EditorConnectedEventHandler);
+            m_PlayerConnection.RegisterDisconnection(EditorDisconnectedEventHandler);
+            m_PlayerConnection.Register(ARMessageIds.fromEditor, FromEditorMessageHandler);
+
+            // The PlayerConnection object can only register a single callback
+            // (this is a bug). To listen to more than one type of message,
+            // we register a generic one in the PlayerConnection and then
+            // decode its meaning with these "SubMessageIds".
+            Register(ARMessageIds.SubMessageIds.startService, StartServiceMessageHandler);
+            Register(ARMessageIds.SubMessageIds.stopService, StopServiceMessageHandler);
+            Register(ARMessageIds.SubMessageIds.enableVideo, EnableVideoMessageHandler);
+            Register(ARMessageIds.SubMessageIds.backgroundRendering, BackgroundRenderingMessageHandler);
+        }
+
+        private void OnDisable()
+        {
+            if (m_PlayerConnection != null)
+                m_PlayerConnection.DisconnectAll();
+        }
+
+        void OnGUI()
+        {
+            string message = "";
+            if (isConnected && !IsRunning)
+            {
+                message = "Connected. Waiting for Editor.";
+            }
+            else if (!isConnected)
+            {
+                message = "Waiting for editor connection...";
+            }
+            else
+            {
+                return;
+            }
+
+            var rect = new Rect((Screen.width / 2) - 200, (Screen.height / 2), 400, 50);
+            GUI.Box(rect, message);
+        }
+
+        void StopServiceMessageHandler(SerializableSubMessage message)
+        {
+            if (m_ARInterface != null)
+                StopService();
+        }
+
+        void StopService()
+        {
+            StopAllCoroutines();
+            m_ARInterface.StopService();
+            ARInterface.planeAdded -= PlaneAddedHandler;
+            ARInterface.planeUpdated -= PlaneUpdatedHandler;
+            ARInterface.planeRemoved -= PlaneRemovedHandler;
+            m_ARInterface = null;
+            m_HaveSentCameraParams = false;
+        }
+
+        void EnableVideoMessageHandler(SerializableSubMessage message)
+        {
+            var requestedVideoState = message.GetDataAs<SerializableEnableVideo>();
+            m_SendVideo = requestedVideoState.enableVideo;
+            m_HaveSentCameraParams = false;
+        }
+
+        void BackgroundRenderingMessageHandler(SerializableSubMessage message)
+        {
+            var requestedBackgroundRenderingState = message.GetDataAs<SerializableBackgroundRendering>();
+            BackgroundRendering = requestedBackgroundRenderingState.backgroundRendering;
+        }
+
+        void StartServiceMessageHandler(SerializableSubMessage message)
+        {
+            var settings = message.GetDataAs<SerializableARSettings>();
+            if (settings == null)
+                return;
+
+            if (IsRunning)
+            {
+                Debug.LogWarning("Received message to start service while service is already running. Restarting.");
+                m_ARInterface.StopService();
+            }
+
+            StartService(settings);
+        }
+
+        void FromEditorMessageHandler(MessageEventArgs args)
+        {
+            var subMessage = args.data.Deserialize<SerializableSubMessage>();
+            if (subMessage != null)
+            {
+                UnityAction<SerializableSubMessage> handler = null;
+                if (m_MessageHandler.TryGetValue(subMessage.subMessageId, out handler))
+                {
+                    handler.Invoke(subMessage);
+                }
+            }
+        }
+
+        void StartService(SerializableARSettings serializedSettings)
+        {
+            m_CachedSettings = serializedSettings;
+
+            StopAllCoroutines();
+            StartCoroutine(StartServiceRoutine());
+        }
+
+        IEnumerator StartServiceRoutine()
+        {
+            var arInterface = ARInterface.GetInterface();
+
+            yield return arInterface.StartService(m_CachedSettings);
+            if (!arInterface.IsRunning)
+                yield break;
+
+            m_ARInterface = arInterface;
+            m_ARInterface.SetupCamera(m_ARCamera);
+            m_ARInterface.BackgroundRendering = BackgroundRendering;
+
+            ARInterface.planeAdded += PlaneAddedHandler;
+            ARInterface.planeUpdated += PlaneUpdatedHandler;
+            ARInterface.planeRemoved += PlaneRemovedHandler;
+        }
+
+
+        public void PlaneAddedHandler(BoundedPlane plane)
+        {
+            SerializableBoundedPlane serializedPlane = plane;
+            SendToEditor(ARMessageIds.addPlane, serializedPlane);
+        }
+
+        public void PlaneUpdatedHandler(BoundedPlane plane)
+        {
+            SerializableBoundedPlane serializedPlane = plane;
+            SendToEditor(ARMessageIds.updatePlane, serializedPlane);
+        }
+
+        public void PlaneRemovedHandler(BoundedPlane plane)
+        {
+            SerializableBoundedPlane serializedPlane = plane;
+            SendToEditor(ARMessageIds.removePlane, serializedPlane);
+        }
+
+        void EditorConnectedEventHandler(int playerId)
+        {
+            m_EditorId = playerId;
+        }
+
+        void EditorDisconnectedEventHandler(int playerId)
+        {
+            if (m_EditorId == playerId)
+                m_EditorId = -1;
+
+            DisconnectFromEditor();
+
+            if (m_ARInterface != null)
+                StopService();
+        }
+
+        public void DisconnectFromEditor()
+        {
+#if UNITY_2017_1_OR_NEWER
+            m_PlayerConnection.DisconnectAll();
+#endif
+        }
+
+        public void SendToEditor(System.Guid msgId, byte[] data)
+        {
+            if (m_PlayerConnection.isConnected)
+                m_PlayerConnection.Send(msgId, data);
+        }
+
+        public void SendToEditor(System.Guid msgId, object serializableObject)
+        {
+            byte[] arrayToSend = serializableObject.SerializeToByteArray();
+            SendToEditor(msgId, arrayToSend);
+        }
+
+        void OnEnable()
+        {
+            Application.targetFrameRate = 60;
+            Screen.sleepTimeout = SleepTimeout.NeverSleep;
+
+            // See if we are on a camera
+            if (m_ARCamera == null)
+                m_ARCamera = GetComponent<Camera>();
+
+            // Fallback to main camera
+            if (m_ARCamera == null)
+                m_ARCamera = Camera.main;
+        }
+
+        private void Update()
+        {
+            if (m_ARInterface == null)
+                return;
+            
+            m_ARInterface.Update();
+            m_ARInterface.UpdateCamera(m_ARCamera);
+
+            Pose pose = new Pose();
+            if (m_ARInterface.TryGetPose(ref pose))
+            {
+                m_ARCamera.transform.position = pose.position;
+                m_ARCamera.transform.rotation = pose.rotation;
+            }
+
+            if (isConnected && IsRunning)
+            {
+                var serializedFrame = new SerializableFrame(
+                    m_ARCamera.projectionMatrix,
+                    m_ARCamera.transform.position,
+                    m_ARCamera.transform.rotation,
+					m_ARInterface.GetDisplayTransform());
+
+                SendToEditor(ARMessageIds.frame, serializedFrame);
+
+                if (m_CachedSettings.enablePointCloud)
+                {
+                    if (m_ARInterface.TryGetPointCloud(ref m_PointCloud))
+                    {
+                        var serializedPointCloud = new SerializablePointCloud(m_PointCloud);
+                        SendToEditor(ARMessageIds.pointCloud, serializedPointCloud);
+                    }
+                }
+
+                if (m_CachedSettings.enableLightEstimation)
+                {
+                    var serializedLightEstimate = (SerializableLightEstimate)m_ARInterface.GetLightEstimate();
+                    SendToEditor(ARMessageIds.lightEstimate, serializedLightEstimate);
+                }
+
+                if (m_SendVideo && m_ARInterface.BackgroundRendering)
+                {
+                    if (m_ARInterface.TryGetCameraImage(ref m_CameraImage))
+                    {
+                        if (!m_HaveSentCameraParams)
+                        {
+                            var screenCaptureParams = new SerializableScreenCaptureParams(
+                                m_CameraImage.width,
+                                m_CameraImage.height,
+                                (int)TextureFormat.YUY2);
+
+                            SendToEditor(ARMessageIds.screenCaptureParams, screenCaptureParams);
+                            m_HaveSentCameraParams = true;
+                        }
+
+                        SendToEditor(ARMessageIds.screenCaptureY, m_CameraImage.y);
+                        SendToEditor(ARMessageIds.screenCaptureUV, m_CameraImage.uv);
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteDevice.cs.meta b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteDevice.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1e0c5fcfdb8147612866dffad0657593a13aaff3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteDevice.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 0078e7733aac8ff4d9c017dfd89991e0
+timeCreated: 1505960727
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditor.cs b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..37e7bd7de4c8a9ecbe21484089c2da65157b294b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditor.cs
@@ -0,0 +1,201 @@
+using UnityEngine;
+
+#if UNITY_EDITOR
+using UnityEngine.Networking.PlayerConnection;
+using UnityEditor.Networking.PlayerConnection;
+#endif
+
+namespace UnityARInterface
+{
+    public class ARRemoteEditor : ARController
+    {
+        [SerializeField]
+        private bool m_SendVideo;
+
+#if UNITY_EDITOR
+        public bool sendVideo
+        {
+            get { return m_SendVideo; }
+            set
+            {
+                m_SendVideo = value;
+
+                if (m_RemoteInterface != null)
+                    m_RemoteInterface.sendVideo = value;
+            }
+        }
+
+        public override bool BackgroundRendering
+        {
+            get { return base.BackgroundRendering; }
+
+            set
+            {
+                if (m_RemoteInterface != null)
+                {
+                    m_RemoteInterface.BackgroundRendering = base.BackgroundRendering = value;
+                }
+            }
+        }
+
+
+        ARRemoteEditorInterface m_RemoteInterface;
+        EditorConnection m_EditorConnection;
+
+        void SetConnection(EditorConnection editorConnection)
+        {
+            m_EditorConnection = editorConnection;
+            if (m_RemoteInterface != null)
+                m_RemoteInterface.editorConnection = editorConnection;
+        }
+
+        private void DestroyConnection()
+        {
+            // Disconnect all players and destroy the connection object
+            var connection = EditorConnection.instance;
+            connection.DisconnectAll();
+            connection.Unregister(ARMessageIds.frame, FrameMessageHandler);
+            connection.Unregister(ARMessageIds.addPlane, PlaneAddedMessageHandler);
+            connection.Unregister(ARMessageIds.updatePlane, PlaneUpdatedMessageHandler);
+            connection.Unregister(ARMessageIds.removePlane, PlaneRemovedMessageHandler);
+            connection.Unregister(ARMessageIds.screenCaptureY, ScreenCaptureYMessageHandler);
+            connection.Unregister(ARMessageIds.screenCaptureUV, ScreenCaptureUVMessageHandler);
+            connection.Unregister(ARMessageIds.screenCaptureParams, ScreenCaptureParamsMessageHandler);
+            connection.Unregister(ARMessageIds.pointCloud, PointCloudMessageHandler);
+            connection.Unregister(ARMessageIds.lightEstimate, LightEstimateMessageHandler);
+            DestroyImmediate(connection);
+            SetConnection(null);
+        }
+
+        private void SetupConnection()
+        {
+            // This forces a the connection to be reconstructed
+            SetConnection(EditorConnection.instance);
+            m_EditorConnection.Initialize();
+            m_EditorConnection.RegisterConnection(PlayerConnectedEventHandler);
+            m_EditorConnection.RegisterDisconnection(PlayerDisconnectedEventHandler);
+
+            // These EditorConnection callbacks can only be on UnityEngine.Objects
+            // so register them here and just forward all messages to the ARRemoteEditorInterface
+            m_EditorConnection.Register(ARMessageIds.frame, FrameMessageHandler);
+            m_EditorConnection.Register(ARMessageIds.addPlane, PlaneAddedMessageHandler);
+            m_EditorConnection.Register(ARMessageIds.updatePlane, PlaneUpdatedMessageHandler);
+            m_EditorConnection.Register(ARMessageIds.removePlane, PlaneRemovedMessageHandler);
+            m_EditorConnection.Register(ARMessageIds.screenCaptureY, ScreenCaptureYMessageHandler);
+            m_EditorConnection.Register(ARMessageIds.screenCaptureUV, ScreenCaptureUVMessageHandler);
+            m_EditorConnection.Register(ARMessageIds.screenCaptureParams, ScreenCaptureParamsMessageHandler);
+            m_EditorConnection.Register(ARMessageIds.pointCloud, PointCloudMessageHandler);
+            m_EditorConnection.Register(ARMessageIds.lightEstimate, LightEstimateMessageHandler);
+        }
+
+        private void Start()
+        {
+            SetupConnection();
+        }
+
+        void ScreenCaptureParamsMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.ScreenCaptureParamsMessageHandler(message);
+        }
+
+        void ScreenCaptureUVMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.ScreenCaptureUVMessageHandler(message);
+        }
+
+        void ScreenCaptureYMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.ScreenCaptureYMessageHandler(message);
+        }
+
+        void PlaneAddedMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.PlaneAddedMessageHandler(message);
+        }
+
+        void PlaneUpdatedMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.PlaneUpdatedMessageHandler(message);
+        }
+
+        void PlaneRemovedMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.PlaneRemovedMessageHandler(message);
+        }
+
+        void FrameMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.FrameMessageHandler(message);
+        }
+
+        void PointCloudMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.PointCloudMessageHandler(message);
+        }
+
+        void LightEstimateMessageHandler(MessageEventArgs message)
+        {
+            m_RemoteInterface.LightEstimateMessageHandler(message);
+        }
+
+        void PlayerConnectedEventHandler(int playerId)
+        {
+            m_RemoteInterface.PlayerConnectedMessageHandler(m_EditorConnection, playerId);
+        }
+
+        void PlayerDisconnectedEventHandler(int playerId)
+        {
+            m_RemoteInterface.PlayerDisconnectedMessageHandler(playerId);
+        }
+
+        void OnGUI()
+        {
+            string message;
+            if (m_RemoteInterface.connected)
+            {
+                message = string.Format("Connected to remote AR device: {0}", m_RemoteInterface.playerId);
+                var buttonRect = new Rect((Screen.width / 2) - 200, (Screen.height / 2) - 200, 400, 100);
+
+                if (m_RemoteInterface.IsRemoteServiceRunning)
+                {
+                    if (GUI.Button(buttonRect, "Stop Remote AR Session"))
+                        m_RemoteInterface.StopRemoteService();
+                }
+                else
+                {
+                    if (GUI.Button(buttonRect, "Start Remote AR Session"))
+                        m_RemoteInterface.StartRemoteService(GetSettings());
+                }
+            }
+            else
+            {
+                message = "Please connect to remote Player in the console menu.";
+            }
+
+            var boxRect = new Rect((Screen.width / 2) - 200, (Screen.height / 2) + 100, 400, 50);
+            GUI.Box(boxRect, message);
+
+            if (GUI.Button(new Rect((Screen.width / 2) - 200, Screen.height - 50, 100, 50), "Disconnect"))
+            {
+                m_RemoteInterface.StopRemoteService();
+                m_EditorConnection.DisconnectAll();
+            }
+        }
+
+        protected override void SetupARInterface()
+        {
+            m_RemoteInterface = new ARRemoteEditorInterface();
+            m_RemoteInterface.editorConnection = m_EditorConnection;
+            m_ARInterface = m_RemoteInterface;
+            ARInterface.SetInterface(m_RemoteInterface);
+            m_RemoteInterface.sendVideo = sendVideo;
+            m_RemoteInterface.BackgroundRendering = BackgroundRendering;
+        }
+
+        private void OnDisable()
+        {
+            m_EditorConnection.DisconnectAll();
+        }
+#endif
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditor.cs.meta b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5f5368bc551700d092c824588d2b8d3a7d274558
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditor.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 3a6c9235e73bea042bda6b2c0539ad63
+timeCreated: 1506036229
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditorInterface.cs b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditorInterface.cs
new file mode 100644
index 0000000000000000000000000000000000000000..db04d7dd85163c666c48ddcc30e649aad15708e3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditorInterface.cs
@@ -0,0 +1,316 @@
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Networking.PlayerConnection;
+using Utils;
+using System.Collections;
+using UnityEngine.XR;
+
+#if UNITY_EDITOR
+using UnityEditor.Networking.PlayerConnection;
+using UnityEngine.XR.iOS;
+
+// Runs on the Editor. Talks to the remote Player.
+namespace UnityARInterface
+{
+    public class ARRemoteEditorInterface : ARInterface
+    {
+        private bool m_SendVideo;
+        public bool sendVideo
+        {
+            get { return m_SendVideo; }
+            set
+            {
+                m_SendVideo = value;
+                if (editorConnection != null)
+                {
+                    SendToPlayer(
+                        ARMessageIds.SubMessageIds.enableVideo,
+                        new SerializableEnableVideo(sendVideo));
+                }
+            }
+        }
+
+        public EditorConnection editorConnection = null;
+        private int m_CurrentPlayerId = -1;
+        private SerializableFrame m_Frame = null;
+        private Settings m_CachedSettings;
+        private Camera m_CachedCamera;
+        private LightEstimate m_LightEstimate;
+        private CameraImage m_CameraImage;
+        private ARBackgroundRenderer m_BackgroundRenderer;
+        public bool connected { get { return m_CurrentPlayerId != -1; } }
+        public int playerId { get { return m_CurrentPlayerId; } }
+
+        public bool IsRemoteServiceRunning { get; protected set; } 
+
+        private bool m_BackgroundRendering;
+        public override bool BackgroundRendering
+        {
+            get
+            {
+                return m_BackgroundRendering;
+            }
+            set
+            {
+                m_BackgroundRendering = value;
+
+                if (m_BackgroundRenderer != null){
+                    m_BackgroundRenderer.mode = m_BackgroundRendering ? 
+                        ARRenderMode.MaterialAsBackground : ARRenderMode.StandardBackground;
+                }
+
+                if (editorConnection != null)
+                {
+                    SendToPlayer(
+                        ARMessageIds.SubMessageIds.backgroundRendering,
+                        new SerializableBackgroundRendering(m_BackgroundRendering));
+                }
+            }
+        }
+
+        Texture2D m_RemoteScreenYTexture;
+        Texture2D m_RemoteScreenUVTexture;
+
+        List<Vector3> m_PointCloud;
+		private Matrix4x4 m_DisplayTransform;
+
+        public void ScreenCaptureParamsMessageHandler(MessageEventArgs message)
+        {
+            var screenCaptureParams = message.data.Deserialize<SerializableScreenCaptureParams>();
+
+            if (m_RemoteScreenYTexture == null ||
+                m_RemoteScreenYTexture.width != screenCaptureParams.width ||
+                m_RemoteScreenYTexture.height != screenCaptureParams.height)
+            {
+                if (m_RemoteScreenYTexture != null)
+                    GameObject.Destroy(m_RemoteScreenYTexture);
+
+                m_RemoteScreenYTexture = new Texture2D(
+                    screenCaptureParams.width,
+                    screenCaptureParams.height,
+                    TextureFormat.R8, false, true);
+            }
+
+            if (m_RemoteScreenUVTexture == null ||
+                m_RemoteScreenUVTexture.width != screenCaptureParams.width ||
+                m_RemoteScreenUVTexture.height != screenCaptureParams.height)
+            {
+                if (m_RemoteScreenUVTexture != null)
+                    GameObject.Destroy(m_RemoteScreenUVTexture);
+
+                m_RemoteScreenUVTexture = new Texture2D(
+                    screenCaptureParams.width / 2,
+                    screenCaptureParams.height / 2,
+                    TextureFormat.RG16, false, true);
+            }
+
+            Material YUVMaterial = Resources.Load("YUVMaterial", typeof(Material)) as Material;
+            YUVMaterial.SetMatrix("_DisplayTransform", GetDisplayTransform());
+            YUVMaterial.SetTexture("_textureY", m_RemoteScreenYTexture);
+            YUVMaterial.SetTexture("_textureCbCr", m_RemoteScreenUVTexture);
+
+            if(m_BackgroundRenderer != null){
+                m_BackgroundRenderer.backgroundMaterial = null;
+                m_BackgroundRenderer.camera = null;
+            }
+
+            m_BackgroundRenderer = new ARBackgroundRenderer();
+            m_BackgroundRenderer.backgroundMaterial = YUVMaterial;
+            m_BackgroundRenderer.camera = m_CachedCamera;
+            //Set mode and send to player
+            BackgroundRendering = m_BackgroundRendering;
+           
+            m_CameraImage.width = screenCaptureParams.width;
+            m_CameraImage.height = screenCaptureParams.height;
+        }
+
+        public void ScreenCaptureYMessageHandler(MessageEventArgs message)
+        {
+            m_CameraImage.y = message.data;
+
+            if (m_RemoteScreenYTexture == null)
+                return;
+
+            m_RemoteScreenYTexture.LoadRawTextureData(message.data);
+            m_RemoteScreenYTexture.Apply();
+        }
+
+        public void ScreenCaptureUVMessageHandler(MessageEventArgs message)
+        {
+            m_CameraImage.uv = message.data;
+
+            //In case of ARCore sending grayscale image, UV data would be null.
+            if (m_RemoteScreenUVTexture == null || message.data == null)
+                return;
+
+            m_RemoteScreenUVTexture.LoadRawTextureData(message.data);
+            m_RemoteScreenUVTexture.Apply();
+        }
+
+        public void PlaneAddedMessageHandler(MessageEventArgs message)
+        {
+            OnPlaneAdded(message.data.Deserialize<SerializableBoundedPlane>());
+        }
+
+        public void PlaneUpdatedMessageHandler(MessageEventArgs message)
+        {
+            OnPlaneUpdated(message.data.Deserialize<SerializableBoundedPlane>());
+        }
+
+        public void PlaneRemovedMessageHandler(MessageEventArgs message)
+        {
+            OnPlaneRemoved(message.data.Deserialize<SerializableBoundedPlane>());
+        }
+
+        public void PointCloudMessageHandler(MessageEventArgs message)
+        {
+            // Copy to internal buffer
+            var pointCloud = message.data.Deserialize<SerializablePointCloud>();
+            if (m_PointCloud == null)
+                m_PointCloud = new List<Vector3>();
+
+            m_PointCloud.Clear();
+            m_PointCloud.AddRange(pointCloud.asEnumerable);
+        }
+
+        public void LightEstimateMessageHandler(MessageEventArgs message)
+        {
+            m_LightEstimate = message.data.Deserialize<SerializableLightEstimate>();
+        }
+
+        public void FrameMessageHandler(MessageEventArgs message)
+        {
+            m_Frame = message.data.Deserialize<SerializableFrame>();
+        }
+
+        public void PlayerConnectedMessageHandler(EditorConnection editorConnection, int playerId)
+        {
+            this.editorConnection = editorConnection;
+            m_CurrentPlayerId = playerId;
+        }
+
+        public void PlayerDisconnectedMessageHandler(int playerId)
+        {
+            if (m_CurrentPlayerId == playerId)
+            {
+                m_CurrentPlayerId = -1;
+                m_Frame = null;
+                editorConnection = null;
+            }
+        }
+
+        void SendToPlayer(System.Guid msgId, object serializableObject)
+        {
+            var message = new SerializableSubMessage(msgId, serializableObject);
+            var bytesToSend = message.SerializeToByteArray();
+            editorConnection.Send(ARMessageIds.fromEditor, bytesToSend);
+        }
+
+        public void StartRemoteService(Settings settings)
+        {
+            sendVideo = m_SendVideo;
+            var serializedSettings = (SerializableARSettings)settings;
+            SendToPlayer(ARMessageIds.SubMessageIds.startService, serializedSettings);
+            IsRemoteServiceRunning = true;
+        }
+
+        public void StopRemoteService()
+        {
+            SendToPlayer(ARMessageIds.SubMessageIds.stopService, null);
+            IsRemoteServiceRunning = false;
+        }
+
+        //
+        // From the ARInterface
+        //
+        public override IEnumerator StartService(Settings settings)
+        {
+            IsRunning = true;
+            return null;
+        }
+
+        public override void StopService()
+        {
+            IsRunning = false;
+        }
+
+        public override void SetupCamera(Camera camera)
+        {
+            m_CachedCamera = camera;
+        }
+
+        public override bool TryGetUnscaledPose(ref Pose pose)
+        {
+            if (m_Frame != null)
+            {
+                pose.position = m_Frame.cameraPosition;
+                pose.rotation = m_Frame.cameraRotation;
+                return true;
+            }
+
+            return false;
+        }
+
+        public override bool TryGetCameraImage(ref CameraImage cameraImage)
+        {
+            //If remote device is not sending video, we can assume that the current cached frame is out of date.
+            if (!m_SendVideo)
+                return false;
+            //We only return a cached frame if it has all it's components
+            if (m_CameraImage.height == 0 || m_CameraImage.width == 0 || m_CameraImage.y == null || m_CameraImage.uv == null)
+                return false;
+
+            cameraImage.width = m_CameraImage.width;
+            cameraImage.height = m_CameraImage.height;
+            cameraImage.y = m_CameraImage.y;
+            cameraImage.uv = m_CameraImage.uv;
+
+            return true;
+        }
+
+        public override bool TryGetPointCloud(ref PointCloud pointCloud)
+        {
+            if (m_PointCloud == null)
+                return false;
+
+            if (pointCloud.points == null)
+                pointCloud.points = new List<Vector3>();
+
+            pointCloud.points.Clear();
+            pointCloud.points.AddRange(m_PointCloud);
+            return true;
+        }
+
+        public override LightEstimate GetLightEstimate()
+        {
+            return m_LightEstimate;
+        }
+
+		public override Matrix4x4 GetDisplayTransform()
+		{
+			if (m_Frame != null) {
+				return m_Frame.displayTransform;
+			} else {
+				return Matrix4x4.identity;
+			}
+		}
+
+        public override void Update()
+        {
+
+        }
+
+        public override void UpdateCamera(Camera camera)
+        {
+            if (m_Frame != null)
+            {
+                camera.projectionMatrix = m_Frame.projectionMatrix;
+                if (m_BackgroundRenderer != null)
+                {
+                    m_BackgroundRenderer.backgroundMaterial.SetMatrix("_DisplayTransform",GetDisplayTransform());
+                }
+            }
+        }
+    }
+}
+#endif
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditorInterface.cs.meta b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditorInterface.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c7fa4dc9969526edd916a352c196bd39bdee3de5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARRemoteEditorInterface.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 6fea4788466c46840b7a0c4d8c56b699
+timeCreated: 1506017994
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARSerializableObjects.cs b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARSerializableObjects.cs
new file mode 100644
index 0000000000000000000000000000000000000000..908f9bd380b04fc6167e9f4469683352e3103c5d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARSerializableObjects.cs
@@ -0,0 +1,379 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using UnityEngine;
+using Utils;
+
+namespace UnityARInterface
+{
+    /// <summary>
+    /// Since unity doesn't flag the Vector4 as serializable, we
+    /// need to create our own version. This one will automatically convert
+    /// between Vector4 and SerializableVector4
+    /// </summary>
+    [Serializable]
+    public class SerializableVector4
+    {
+        public float x;
+        public float y;
+        public float z;
+        public float w;
+
+        public SerializableVector4(float x, float y, float z, float w)
+        {
+            this.x = x;
+            this.y = y;
+            this.z = z;
+            this.w = w;
+        }
+
+        public override string ToString()
+        {
+            return string.Format("[{0}, {1}, {2}, {3}]", x, y, z, w);
+        }
+
+        public static implicit operator Quaternion(SerializableVector4 serializedVector)
+        {
+            return new Quaternion(
+                serializedVector.x,
+                serializedVector.y,
+                serializedVector.z,
+                serializedVector.w);
+        }
+
+        public static implicit operator Vector4(SerializableVector4 serializedVector)
+        {
+            return new Vector4(
+                serializedVector.x,
+                serializedVector.y,
+                serializedVector.z,
+                serializedVector.w);
+        }
+
+        public static implicit operator SerializableVector4(Quaternion quaternion)
+        {
+            return new SerializableVector4(quaternion.x, quaternion.y, quaternion.z, quaternion.w);
+        }
+
+        public static implicit operator SerializableVector4(Vector4 vector)
+        {
+            return new SerializableVector4(vector.x, vector.y, vector.z, vector.w);
+        }
+    }
+
+    [Serializable]
+    public class SerializableVector3
+    {
+        public float x;
+        public float y;
+        public float z;
+
+        public SerializableVector3(float x, float y, float z)
+        {
+            this.x = x;
+            this.y = y;
+            this.z = z;
+        }
+
+        public override string ToString()
+        {
+            return string.Format("[{0}, {1}, {2}]", x, y, z);
+        }
+
+        public static implicit operator Vector3(SerializableVector3 serializedVector)
+        {
+            return new Vector3(serializedVector.x, serializedVector.y, serializedVector.z);
+        }
+
+        public static implicit operator SerializableVector3(Vector3 vector)
+        {
+            return new SerializableVector3(vector.x, vector.y, vector.z);
+        }
+    }
+
+    [Serializable]
+    public class SerializableVector2
+    {
+        public float x;
+        public float y;
+
+        public SerializableVector2(float x, float y)
+        {
+            this.x = x;
+            this.y = y;
+        }
+
+        public override string ToString()
+        {
+            return string.Format("[{0}, {1}]", x, y);
+        }
+
+        public static implicit operator Vector2(SerializableVector2 serializedVector)
+        {
+            return new Vector2(serializedVector.x, serializedVector.y);
+        }
+
+        public static implicit operator SerializableVector2(Vector2 vector)
+        {
+            return new SerializableVector2(vector.x, vector.y);
+        }
+    }
+
+    [Serializable]
+    public class SerializableBoundedPlane
+    {
+        public byte[] identifier;
+        public SerializableVector3 center;
+        public SerializableVector4 rotation;
+        public SerializableVector2 extents;
+
+        public SerializableBoundedPlane(
+            byte[] identifier,
+            SerializableVector3 center,
+            SerializableVector4 rotation,
+            SerializableVector2 extents)
+        {
+            this.identifier = identifier;
+            this.center = center;
+            this.rotation = rotation;
+            this.extents = extents;
+        }
+
+        public static implicit operator SerializableBoundedPlane(BoundedPlane plane)
+        {
+            return new SerializableBoundedPlane(
+                Encoding.UTF8.GetBytes(plane.id),
+                plane.center,
+                plane.rotation,
+                plane.extents);
+        }
+
+        public static implicit operator BoundedPlane(SerializableBoundedPlane serializedPlane)
+        {
+            return new BoundedPlane()
+            {
+                id = Encoding.UTF8.GetString(serializedPlane.identifier),
+                center = serializedPlane.center,
+                extents = serializedPlane.extents,
+                rotation = serializedPlane.rotation
+            };
+        }
+    }
+
+    [Serializable]
+    public class SerializableSubMessage
+    {
+        public Guid subMessageId;
+        public byte[] data { get; private set; }
+
+        public SerializableSubMessage(Guid subMessageId, object data)
+        {
+            this.subMessageId = subMessageId;
+            if (data != null)
+                this.data = data.SerializeToByteArray();
+        }
+
+        public T GetDataAs<T>() where T : class
+        {
+            return data.Deserialize<T>();
+        }
+    }
+
+    [Serializable]
+    public class SerializableEnableVideo
+    {
+        public bool enableVideo;
+        public SerializableEnableVideo(bool enableVideo)
+        {
+            this.enableVideo = enableVideo;
+        }
+    }
+
+    [Serializable]
+    public class SerializableBackgroundRendering
+    {
+        public bool backgroundRendering;
+        public SerializableBackgroundRendering(bool backgroundRendering)
+        {
+            this.backgroundRendering = backgroundRendering;
+        }
+    }
+
+    [Serializable]
+    public class SerializableARSettings
+    {
+        public bool enablePointCloud;
+        public bool enablePlaneDetection;
+        public bool enableLightEstimation;
+
+        public SerializableARSettings(bool pointCloud, bool planeDetection, bool lightEstimation)
+        {
+            enablePointCloud = pointCloud;
+            enablePlaneDetection = planeDetection;
+            enableLightEstimation = lightEstimation;
+        }
+
+        public static implicit operator SerializableARSettings(ARInterface.Settings settings)
+        {
+            return new SerializableARSettings(
+                settings.enablePointCloud,
+                settings.enablePlaneDetection,
+                settings.enableLightEstimation);
+        }
+
+        public static implicit operator ARInterface.Settings(SerializableARSettings serializedSettings)
+        {
+            return new ARInterface.Settings()
+            {
+                enableLightEstimation = serializedSettings.enableLightEstimation,
+                enablePlaneDetection = serializedSettings.enablePlaneDetection,
+                enablePointCloud = serializedSettings.enablePointCloud
+            };
+        }
+    }
+
+    [Serializable]
+    public class SerializableMatrix4x4
+    {
+        public SerializableVector4 column0;
+        public SerializableVector4 column1;
+        public SerializableVector4 column2;
+        public SerializableVector4 column3;
+
+        public SerializableMatrix4x4(
+            SerializableVector4 column0,
+            SerializableVector4 column1,
+            SerializableVector4 column2,
+            SerializableVector4 column3)
+        {
+            this.column0 = column0;
+            this.column1 = column1;
+            this.column2 = column2;
+            this.column3 = column3;
+        }
+
+        public static implicit operator SerializableMatrix4x4(Matrix4x4 matrix)
+        {
+            return new SerializableMatrix4x4(
+                matrix.GetColumn(0),
+                matrix.GetColumn(1),
+                matrix.GetColumn(2),
+                matrix.GetColumn(3));
+
+        }
+
+        public static implicit operator Matrix4x4(SerializableMatrix4x4 serializedMatrix)
+        {
+            return new Matrix4x4(
+                serializedMatrix.column0,
+                serializedMatrix.column1,
+                serializedMatrix.column2,
+                serializedMatrix.column3);
+        }
+    }
+
+
+    [Serializable]
+    public class SerializableFrame
+    {
+        public SerializableMatrix4x4 projectionMatrix;
+        public SerializableVector3 cameraPosition;
+        public SerializableVector4 cameraRotation;
+		public SerializableMatrix4x4 displayTransform;
+
+        public SerializableFrame(
+            SerializableMatrix4x4 projectionMatrix,
+            SerializableVector3 cameraPosition,
+            SerializableVector4 cameraRotation,
+			SerializableMatrix4x4 displayTransform)
+        {
+            this.projectionMatrix = projectionMatrix;
+            this.cameraPosition = cameraPosition;
+            this.cameraRotation = cameraRotation;
+			this.displayTransform = displayTransform;
+        }
+    }
+
+    [Serializable]
+    public class SerializableScreenCaptureParams
+    {
+        public int width;
+        public int height;
+        public int format;
+
+        public SerializableScreenCaptureParams(int width, int height, int format)
+        {
+            this.width = width;
+            this.height = height;
+            this.format = format;
+        }
+    }
+
+    [Serializable]
+    public class SerializablePointCloud
+    {
+        public SerializableVector3[] points;
+
+        public SerializablePointCloud(ARInterface.PointCloud pointCloud)
+        {
+            points = new SerializableVector3[pointCloud.points.Count];
+            for (int i = 0; i < points.Length; ++i)
+            {
+                points[i] = pointCloud.points[i];
+            }
+        }
+
+        public SerializablePointCloud(Vector3[] points)
+        {
+            this.points = new SerializableVector3[points.Length];
+            for (int i = 0; i < points.Length; ++i)
+            {
+                this.points[i] = points[i];
+            }
+        }
+
+        public IEnumerable<Vector3> asEnumerable
+        {
+            get
+            {
+                for (int i = 0; i < points.Length; ++i)
+                {
+                    yield return points[i];
+                }
+            }
+        }
+    }
+
+    [Serializable]
+    public class SerializableLightEstimate
+    {
+        public int capabilities;
+        public float ambientIntensity;
+        public float ambientColorTemperature;
+
+        public SerializableLightEstimate(ARInterface.LightEstimateCapabilities capabilities, float ambientIntensity, float ambientColorTemperature)
+        {
+            this.capabilities = (int)capabilities;
+            this.ambientIntensity = ambientIntensity;
+            this.ambientColorTemperature = ambientColorTemperature;
+        }
+
+        public static implicit operator SerializableLightEstimate(ARInterface.LightEstimate lightEstimate)
+        {
+            return new SerializableLightEstimate(
+                lightEstimate.capabilities,
+                lightEstimate.ambientIntensity,
+                lightEstimate.ambientColorTemperature);
+        }
+
+        public static implicit operator ARInterface.LightEstimate(SerializableLightEstimate serializedLightEstimate)
+        {
+            return new ARInterface.LightEstimate()
+            {
+                capabilities = (ARInterface.LightEstimateCapabilities)serializedLightEstimate.capabilities,
+                ambientIntensity = serializedLightEstimate.ambientIntensity,
+                ambientColorTemperature = serializedLightEstimate.ambientColorTemperature,
+            };
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARSerializableObjects.cs.meta b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARSerializableObjects.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..714e2e648e5604a8e4f7e560c5347090f316577d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/ARRemote/Scripts/ARSerializableObjects.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 4fada0ba60f660246ae3789385ef4469
+timeCreated: 1505960727
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples.meta b/T3-Unity/Assets/UnityARInterface/Examples.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5cce26f4223daeac7c2d022ab499ab6647140c47
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: aa60fc87151f94f718e218353afef430
+folderAsset: yes
+timeCreated: 1506465518
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5c73958670ef8cca71afb8367aedbd43d46beffd
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: dc345d1d5644c47ab987aa48084d1f46
+folderAsset: yes
+timeCreated: 1507834885
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquare.cs b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquare.cs
new file mode 100644
index 0000000000000000000000000000000000000000..27924fcd7006bb0fc9d9edca8ea0ac9c662eb07e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquare.cs
@@ -0,0 +1,106 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+namespace UnityARInterface
+{
+	public class ARFocusSquare : MonoBehaviour {
+
+		public enum FocusState {
+			Initializing,
+			Finding,
+			Found
+		}
+
+		public GameObject findingSquare;
+		public GameObject foundSquare;
+
+		//for editor version
+		public float maxRayDistance = 30.0f;
+		public LayerMask collisionLayerMask; 
+		public float findingSquareDist = 0.5f;
+
+		private FocusState squareState;
+		public FocusState SquareState { 
+			get {
+				return squareState;
+			}
+			set {
+				squareState = value;
+				foundSquare.SetActive (squareState == FocusState.Found);
+				findingSquare.SetActive (squareState != FocusState.Found);
+			} 
+		}
+
+		bool trackingInitialized;
+
+		// Use this for initialization
+		void Start () {
+			int layerIndex = LayerMask.NameToLayer("ARGameObject");
+			collisionLayerMask = 1 << layerIndex;
+			SquareState = FocusState.Initializing;
+			trackingInitialized = true;
+		}
+
+
+		// Update is called once per frame
+		void Update () {
+
+			//use center of screen for focusing
+			Vector3 center = new Vector3(Screen.width/2, Screen.height/2, findingSquareDist);
+
+			Ray ray = Camera.main.ScreenPointToRay (center);
+			RaycastHit hit;
+
+			//we'll try to hit one of the plane collider gameobjects that were generated by the plugin
+			//effectively similar to calling HitTest with ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent
+			if (Physics.Raycast (ray, out hit, maxRayDistance, collisionLayerMask)) {
+				//we're going to get the position from the contact point
+				foundSquare.transform.position = hit.point;
+				Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", foundSquare.transform.position.x, foundSquare.transform.position.y, foundSquare.transform.position.z));
+
+				//and the rotation from the transform of the plane collider
+				SquareState = FocusState.Found;
+				foundSquare.transform.rotation = hit.transform.rotation;
+				return;
+			}
+
+
+			//if you got here, we have not found a plane, so if camera is facing below horizon, display the focus "finding" square
+			if (trackingInitialized) {
+				SquareState = FocusState.Finding;
+
+				//check camera forward is facing downward
+				if (Vector3.Dot(Camera.main.transform.forward, Vector3.down) > 0)
+				{
+
+					//position the focus finding square a distance from camera and facing up
+					findingSquare.transform.position = Camera.main.ScreenToWorldPoint(center);
+
+					//vector from camera to focussquare
+					Vector3 vecToCamera = findingSquare.transform.position - Camera.main.transform.position;
+
+					//find vector that is orthogonal to camera vector and up vector
+					Vector3 vecOrthogonal = Vector3.Cross(vecToCamera, Vector3.up);
+
+					//find vector orthogonal to both above and up vector to find the forward vector in basis function
+					Vector3 vecForward = Vector3.Cross(vecOrthogonal, Vector3.up);
+
+
+					findingSquare.transform.rotation = Quaternion.LookRotation(vecForward,Vector3.up);
+
+				}
+				else
+				{
+					//we will not display finding square if camera is not facing below horizon
+					findingSquare.SetActive(false);
+				}
+
+			}
+
+		}
+
+
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquare.cs.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquare.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4a2731c0b3ca167960a46dd7e0b07333fe68f7f4
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquare.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 1f4b83e8f3452455da3ad25c32786654
+timeCreated: 1504390678
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquareScene.unity b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquareScene.unity
new file mode 100644
index 0000000000000000000000000000000000000000..1ec3485d337090f8f542a74514438f271757354d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquareScene.unity
@@ -0,0 +1,517 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 0}
+  m_AmbientEquatorColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientGroundColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &4
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 1
+    m_BakeResolution: 50
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 1
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 0
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &5
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.4
+    agentHeight: 1.8
+    agentSlope: 45
+    agentClimb: 0.9
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.13333333
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &183430028
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 183430032}
+  - component: {fileID: 183430029}
+  - component: {fileID: 183430031}
+  - component: {fileID: 183430030}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!20 &183430029
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 183430028}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!81 &183430030
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 183430028}
+  m_Enabled: 1
+--- !u!124 &183430031
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 183430028}
+  m_Enabled: 1
+--- !u!4 &183430032
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 183430028}
+  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: 483146888}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &483146883
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 483146888}
+  - component: {fileID: 483146887}
+  - component: {fileID: 483146886}
+  - component: {fileID: 483146885}
+  - component: {fileID: 483146884}
+  m_Layer: 0
+  m_Name: AR Root
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &483146884
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 483146883}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9acf0b0c890fb9040b2f5da53bf54d86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ARCamera: {fileID: 183430029}
+  m_PlaneDetection: 1
+  m_LightEstimation: 1
+  m_PointCloud: 1
+  m_Scale: 1
+--- !u!114 &483146885
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 483146883}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 562a9fe49bfc2418099790a804f22711, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &483146886
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 483146883}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5d15554ba01a81b43836c6e4770c204f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PlanePrefab: {fileID: 1372998203143648, guid: 2c9427dfd106e4aefa08705ac5020bf9,
+    type: 2}
+  m_PlaneLayer: 8
+--- !u!114 &483146887
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 483146883}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 37ab97bfa6689994caf97070bd3a37ba, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PointCloudParticlePrefab: {fileID: 198314236125653888, guid: 8049ec78edc7a450ea776237de46d3f8,
+    type: 2}
+  m_MaxPointsToShow: 100
+  m_ParticleSize: 0.04
+--- !u!4 &483146888
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 483146883}
+  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:
+  - {fileID: 183430032}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &747402895
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 747402897}
+  - component: {fileID: 747402896}
+  m_Layer: 0
+  m_Name: FocusSquare
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &747402896
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 747402895}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1f4b83e8f3452455da3ad25c32786654, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  findingSquare: {fileID: 831115496}
+  foundSquare: {fileID: 1556169035}
+  maxRayDistance: 30
+  collisionLayerMask:
+    serializedVersion: 2
+    m_Bits: 2048
+  findingSquareDist: 0.5
+--- !u!4 &747402897
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 747402895}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0.17645001, y: 0.17645001, z: 1.17645}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 831115497}
+  - {fileID: 1556169036}
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &831115495
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 747402897}
+    m_Modifications:
+    - target: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 20e419784977a4241b5e0111ec5394a1, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &831115496 stripped
+GameObject:
+  m_PrefabParentObject: {fileID: 1079225684846008, guid: 20e419784977a4241b5e0111ec5394a1,
+    type: 2}
+  m_PrefabInternal: {fileID: 831115495}
+--- !u!4 &831115497 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4346840500143702, guid: 20e419784977a4241b5e0111ec5394a1,
+    type: 2}
+  m_PrefabInternal: {fileID: 831115495}
+--- !u!1001 &1556169034
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 747402897}
+    m_Modifications:
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 03b70a5da16ed4ed6b6e576f196a6d49, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1556169035 stripped
+GameObject:
+  m_PrefabParentObject: {fileID: 1414772738660142, guid: 03b70a5da16ed4ed6b6e576f196a6d49,
+    type: 2}
+  m_PrefabInternal: {fileID: 1556169034}
+--- !u!4 &1556169036 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4266624117467130, guid: 03b70a5da16ed4ed6b6e576f196a6d49,
+    type: 2}
+  m_PrefabInternal: {fileID: 1556169034}
+--- !u!1 &1823984066
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1823984069}
+  - component: {fileID: 1823984068}
+  - component: {fileID: 1823984067}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1823984067
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823984066}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 42c0fd8eb63520443a7998adf32e8a65, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!108 &1823984068
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823984066}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1823984069
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1823984066}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquareScene.unity.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquareScene.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b03175e64c3e5166daf4f79fcfa9648847cbaac
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/ARFocusSquareScene.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 136f835817e3a4ccd86e1434503880d7
+timeCreated: 1504393453
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.controller b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.controller
new file mode 100644
index 0000000000000000000000000000000000000000..946e22a1d17b71e0cc284626138899dcea62303f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.controller
@@ -0,0 +1,67 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: FocusSquareFinding
+  serializedVersion: 5
+  m_AnimatorParameters: []
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: 1107000555576970242}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1102 &1102417429920230580
+AnimatorState:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: focuspulse
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: 30f10be4bda0f4d1bb27b0f1ef492dcc, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+--- !u!1107 &1107000555576970242
+AnimatorStateMachine:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: 1102417429920230580}
+    m_Position: {x: 200, y: 0, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: 1102417429920230580}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.controller.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.controller.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ae2bb213f8c8a64ba7281dfea5e2c54b2d553e1f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.controller.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 46fb0bb46f72c4748accdb239b33a00c
+timeCreated: 1504634087
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 9100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.mat b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.mat
new file mode 100644
index 0000000000000000000000000000000000000000..d6bfac2be41087c3a76be508a17ae93de4a4707a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.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: FocusSquareFinding
+  m_Shader: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 6f12b022b96934e8496f32281cfe574c, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bde7539972b12eced047093c671cf488af010c0b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bef08ea1358a04e7db6f88f03378b25e
+timeCreated: 1504393627
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.prefab b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..9e9de033e11a9c22d165a61add86803885914e58
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.prefab
@@ -0,0 +1,129 @@
+%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: 1079225684846008}
+  m_IsPrefabParent: 1
+--- !u!1 &1079225684846008
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4346840500143702}
+  - component: {fileID: 95971133279549186}
+  m_Layer: 0
+  m_Name: FocusSquareFinding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1914885197842632
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4521233104532860}
+  - component: {fileID: 33626701954220244}
+  - component: {fileID: 23099057984065350}
+  m_Layer: 0
+  m_Name: 'Quad '
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4346840500143702
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079225684846008}
+  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:
+  - {fileID: 4521233104532860}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4521233104532860
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1914885197842632}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.10000017, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4346840500143702}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!23 &23099057984065350
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1914885197842632}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: bdec2f90bd7304fd7859a64780a6947e, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33626701954220244
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1914885197842632}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!95 &95971133279549186
+Animator:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079225684846008}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: cca9b37da3e7e458fba02babd2ee71b9, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5c738be4b73fa50af010b8e78c4ea8837f892ab4
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFinding.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 20e419784977a4241b5e0111ec5394a1
+timeCreated: 1504390680
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFocused.prefab b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFocused.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..4e2219460103a37783e26cd1c8d22256ac1d52cb
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFocused.prefab
@@ -0,0 +1,111 @@
+%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: 1414772738660142}
+  m_IsPrefabParent: 1
+--- !u!1 &1414772738660142
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4266624117467130}
+  m_Layer: 0
+  m_Name: FocusSquareFocused
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1737289922828404
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4448547049399504}
+  - component: {fileID: 33099327791086394}
+  - component: {fileID: 23454377572920414}
+  m_Layer: 0
+  m_Name: Quad
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4266624117467130
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1414772738660142}
+  m_LocalRotation: {x: 0.00012207031, y: -0.013934742, z: -0, w: -0.9999029}
+  m_LocalPosition: {x: 0.33594143, y: -0.2882334, z: 0.38393554}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4448547049399504}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4448547049399504
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1737289922828404}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4266624117467130}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!23 &23454377572920414
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1737289922828404}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 5dc9e0ae01c204ce7b7517c8d59713e6, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33099327791086394
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1737289922828404}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFocused.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFocused.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b0e53f3ee8510163714f5a2c3e45d27dc9fc8fc9
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFocused.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 03b70a5da16ed4ed6b6e576f196a6d49
+timeCreated: 1504390680
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFound.mat b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFound.mat
new file mode 100644
index 0000000000000000000000000000000000000000..2d2eecdda3d172e8ea66e10d22bd156246018da5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFound.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: FocusSquareFound
+  m_Shader: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 4e0e8b7bcde33420a8c2731e0f3fbd57, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFound.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFound.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8ef2bbba8a8eda52b3c5c8b644bdb8d159a6bc9f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/FocusSquareFound.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7503443371c57436f9b140f92fa9cdf4
+timeCreated: 1504393627
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focuspulse.anim b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focuspulse.anim
new file mode 100644
index 0000000000000000000000000000000000000000..f4afacb267bc437dea34feeb6d98e72b01ba4d1a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focuspulse.anim
@@ -0,0 +1,169 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: focuspulse
+  serializedVersion: 6
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: {x: 1, y: 1, z: 1}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 0.5
+        value: {x: 0.5, y: 0.5, z: 0.5}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: {x: 1, y: 1, z: 1}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    path: 
+  m_FloatCurves: []
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 0.5
+        value: 0.5
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.x
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 0.5
+        value: 0.5
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.y
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 0.5
+        value: 0.5
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.z
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_GenerateMotionCurves: 0
+  m_Events: []
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focuspulse.anim.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focuspulse.anim.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9b74be3192543b3a9c3c88c2c08ae4fac7effaeb
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focuspulse.anim.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: eda3f2d997a0b43959b21cdd17282d07
+timeCreated: 1504634087
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 7400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquare.png b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquare.png
new file mode 100644
index 0000000000000000000000000000000000000000..81d80fb84f20f6c30a63ffcd756565e75385d628
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquare.png differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquare.png.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquare.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..feaa8254c13a7f60510a4af467ca7c66ac8b0729
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquare.png.meta
@@ -0,0 +1,103 @@
+fileFormatVersion: 2
+guid: 9c119907a5d3040c2bcf40659743980f
+timeCreated: 1504393650
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquarefound.png b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquarefound.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c33ddccf124029932df3e8401248d9d6b0b189e
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquarefound.png differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquarefound.png.meta b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquarefound.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3ddb354d4f541215d741c568078536ff8a7c112f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/ARFocusSquare/focussquarefound.png.meta
@@ -0,0 +1,76 @@
+fileFormatVersion: 2
+guid: 157f6564feedb4e34b40e7baf06d4939
+timeCreated: 1504402917
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common.meta
new file mode 100644
index 0000000000000000000000000000000000000000..588c52962f74d04d7f17e1011054d25e58348f89
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: f47bcfdbd2f6e44729735e89856e53dc
+folderAsset: yes
+timeCreated: 1507836638
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6cc2e340f08f32d1be7a8b869721ce11a64585b7
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ce38c0a59d19b473ab979a7ed341159f
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat
new file mode 100644
index 0000000000000000000000000000000000000000..066d2d891a91bb2e3be47e5cb3185668ac2c724d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat
@@ -0,0 +1,83 @@
+%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: 2000px-Checkerboard_pattern.svg
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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}
+    - _textureCbCr:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureY:
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..30c8b5ec403dca81b4e7491e1c31b166081b65b1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: e84be04171352498ca16f0b156930511
+timeCreated: 1489779706
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c8cbf95f91dd0bc3f558d09844b95c011c84be8d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat
@@ -0,0 +1,75 @@
+%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: 2000px-Checkerboard_patternUV.svg
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 2800000, guid: 70976333360a046c1bcf8dc7cb1f593c, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b9797b0c8e31654718161a924428b9d3437ea36c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: ac1e3e424b9c345d1889a4c3932d6669
+timeCreated: 1489779706
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/BallMaterial.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/BallMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..2eead3b3d6a2802f1961423bc39ac9657257de05
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/BallMaterial.mat
@@ -0,0 +1,75 @@
+%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: BallMaterial
+  m_Shader: {fileID: 4800000, guid: aef340cb91e534f40870ff658a7aecee, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 1
+  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: 10904, guid: 0000000000000000f000000000000000, type: 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.635
+    - _GlossyReflections: 1
+    - _Metallic: 0.2
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.9044118, g: 0.13300176, b: 0.13300176, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/BallMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/BallMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b7c8dc2ada18e6320ca0d852029f664b645ba8a1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/BallMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: f11a0fc0634ee4b7193c308382d3c044
+timeCreated: 1496972319
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/Plane Physic Material.physicMaterial b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/Plane Physic Material.physicMaterial
new file mode 100644
index 0000000000000000000000000000000000000000..ebe9f03aa53701a2f7d676f81138258d7f3658e7
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/Plane Physic Material.physicMaterial	
@@ -0,0 +1,13 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!134 &13400000
+PhysicMaterial:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: Plane Physic Material
+  dynamicFriction: 0.5
+  staticFriction: 0.5
+  bounciness: 0.1
+  frictionCombine: 0
+  bounceCombine: 0
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/Plane Physic Material.physicMaterial.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/Plane Physic Material.physicMaterial.meta
new file mode 100644
index 0000000000000000000000000000000000000000..20a6a94de07f53148040376179269e7fd438e38b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/Plane Physic Material.physicMaterial.meta	
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 6c6316741e39644aab832906011e2086
+timeCreated: 1496984011
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 13400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PlayerMaterial.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PlayerMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..72c16e8cad54aecfd3a84238f907d00cdbe13016
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PlayerMaterial.mat
@@ -0,0 +1,168 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 4
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: PlayerMaterial
+  m_Shader: {fileID: 45, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _LIGHTMAPPING_DYNAMIC_LIGHTMAPS _LIGHTMAPPING_REALTIME _NORMALMAP
+    _SPECGLOSSMAP _UVSEC_UV1
+  m_CustomRenderQueue: -1
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+      data:
+        first:
+          name: _MainTex
+        second:
+          m_Texture: {fileID: 2800000, guid: a3cc890ba79fb47449fb51893aa9b363, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _BumpMap
+        second:
+          m_Texture: {fileID: 2800000, guid: d98be175031405b4fb3f6a5f459a22e4, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _DetailNormalMap
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _EmissionMap
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _ParallaxMap
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _Occlusion
+        second:
+          m_Texture: {fileID: 2800000, guid: 6ae2af98f5c9f0243806bfb6ccbbdd19, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _SpecGlossMap
+        second:
+          m_Texture: {fileID: 2800000, guid: bc9b1c6383841ea4f9e532a49c651ff6, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _DetailMask
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _DetailAlbedoMap
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _OcclusionMap
+        second:
+          m_Texture: {fileID: 2800000, guid: 6ae2af98f5c9f0243806bfb6ccbbdd19, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+    m_Floats:
+      data:
+        first:
+          name: _Shininess
+        second: .115098767
+      data:
+        first:
+          name: _AlphaTestRef
+        second: .5
+      data:
+        first:
+          name: _Lightmapping
+        second: 1
+      data:
+        first:
+          name: _SrcBlend
+        second: 1
+      data:
+        first:
+          name: _DstBlend
+        second: 0
+      data:
+        first:
+          name: _Parallax
+        second: .0199999996
+      data:
+        first:
+          name: _ZWrite
+        second: 1
+      data:
+        first:
+          name: _Glossiness
+        second: 0
+      data:
+        first:
+          name: _BumpScale
+        second: 1
+      data:
+        first:
+          name: _OcclusionStrength
+        second: .600000024
+      data:
+        first:
+          name: _DetailNormalMapScale
+        second: 1
+      data:
+        first:
+          name: _UVSec
+        second: 0
+      data:
+        first:
+          name: _Mode
+        second: 0
+      data:
+        first:
+          name: _EmissionScaleUI
+        second: 1
+    m_Colors:
+      data:
+        first:
+          name: _EmissionColor
+        second: {r: 0, g: 0, b: 0, a: .99999994}
+      data:
+        first:
+          name: _Color
+        second: {r: 1, g: 1, b: 1, a: 1}
+      data:
+        first:
+          name: _SpecColor
+        second: {r: .25, g: .213235289, b: .213235289, a: 1}
+      data:
+        first:
+          name: _SpecularColor
+        second: {r: .200000003, g: .200000003, b: .200000003, a: 1}
+      data:
+        first:
+          name: _EmissionColorUI
+        second: {r: 0, g: 0, b: 0, a: 1}
+      data:
+        first:
+          name: _EmissionColorWithMapUI
+        second: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PlayerMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PlayerMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e52be5140b12970f123090937af68220359380ae
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PlayerMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f5458ed17d1d647fcb9c1b94db2cb2e7
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudMaterial.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..b19acc6334b49803d32c77b1ae2bebaee43e0efa
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudMaterial.mat
@@ -0,0 +1,77 @@
+%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: PointCloudMaterial
+  m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 10305, guid: 0000000000000000f000000000000000, type: 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.797
+    - _GlossyReflections: 1
+    - _InvFade: 2.2
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 1, g: 1, b: 0, a: 0.5}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..581087d8bfd1743601341cb3405e6a26b56ce82a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 43575686f5b5d4a09919a23cef9d7f22
+timeCreated: 1493918099
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudParticleMaterial.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudParticleMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..ef289bd61ca3dbce59c80671849520969b8a40bd
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudParticleMaterial.mat
@@ -0,0 +1,77 @@
+%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: PointCloudParticleMaterial
+  m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 10300, guid: 0000000000000000f000000000000000, type: 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.797
+    - _GlossyReflections: 1
+    - _InvFade: 2.2
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 1, g: 1, b: 0, a: 0.5}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudParticleMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudParticleMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3f55e69bede1f63b0ba681afb9676f8f00eb1423
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/PointCloudParticleMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 04b1b7324c9344c73bca638c52e42cc5
+timeCreated: 1493918099
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/XColor.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/XColor.mat
new file mode 100644
index 0000000000000000000000000000000000000000..fac04cdd498e0f88ad37ec6888d0ef7fe2ecd1c5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/XColor.mat
@@ -0,0 +1,75 @@
+%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: XColor
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 0, b: 0.06206894, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/XColor.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/XColor.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1d2fad4e9a527d38d4377663cb3eb35f6038b676
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/XColor.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bf37797b6916e464797055d7c8d6225e
+timeCreated: 1493855225
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/YColor.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/YColor.mat
new file mode 100644
index 0000000000000000000000000000000000000000..119b9433366ca8c0672ad23576abf5500f308b98
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/YColor.mat
@@ -0,0 +1,75 @@
+%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: YColor
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.19463666, g: 0.88235295, b: 0.31320846, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/YColor.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/YColor.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..84b53c3257fb8d3a209603831682977fea3e35b9
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/YColor.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2524f98a4ea3f44f1b43a2f87853032e
+timeCreated: 1493855225
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/ZColor.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/ZColor.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c97c2fb883659cb3adc83badc5bf659d3b4fa065
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/ZColor.mat
@@ -0,0 +1,75 @@
+%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: ZColor
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 0.13103437, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/ZColor.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/ZColor.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f36a5a869dbcf2f2885cb7b669aaa2ce93f203df
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/ZColor.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: cee31dacaa39947fd91a3b8e392178eb
+timeCreated: 1493855225
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/debugPlaneMaterial.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/debugPlaneMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..e21e2af5e31bbf144673feb373ac63efff548985
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/debugPlaneMaterial.mat
@@ -0,0 +1,82 @@
+%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: debugPlaneMaterial
+  m_Shader: {fileID: 10721, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHATEST_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 5db0892a9f35841a1aafa4d2f617eaf3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - PixelSnap: 0
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _MaskingAlphaCutoff: 0
+    - _Metallic: 0
+    - _Mode: 1
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/debugPlaneMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/debugPlaneMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8a22a158d5219a2d026698d53318bf6eead4cc20
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/debugPlaneMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fb68e5674e8374dd5a410ccfa7ce5a67
+timeCreated: 1492715747
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/occlusionPlaneMaterial.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/occlusionPlaneMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..f36e6ab49447ddba87f091126f64a38c6a15e125
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/occlusionPlaneMaterial.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: occlusionPlaneMaterial
+  m_Shader: {fileID: 4800000, guid: 1e5df5a56a7624e0981993663cf33154, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 1990
+  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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/occlusionPlaneMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/occlusionPlaneMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f1580c5f68a666b0e3a7cae6ceb3d7549ef4ec93
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/occlusionPlaneMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 55003970751184f8281496c7a1826a1c
+timeCreated: 1497288096
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/shadowPlaneMaterial.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/shadowPlaneMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..535f8d4be180de0ba74188e27d1d4767176a4847
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/shadowPlaneMaterial.mat
@@ -0,0 +1,75 @@
+%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: shadowPlaneMaterial
+  m_Shader: {fileID: 4800000, guid: abcf973b8dc974208a882fe4b8c6b73f, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/shadowPlaneMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/shadowPlaneMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..17be2fb6d805cf3feb11bcf72a20b8beb5a5619b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Materials/shadowPlaneMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: bef8d466722ee4b49a8c05f0b6fa7412
+timeCreated: 1497288096
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Models.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models.meta
new file mode 100644
index 0000000000000000000000000000000000000000..860242b9d7835df884f42d5d823dea6630c1db44
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 0b465e72c9c6c40708ee59e6e79b5120
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters.meta
new file mode 100644
index 0000000000000000000000000000000000000000..93adda86d8c16d20dd3728a96b3f0c97c8be5b1c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ebfe96f0221f3413c8598f6a03930b3a
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c1b4cbedc1922706fe5fef9682fffa88e573108e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2da7325a1f6d3423fa0066c6eb2d5b25
+folderAsset: yes
+timeCreated: 1501101803
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials/GunMaterial.mat b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials/GunMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..5e01d4e5d13bf9930743b3254365c6c10c016b9c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials/GunMaterial.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: GunMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials/GunMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials/GunMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d9d9c2031e62f923841d0f740bf8224d7a7c2269
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Materials/GunMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 48f834d41386f4e09b3c89d268b393c2
+timeCreated: 1501101803
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Player.fbx b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Player.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..e1947f28de784f2913bb306ef7d326e82b1afaf8
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Player.fbx differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Player.fbx.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Player.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d568d582083587ffd435be9d008c812125233250
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Models/Characters/Player.fbx.meta
@@ -0,0 +1,769 @@
+fileFormatVersion: 2
+guid: 57718847504e94d2dbeb4f0eec129806
+ModelImporter:
+  serializedVersion: 22
+  fileIDToRecycleName:
+    100000: Ctrl_Grp
+    100002: Gun
+    100004: Gun 1
+    100006: GunBarrelEnd
+    100008: GunBarrelStretch
+    100010: Hat1
+    100012: Hat2
+    100014: Hat3
+    100016: Hat4
+    100018: Hat5
+    100020: HatEnd
+    100022: Head
+    100024: Hips
+    100026: HipSway
+    100028: LeftBrow1
+    100030: LeftBrow1End
+    100032: LeftBrow2
+    100034: LeftBrow2End
+    100036: LeftBrow3
+    100038: LeftBrow3End
+    100040: LeftHand1
+    100042: LeftHand2
+    100044: LeftLeg
+    100046: LeftLowerArm
+    100048: LeftLowerArm2
+    100050: LeftLowerArm2_IK
+    100052: LeftLowerArm_2_FK
+    100054: LeftLowerArm_FK
+    100056: LeftLowerArm_IK
+    100058: LeftShoulder
+    100060: LeftThumb1
+    100062: LeftThumb2
+    100064: LeftToe
+    100066: LeftUpperArm
+    100068: LeftUpperArm_FK
+    100070: LeftUpperArm_IK
+    100072: LeftWrist
+    100074: LeftWrist_FK
+    100076: LeftWrist_IK
+    100078: //RootNode
+    100080: Player
+    100082: PlayerCtrl
+    100084: RightBrow1
+    100086: RightBrow1End
+    100088: RightBrow2
+    100090: RightBrow2End
+    100092: RightBrow3
+    100094: RightBrow3End
+    100096: RightHand1
+    100098: RightHand2
+    100100: RightLeg
+    100102: RightLowerArm
+    100104: RightLowerArm2
+    100106: RightLowerArm2_FK
+    100108: RightLowerArm2_IK
+    100110: RightLowerArm_FK
+    100112: RightLowerArm_IK
+    100114: RightShoulder
+    100116: RightThumb1
+    100118: RightThumb2
+    100120: RightToe
+    100122: RightUpperArm
+    100124: RightUpperArm_FK
+    100126: RightUpperArm_IK
+    100128: RightWrist
+    100130: RightWrist_FK
+    100132: RightWrist_IK
+    100134: Root
+    100136: Spine
+    100138: Tail1
+    100140: Tail2
+    100142: Tail3
+    400000: Ctrl_Grp
+    400002: Gun
+    400004: Gun 1
+    400006: GunBarrelEnd
+    400008: GunBarrelStretch
+    400010: Hat1
+    400012: Hat2
+    400014: Hat3
+    400016: Hat4
+    400018: Hat5
+    400020: HatEnd
+    400022: Head
+    400024: Hips
+    400026: HipSway
+    400028: LeftBrow1
+    400030: LeftBrow1End
+    400032: LeftBrow2
+    400034: LeftBrow2End
+    400036: LeftBrow3
+    400038: LeftBrow3End
+    400040: LeftHand1
+    400042: LeftHand2
+    400044: LeftLeg
+    400046: LeftLowerArm
+    400048: LeftLowerArm2
+    400050: LeftLowerArm2_IK
+    400052: LeftLowerArm_2_FK
+    400054: LeftLowerArm_FK
+    400056: LeftLowerArm_IK
+    400058: LeftShoulder
+    400060: LeftThumb1
+    400062: LeftThumb2
+    400064: LeftToe
+    400066: LeftUpperArm
+    400068: LeftUpperArm_FK
+    400070: LeftUpperArm_IK
+    400072: LeftWrist
+    400074: LeftWrist_FK
+    400076: LeftWrist_IK
+    400078: Player
+    400080: //RootNode
+    400082: PlayerCtrl
+    400084: RightBrow1
+    400086: RightBrow1End
+    400088: RightBrow2
+    400090: RightBrow2End
+    400092: RightBrow3
+    400094: RightBrow3End
+    400096: RightHand1
+    400098: RightHand2
+    400100: RightLeg
+    400102: RightLowerArm
+    400104: RightLowerArm2
+    400106: RightLowerArm2_FK
+    400108: RightLowerArm2_IK
+    400110: RightLowerArm_FK
+    400112: RightLowerArm_IK
+    400114: RightShoulder
+    400116: RightThumb1
+    400118: RightThumb2
+    400120: RightToe
+    400122: RightUpperArm
+    400124: RightUpperArm_FK
+    400126: RightUpperArm_IK
+    400128: RightWrist
+    400130: RightWrist_FK
+    400132: RightWrist_IK
+    400134: Root
+    400136: Spine
+    400138: Tail1
+    400140: Tail2
+    400142: Tail3
+    4300000: Gun
+    4300002: Player
+    7400000: Move
+    7400002: Idle
+    7400004: Death
+    9500000: //RootNode
+    13700000: Gun
+    13700002: Player
+  externalObjects:
+  - first:
+      type: UnityEngine:Material
+      assembly: UnityEngine.CoreModule
+      name: GunMaterial
+    second: {fileID: 2100000, guid: 48f834d41386f4e09b3c89d268b393c2, type: 2}
+  - first:
+      type: UnityEngine:Material
+      assembly: UnityEngine.CoreModule
+      name: PlayerMaterial
+    second: {fileID: 2100000, guid: f5458ed17d1d647fcb9c1b94db2cb2e7, type: 2}
+  materials:
+    importMaterials: 1
+    materialName: 1
+    materialSearch: 1
+    materialLocation: 0
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 1
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths:
+    - PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch/GunBarrelEnd
+    extraUserProperties: []
+    clipAnimations:
+    - serializedVersion: 16
+      name: Move
+      takeName: Take 001
+      firstFrame: 1
+      lastFrame: 25
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      hasAdditiveReferencePose: 0
+      loopTime: 1
+      loopBlend: 1
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events: []
+      transformMask:
+      - path: 
+        weight: 1
+      - path: Gun
+        weight: 1
+      - path: Player
+        weight: 1
+      - path: PlayerCtrl
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch/GunBarrelEnd
+        weight: 1
+      - path: PlayerCtrl/Root
+        weight: 1
+      - path: PlayerCtrl/Root/Hips
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg/LeftToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg/RightToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5/HatEnd
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1/LeftBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2/LeftBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3/LeftBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1/RightBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2/RightBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3/RightBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1/LeftHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1/LeftThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK/LeftWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK/LeftWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1/RightHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1/RightThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK/RightWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK/RightWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2/Tail3
+        weight: 1
+      maskType: 0
+      maskSource: {instanceID: 0}
+      additiveReferencePoseFrame: 0
+    - serializedVersion: 16
+      name: Idle
+      takeName: Take 001
+      firstFrame: 137
+      lastFrame: 512
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      hasAdditiveReferencePose: 0
+      loopTime: 0
+      loopBlend: 0
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events: []
+      transformMask:
+      - path: 
+        weight: 1
+      - path: Gun
+        weight: 1
+      - path: Player
+        weight: 1
+      - path: PlayerCtrl
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch/GunBarrelEnd
+        weight: 1
+      - path: PlayerCtrl/Root
+        weight: 1
+      - path: PlayerCtrl/Root/Hips
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg/LeftToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg/RightToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5/HatEnd
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1/LeftBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2/LeftBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3/LeftBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1/RightBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2/RightBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3/RightBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1/LeftHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1/LeftThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK/LeftWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK/LeftWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1/RightHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1/RightThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK/RightWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK/RightWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2/Tail3
+        weight: 1
+      maskType: 0
+      maskSource: {instanceID: 0}
+      additiveReferencePoseFrame: 0
+    - serializedVersion: 16
+      name: Death
+      takeName: Take 001
+      firstFrame: 525
+      lastFrame: 650
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      hasAdditiveReferencePose: 0
+      loopTime: 0
+      loopBlend: 0
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events:
+      - time: 0.9977629
+        functionName: RestartLevel
+        data: 
+        objectReferenceParameter: {instanceID: 0}
+        floatParameter: 0
+        intParameter: 0
+        messageOptions: 0
+      transformMask:
+      - path: 
+        weight: 1
+      - path: Gun
+        weight: 1
+      - path: Player
+        weight: 1
+      - path: PlayerCtrl
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch/GunBarrelEnd
+        weight: 1
+      - path: PlayerCtrl/Root
+        weight: 1
+      - path: PlayerCtrl/Root/Hips
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg/LeftToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg/RightToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5/HatEnd
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1/LeftBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2/LeftBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3/LeftBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1/RightBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2/RightBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3/RightBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1/LeftHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1/LeftThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK/LeftWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK/LeftWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1/RightHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1/RightThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK/RightWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK/RightWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2/Tail3
+        weight: 1
+      maskType: 0
+      maskSource: {instanceID: 0}
+      additiveReferencePoseFrame: 0
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 0.01
+    meshCompression: 0
+    addColliders: 0
+    importVisibility: 0
+    importBlendShapes: 1
+    importCameras: 0
+    importLights: 0
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    keepQuads: 0
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 0
+  tangentSpace:
+    normalSmoothAngle: 180
+    normalImportMode: 1
+    tangentImportMode: 4
+    normalCalculationMode: 0
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    serializedVersion: 2
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    rootMotionBoneName: 
+    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 0
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  humanoidOversampling: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d0c4dcef46dcb67f095a71d504351718b0b85bb1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 0c48dad108e69481bb68987a517f7a6f
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/BallPrefab.prefab b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/BallPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..6e04d04e11d01cd246cc4fd32955a207be0354e2
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/BallPrefab.prefab
@@ -0,0 +1,126 @@
+%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: 1154719652421038}
+  m_IsPrefabParent: 1
+--- !u!1 &1154719652421038
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4284708646823142}
+  - component: {fileID: 33846996785084984}
+  - component: {fileID: 135626873687639864}
+  - component: {fileID: 23727198747687476}
+  - component: {fileID: 54261416861304404}
+  - component: {fileID: 114550911574328716}
+  m_Layer: 0
+  m_Name: BallPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4284708646823142
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23727198747687476
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: f5e394a942fae453583e8e6009ee49a1, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33846996785084984
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!54 &54261416861304404
+Rigidbody:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  serializedVersion: 2
+  m_Mass: 0.1
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_UseGravity: 1
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 0
+  m_CollisionDetection: 1
+--- !u!114 &114550911574328716
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0126c7b86c020424ba2820a4bd3e2ffb, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  yDistanceThreshold: 1
+--- !u!135 &135626873687639864
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/BallPrefab.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/BallPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ee75a9caf3931d0c4df8abb65470bf44b475f080
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/BallPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5d3487f0564ef43a3a490872441571c5
+timeCreated: 1496972639
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePainterPrefab.prefab b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePainterPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..584991c002379a22cb0af5d07c18a0607726185c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePainterPrefab.prefab
@@ -0,0 +1,3228 @@
+%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: 1450711119300942}
+  m_IsPrefabParent: 1
+--- !u!1 &1450711119300942
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4129580775725456}
+  - component: {fileID: 198095342896748244}
+  - component: {fileID: 199554783549644966}
+  m_Layer: 0
+  m_Name: ParticlePainterPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4129580775725456
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1450711119300942}
+  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}
+--- !u!198 &198095342896748244
+ParticleSystem:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1450711119300942}
+  serializedVersion: 5
+  lengthInSec: 5
+  simulationSpeed: 1
+  looping: 0
+  prewarm: 0
+  playOnAwake: 0
+  useUnscaledTime: 0
+  autoRandomSeed: 1
+  startDelay:
+    minMaxState: 0
+    scalar: 0
+    maxCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    minCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+  moveWithTransform: 0
+  moveWithCustomTransform: {fileID: 0}
+  scalingMode: 1
+  randomSeed: 138096577
+  InitialModule:
+    serializedVersion: 3
+    enabled: 1
+    startLifetime:
+      minMaxState: 0
+      scalar: 5
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSpeed:
+      minMaxState: 0
+      scalar: 5
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startColor:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    startSize:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSizeY:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSizeZ:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotationX:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotationY:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotation:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    randomizeRotationDirection: 0
+    maxNumParticles: 1000
+    size3D: 0
+    rotation3D: 0
+    gravityModifier:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  ShapeModule:
+    serializedVersion: 5
+    enabled: 0
+    type: 4
+    angle: 25
+    length: 5
+    boxThickness: {x: 0, y: 0, z: 0}
+    radiusThickness: 1
+    donutRadius: 0.2
+    m_Position: {x: 0, y: 0, z: 0}
+    m_Rotation: {x: 0, y: 0, z: 0}
+    m_Scale: {x: 1, y: 1, z: 1}
+    placementMode: 0
+    m_Mesh: {fileID: 0}
+    m_MeshRenderer: {fileID: 0}
+    m_SkinnedMeshRenderer: {fileID: 0}
+    m_MeshMaterialIndex: 0
+    m_MeshNormalOffset: 0
+    m_UseMeshMaterialIndex: 0
+    m_UseMeshColors: 1
+    alignToDirection: 0
+    randomDirectionAmount: 0
+    sphericalDirectionAmount: 0
+    randomPositionAmount: 0
+    radius:
+      value: 1
+      mode: 0
+      spread: 0
+      speed:
+        minMaxState: 0
+        scalar: 1
+        maxCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+        minCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+    arc:
+      value: 360
+      mode: 0
+      spread: 0
+      speed:
+        minMaxState: 0
+        scalar: 1
+        maxCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+        minCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+  EmissionModule:
+    enabled: 0
+    serializedVersion: 4
+    rateOverTime:
+      minMaxState: 0
+      scalar: 10
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    rateOverDistance:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_BurstCount: 0
+    m_Bursts: []
+  SizeModule:
+    enabled: 0
+    curve:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+  RotationModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    curve:
+      minMaxState: 0
+      scalar: 0.7853982
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+  ColorModule:
+    enabled: 0
+    gradient:
+      serializedVersion: 2
+      minMaxState: 1
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+  UVModule:
+    enabled: 0
+    mode: 0
+    frameOverTime:
+      minMaxState: 1
+      scalar: 0.9999
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 1
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 1
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 1
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 1
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startFrame:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    tilesX: 1
+    tilesY: 1
+    animationType: 0
+    rowIndex: 0
+    cycles: 1
+    uvChannelMask: -1
+    flipU: 0
+    flipV: 0
+    randomRow: 1
+    sprites:
+    - sprite: {fileID: 0}
+  VelocityModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    inWorldSpace: 0
+  InheritVelocityModule:
+    enabled: 0
+    m_Mode: 0
+    m_Curve:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  ForceModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    inWorldSpace: 0
+    randomizePerFrame: 0
+  ExternalForcesModule:
+    enabled: 0
+    multiplier: 1
+  ClampVelocityModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    magnitude:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxis: 0
+    inWorldSpace: 0
+    dampen: 1
+  NoiseModule:
+    enabled: 0
+    strength:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    strengthY:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    strengthZ:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+    frequency: 0.5
+    damping: 1
+    octaves: 1
+    octaveMultiplier: 0.5
+    octaveScale: 2
+    quality: 2
+    scrollSpeed:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remap:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapY:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapZ:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapEnabled: 0
+    positionAmount:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    rotationAmount:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    sizeAmount:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  SizeBySpeedModule:
+    enabled: 0
+    curve:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    range: {x: 0, y: 1}
+    separateAxes: 0
+  RotationBySpeedModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    curve:
+      minMaxState: 0
+      scalar: 0.7853982
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+    range: {x: 0, y: 1}
+  ColorBySpeedModule:
+    enabled: 0
+    gradient:
+      serializedVersion: 2
+      minMaxState: 1
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    range: {x: 0, y: 1}
+  CollisionModule:
+    enabled: 0
+    serializedVersion: 3
+    type: 0
+    collisionMode: 0
+    colliderForce: 0
+    multiplyColliderForceByParticleSize: 0
+    multiplyColliderForceByParticleSpeed: 0
+    multiplyColliderForceByCollisionAngle: 1
+    plane0: {fileID: 0}
+    plane1: {fileID: 0}
+    plane2: {fileID: 0}
+    plane3: {fileID: 0}
+    plane4: {fileID: 0}
+    plane5: {fileID: 0}
+    m_Dampen:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_Bounce:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_EnergyLossOnCollision:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    minKillSpeed: 0
+    maxKillSpeed: 10000
+    radiusScale: 1
+    collidesWith:
+      serializedVersion: 2
+      m_Bits: 4294967295
+    maxCollisionShapes: 256
+    quality: 0
+    voxelSize: 0.5
+    collisionMessages: 0
+    collidesWithDynamic: 1
+    interiorCollisions: 0
+  TriggerModule:
+    enabled: 0
+    collisionShape0: {fileID: 0}
+    collisionShape1: {fileID: 0}
+    collisionShape2: {fileID: 0}
+    collisionShape3: {fileID: 0}
+    collisionShape4: {fileID: 0}
+    collisionShape5: {fileID: 0}
+    inside: 1
+    outside: 0
+    enter: 0
+    exit: 0
+    radiusScale: 1
+  SubModule:
+    serializedVersion: 2
+    enabled: 0
+    subEmitters:
+    - emitter: {fileID: 0}
+      type: 0
+      properties: 0
+  LightsModule:
+    enabled: 0
+    ratio: 0
+    light: {fileID: 0}
+    randomDistribution: 1
+    color: 1
+    range: 1
+    intensity: 1
+    rangeCurve:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    intensityCurve:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    maxLights: 20
+  TrailModule:
+    enabled: 0
+    ratio: 1
+    lifetime:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    minVertexDistance: 0.2
+    textureMode: 0
+    worldSpace: 0
+    dieWithParticles: 1
+    sizeAffectsWidth: 1
+    sizeAffectsLifetime: 0
+    inheritParticleColor: 1
+    generateLightingData: 0
+    colorOverLifetime:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    widthOverTrail:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    colorOverTrail:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+  CustomDataModule:
+    enabled: 0
+    mode0: 0
+    vectorComponentCount0: 4
+    color0:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    vector0_0:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_1:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_2:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_3:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    mode1: 0
+    vectorComponentCount1: 4
+    color1:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    vector1_0:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_1:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_2:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_3:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+--- !u!199 &199554783549644966
+ParticleSystemRenderer:
+  serializedVersion: 4
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1450711119300942}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 10301, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_RenderMode: 0
+  m_SortMode: 0
+  m_MinParticleSize: 0
+  m_MaxParticleSize: 0.5
+  m_CameraVelocityScale: 0
+  m_VelocityScale: 0
+  m_LengthScale: 2
+  m_SortingFudge: 0
+  m_NormalDirection: 1
+  m_RenderAlignment: 0
+  m_Pivot: {x: 0, y: 0, z: 0}
+  m_UseCustomVertexStreams: 0
+  m_VertexStreams: 00010304
+  m_Mesh: {fileID: 0}
+  m_Mesh1: {fileID: 0}
+  m_Mesh2: {fileID: 0}
+  m_Mesh3: {fileID: 0}
+  m_MaskInteraction: 0
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePainterPrefab.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePainterPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e4d565279864d0e8c8bcb723e58c6224258f7b3f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePainterPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 23fb18886a0df4747bc4fa66d6868045
+timeCreated: 1494016471
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePrefab.prefab b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..f3ea353ae2a6b9a569101a49de3f7b7e4241a9ff
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePrefab.prefab
@@ -0,0 +1,3228 @@
+%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: 1780633876005026}
+  m_IsPrefabParent: 1
+--- !u!1 &1780633876005026
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4076562046720424}
+  - component: {fileID: 198314236125653888}
+  - component: {fileID: 199793676405310172}
+  m_Layer: 0
+  m_Name: ParticlePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4076562046720424
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780633876005026}
+  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}
+--- !u!198 &198314236125653888
+ParticleSystem:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780633876005026}
+  serializedVersion: 5
+  lengthInSec: 5
+  simulationSpeed: 1
+  looping: 0
+  prewarm: 0
+  playOnAwake: 0
+  useUnscaledTime: 0
+  autoRandomSeed: 1
+  startDelay:
+    minMaxState: 0
+    scalar: 0
+    maxCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    minCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+  moveWithTransform: 0
+  moveWithCustomTransform: {fileID: 0}
+  scalingMode: 1
+  randomSeed: 73567786
+  InitialModule:
+    serializedVersion: 3
+    enabled: 1
+    startLifetime:
+      minMaxState: 0
+      scalar: 5
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSpeed:
+      minMaxState: 0
+      scalar: 5
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startColor:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    startSize:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSizeY:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSizeZ:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotationX:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotationY:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotation:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    randomizeRotationDirection: 0
+    maxNumParticles: 1000
+    size3D: 0
+    rotation3D: 0
+    gravityModifier:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  ShapeModule:
+    serializedVersion: 5
+    enabled: 0
+    type: 4
+    angle: 25
+    length: 5
+    boxThickness: {x: 0, y: 0, z: 0}
+    radiusThickness: 1
+    donutRadius: 0.2
+    m_Position: {x: 0, y: 0, z: 0}
+    m_Rotation: {x: 0, y: 0, z: 0}
+    m_Scale: {x: 1, y: 1, z: 1}
+    placementMode: 0
+    m_Mesh: {fileID: 0}
+    m_MeshRenderer: {fileID: 0}
+    m_SkinnedMeshRenderer: {fileID: 0}
+    m_MeshMaterialIndex: 0
+    m_MeshNormalOffset: 0
+    m_UseMeshMaterialIndex: 0
+    m_UseMeshColors: 1
+    alignToDirection: 0
+    randomDirectionAmount: 0
+    sphericalDirectionAmount: 0
+    randomPositionAmount: 0
+    radius:
+      value: 1
+      mode: 0
+      spread: 0
+      speed:
+        minMaxState: 0
+        scalar: 1
+        maxCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+        minCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+    arc:
+      value: 360
+      mode: 0
+      spread: 0
+      speed:
+        minMaxState: 0
+        scalar: 1
+        maxCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+        minCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+  EmissionModule:
+    enabled: 0
+    serializedVersion: 4
+    rateOverTime:
+      minMaxState: 0
+      scalar: 10
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    rateOverDistance:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_BurstCount: 0
+    m_Bursts: []
+  SizeModule:
+    enabled: 0
+    curve:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+  RotationModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    curve:
+      minMaxState: 0
+      scalar: 0.7853982
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+  ColorModule:
+    enabled: 0
+    gradient:
+      serializedVersion: 2
+      minMaxState: 1
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+  UVModule:
+    enabled: 0
+    mode: 0
+    frameOverTime:
+      minMaxState: 1
+      scalar: 0.9999
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 1
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 1
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 1
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 1
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startFrame:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    tilesX: 1
+    tilesY: 1
+    animationType: 0
+    rowIndex: 0
+    cycles: 1
+    uvChannelMask: -1
+    flipU: 0
+    flipV: 0
+    randomRow: 1
+    sprites:
+    - sprite: {fileID: 0}
+  VelocityModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    inWorldSpace: 0
+  InheritVelocityModule:
+    enabled: 0
+    m_Mode: 0
+    m_Curve:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  ForceModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    inWorldSpace: 0
+    randomizePerFrame: 0
+  ExternalForcesModule:
+    enabled: 0
+    multiplier: 1
+  ClampVelocityModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    magnitude:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxis: 0
+    inWorldSpace: 0
+    dampen: 1
+  NoiseModule:
+    enabled: 0
+    strength:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    strengthY:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    strengthZ:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+    frequency: 0.5
+    damping: 1
+    octaves: 1
+    octaveMultiplier: 0.5
+    octaveScale: 2
+    quality: 2
+    scrollSpeed:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remap:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapY:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapZ:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapEnabled: 0
+    positionAmount:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    rotationAmount:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    sizeAmount:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  SizeBySpeedModule:
+    enabled: 0
+    curve:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    range: {x: 0, y: 1}
+    separateAxes: 0
+  RotationBySpeedModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    curve:
+      minMaxState: 0
+      scalar: 0.7853982
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+    range: {x: 0, y: 1}
+  ColorBySpeedModule:
+    enabled: 0
+    gradient:
+      serializedVersion: 2
+      minMaxState: 1
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    range: {x: 0, y: 1}
+  CollisionModule:
+    enabled: 0
+    serializedVersion: 3
+    type: 0
+    collisionMode: 0
+    colliderForce: 0
+    multiplyColliderForceByParticleSize: 0
+    multiplyColliderForceByParticleSpeed: 0
+    multiplyColliderForceByCollisionAngle: 1
+    plane0: {fileID: 0}
+    plane1: {fileID: 0}
+    plane2: {fileID: 0}
+    plane3: {fileID: 0}
+    plane4: {fileID: 0}
+    plane5: {fileID: 0}
+    m_Dampen:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_Bounce:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_EnergyLossOnCollision:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    minKillSpeed: 0
+    maxKillSpeed: 10000
+    radiusScale: 1
+    collidesWith:
+      serializedVersion: 2
+      m_Bits: 4294967295
+    maxCollisionShapes: 256
+    quality: 0
+    voxelSize: 0.5
+    collisionMessages: 0
+    collidesWithDynamic: 1
+    interiorCollisions: 0
+  TriggerModule:
+    enabled: 0
+    collisionShape0: {fileID: 0}
+    collisionShape1: {fileID: 0}
+    collisionShape2: {fileID: 0}
+    collisionShape3: {fileID: 0}
+    collisionShape4: {fileID: 0}
+    collisionShape5: {fileID: 0}
+    inside: 1
+    outside: 0
+    enter: 0
+    exit: 0
+    radiusScale: 1
+  SubModule:
+    serializedVersion: 2
+    enabled: 0
+    subEmitters:
+    - emitter: {fileID: 0}
+      type: 0
+      properties: 0
+  LightsModule:
+    enabled: 0
+    ratio: 0
+    light: {fileID: 0}
+    randomDistribution: 1
+    color: 1
+    range: 1
+    intensity: 1
+    rangeCurve:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    intensityCurve:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    maxLights: 20
+  TrailModule:
+    enabled: 0
+    ratio: 1
+    lifetime:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    minVertexDistance: 0.2
+    textureMode: 0
+    worldSpace: 0
+    dieWithParticles: 1
+    sizeAffectsWidth: 1
+    sizeAffectsLifetime: 0
+    inheritParticleColor: 1
+    generateLightingData: 0
+    colorOverLifetime:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    widthOverTrail:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    colorOverTrail:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+  CustomDataModule:
+    enabled: 0
+    mode0: 0
+    vectorComponentCount0: 4
+    color0:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    vector0_0:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_1:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_2:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_3:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    mode1: 0
+    vectorComponentCount1: 4
+    color1:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    vector1_0:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_1:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_2:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_3:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+--- !u!199 &199793676405310172
+ParticleSystemRenderer:
+  serializedVersion: 4
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780633876005026}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: f7cffc03fadd142ea81401e16399833e, type: 2}
+  - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_RenderMode: 0
+  m_SortMode: 0
+  m_MinParticleSize: 0
+  m_MaxParticleSize: 0.5
+  m_CameraVelocityScale: 0
+  m_VelocityScale: 0
+  m_LengthScale: 2
+  m_SortingFudge: 0
+  m_NormalDirection: 1
+  m_RenderAlignment: 0
+  m_Pivot: {x: 0, y: 0, z: 0}
+  m_UseCustomVertexStreams: 0
+  m_VertexStreams: 00010304
+  m_Mesh: {fileID: 0}
+  m_Mesh1: {fileID: 0}
+  m_Mesh2: {fileID: 0}
+  m_Mesh3: {fileID: 0}
+  m_MaskInteraction: 0
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePrefab.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ecabecc276303fa1f48b726f149311a2fd0b9840
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/ParticlePrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 8049ec78edc7a450ea776237de46d3f8
+timeCreated: 1494009634
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/PointCloudPrefab.prefab b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/PointCloudPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..5be7a26c57c00f65b1b867935c1b1f6d50e6697f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/PointCloudPrefab.prefab
@@ -0,0 +1,95 @@
+%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: 1845574417345784}
+  m_IsPrefabParent: 1
+--- !u!1 &1845574417345784
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4456704908116418}
+  - component: {fileID: 33975515242258592}
+  - component: {fileID: 135719125020529502}
+  - component: {fileID: 23860415727414328}
+  m_Layer: 0
+  m_Name: PointCloudPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4456704908116418
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845574417345784}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.005, y: 0.005, z: 0.005}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23860415727414328
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845574417345784}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 3a044f7471feb4bd4be40dcec09eae05, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33975515242258592
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845574417345784}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!135 &135719125020529502
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845574417345784}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/PointCloudPrefab.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/PointCloudPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fafe52fa85941605f1906ee5209232a7c1bf306e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/PointCloudPrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5ea2b6d738c7e43d6b8ff9e8a5e91b20
+timeCreated: 1493917937
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/collisionPlanePrefab.prefab b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/collisionPlanePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..37b3e0d31c2fa101125b92a64189aa3147c89375
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/collisionPlanePrefab.prefab
@@ -0,0 +1,93 @@
+%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: 1372998203143648}
+  m_IsPrefabParent: 1
+--- !u!1 &1243282721867180
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4459804331441636}
+  - component: {fileID: 33784412182206160}
+  - component: {fileID: 64007261467877126}
+  m_Layer: 0
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1372998203143648
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4787822665528772}
+  m_Layer: 0
+  m_Name: collisionPlanePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4459804331441636
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.125, y: 0.125, z: 0.125}
+  m_Children: []
+  m_Father: {fileID: 4787822665528772}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4787822665528772
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1372998203143648}
+  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:
+  - {fileID: 4459804331441636}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &33784412182206160
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64007261467877126
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/collisionPlanePrefab.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/collisionPlanePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c2e95f733c7525dcd94b5099859e368b4710e3da
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/collisionPlanePrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7909ccbcf86d64781ae480042279f368
+timeCreated: 1492718811
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/debugPlanePrefab.prefab b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/debugPlanePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..e234a9644397e6459c9dc3a1c5d2f765d795b849
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/debugPlanePrefab.prefab
@@ -0,0 +1,128 @@
+%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: 1372998203143648}
+  m_IsPrefabParent: 1
+--- !u!1 &1243282721867180
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4459804331441636}
+  - component: {fileID: 33784412182206160}
+  - component: {fileID: 64007261467877126}
+  - component: {fileID: 23522069187022562}
+  m_Layer: 10
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1372998203143648
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4787822665528772}
+  m_Layer: 0
+  m_Name: debugPlanePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4459804331441636
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4787822665528772}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4787822665528772
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1372998203143648}
+  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:
+  - {fileID: 4459804331441636}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23522069187022562
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: b36939cf153274ec29fbf2f10d0a49d7, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33784412182206160
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64007261467877126
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/debugPlanePrefab.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/debugPlanePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..28330b3d90de8d585aa2f58ca85631609bbad8db
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/debugPlanePrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2c9427dfd106e4aefa08705ac5020bf9
+timeCreated: 1492718811
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/occlusionPlanePrefab.prefab b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/occlusionPlanePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..588db3b8395887356963b5475f1862494b7d68fc
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/occlusionPlanePrefab.prefab
@@ -0,0 +1,139 @@
+%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: 1983520619281468}
+  m_IsPrefabParent: 1
+--- !u!1 &1835668619836898
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4301351458783932}
+  - component: {fileID: 33801103126895618}
+  - component: {fileID: 64514493211635788}
+  - component: {fileID: 23308608047570514}
+  - component: {fileID: 65158357074468436}
+  m_Layer: 0
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1983520619281468
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4023412880410692}
+  m_Layer: 0
+  m_Name: occlusionPlanePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4023412880410692
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1983520619281468}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: -0.173, z: 1.058}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4301351458783932}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4301351458783932
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4023412880410692}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23308608047570514
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 25eeebe0578974575aac9f24b4ede717, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33801103126895618
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64514493211635788
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65158357074468436
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 10, y: 0.1, z: 10}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/occlusionPlanePrefab.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/occlusionPlanePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..053dbc845c6ebcdbcebf6c38c5c3447c1dfd2743
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/occlusionPlanePrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7efa6a20912a94315ab013cc4e1bf14b
+timeCreated: 1497394239
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/shadowPlanePrefab.prefab b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/shadowPlanePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..41b4bf041be98281aa60ce8ad411b95cab636b23
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/shadowPlanePrefab.prefab
@@ -0,0 +1,139 @@
+%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: 1983520619281468}
+  m_IsPrefabParent: 1
+--- !u!1 &1835668619836898
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4301351458783932}
+  - component: {fileID: 33801103126895618}
+  - component: {fileID: 64514493211635788}
+  - component: {fileID: 23308608047570514}
+  - component: {fileID: 65158357074468436}
+  m_Layer: 0
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1983520619281468
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4023412880410692}
+  m_Layer: 0
+  m_Name: shadowPlanePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4023412880410692
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1983520619281468}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: -0.173, z: 1.058}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4301351458783932}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4301351458783932
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4023412880410692}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23308608047570514
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 16f11da3beeaf498f8526286a295a38e, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33801103126895618
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64514493211635788
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65158357074468436
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 10, y: 0.1, z: 10}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/shadowPlanePrefab.prefab.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/shadowPlanePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..553b94b4617722d84cff3bf8083779182d485196
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Prefabs/shadowPlanePrefab.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 09772b8a6cca54da2b83d010dd35f8b2
+timeCreated: 1497394239
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d86b418ee861e0e351d93e42044f539145189894
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 7f2caeafab510497293a506bd720ae3c
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/InstancedSurfaceShader.shader b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/InstancedSurfaceShader.shader
new file mode 100644
index 0000000000000000000000000000000000000000..f1c613b329e118ddd24fbaa7e066a6c235aff54f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/InstancedSurfaceShader.shader
@@ -0,0 +1,52 @@
+// Upgrade NOTE: upgraded instancing buffer 'Props' to new syntax.
+
+Shader "Custom/InstancedSurfaceShader" {
+	Properties {
+		_Color ("Color", Color) = (1,1,1,1)
+		_MainTex ("Albedo (RGB)", 2D) = "white" {}
+		_Glossiness ("Smoothness", Range(0,1)) = 0.5
+		_Metallic ("Metallic", Range(0,1)) = 0.0
+	}
+	SubShader {
+		Tags { "RenderType"="Opaque" }
+		LOD 200
+		
+		CGPROGRAM
+		// Physically based Standard lighting model, and enable shadows on all light types
+		#pragma surface surf Standard fullforwardshadows
+
+		// Use shader model 3.0 target, to get nicer looking lighting
+		#pragma target 3.0
+
+		sampler2D _MainTex;
+
+		struct Input {
+			float2 uv_MainTex;
+		};
+
+		half _Glossiness;
+		half _Metallic;
+		fixed4 _Color;
+
+		// Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
+		// See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
+		// #pragma instancing_options assumeuniformscaling
+		UNITY_INSTANCING_BUFFER_START(Props)
+			// put more per-instance properties here
+			UNITY_DEFINE_INSTANCED_PROP (fixed4, _InstanceColor)
+#define _InstanceColor_arr Props
+		UNITY_INSTANCING_BUFFER_END(Props)
+
+		void surf (Input IN, inout SurfaceOutputStandard o) {
+			// Albedo comes from a texture tinted by color
+			fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * UNITY_ACCESS_INSTANCED_PROP (_InstanceColor_arr, _InstanceColor);
+			o.Albedo = c.rgb;
+			// Metallic and smoothness come from slider variables
+			o.Metallic = _Metallic;
+			o.Smoothness = _Glossiness;
+			o.Alpha = c.a;
+		}
+		ENDCG
+	}
+	FallBack "Diffuse"
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/InstancedSurfaceShader.shader.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/InstancedSurfaceShader.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec4ac87c5f2d3d9e3b8182f63ab1df95cce701b8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/InstancedSurfaceShader.shader.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 902ba211e62c84c7390d68fce27bcbc8
+timeCreated: 1496974206
+licenseType: Pro
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileARShadow.shader b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileARShadow.shader
new file mode 100644
index 0000000000000000000000000000000000000000..7104bebe4ff5f76e99d8b21363207c9bff53c900
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileARShadow.shader
@@ -0,0 +1,73 @@
+//This is based on a shader from https://alastaira.wordpress.com/2014/12/30/adding-shadows-to-a-unity-vertexfragment-shader-in-7-easy-steps/
+
+Shader "Custom/MobileARShadow"
+{
+    SubShader {
+        Pass {
+         
+            // 1.) This will be the base forward rendering pass in which ambient, vertex, and
+            // main directional light will be applied. Additional lights will need additional passes
+            // using the "ForwardAdd" lightmode.
+            // see: http://docs.unity3d.com/Manual/SL-PassTags.html
+            Tags { "LightMode" = "ForwardBase" "RenderType"="Opaque" "Queue"="Geometry+1" "ForceNoShadowCasting"="True"  }
+			LOD 150
+			Blend Zero SrcColor
+			ZWrite On
+        
+            CGPROGRAM
+ 
+            #pragma vertex vert
+            #pragma fragment frag
+            #include "UnityCG.cginc"
+ 
+            // 2.) This matches the "forward base" of the LightMode tag to ensure the shader compiles
+            // properly for the forward bass pass. As with the LightMode tag, for any additional lights
+            // this would be changed from _fwdbase to _fwdadd.
+            #pragma multi_compile_fwdbase
+ 
+            // 3.) Reference the Unity library that includes all the lighting shadow macros
+            #include "AutoLight.cginc"
+ 
+ 
+            struct v2f
+            {
+                float4 pos : SV_POSITION;
+                 
+                // 4.) The LIGHTING_COORDS macro (defined in AutoLight.cginc) defines the parameters needed to sample 
+                // the shadow map. The (0,1) specifies which unused TEXCOORD semantics to hold the sampled values - 
+                // As I'm not using any texcoords in this shader, I can use TEXCOORD0 and TEXCOORD1 for the shadow 
+                // sampling. If I was already using TEXCOORD for UV coordinates, say, I could specify
+                // LIGHTING_COORDS(1,2) instead to use TEXCOORD1 and TEXCOORD2.
+                LIGHTING_COORDS(0,1)
+            };
+ 
+ 
+            v2f vert(appdata_base v) {
+                v2f o;
+                o.pos = UnityObjectToClipPos (v.vertex);
+                 
+                // 5.) The TRANSFER_VERTEX_TO_FRAGMENT macro populates the chosen LIGHTING_COORDS in the v2f structure
+                // with appropriate values to sample from the shadow/lighting map
+                TRANSFER_VERTEX_TO_FRAGMENT(o);
+                 
+                return o;
+            }
+ 
+            fixed4 frag(v2f i) : COLOR {
+             
+                // 6.) The LIGHT_ATTENUATION samples the shadowmap (using the coordinates calculated by TRANSFER_VERTEX_TO_FRAGMENT
+                // and stored in the structure defined by LIGHTING_COORDS), and returns the value as a float.
+                float attenuation = LIGHT_ATTENUATION(i);
+                return fixed4(1.0,1.0,1.0,1.0) * attenuation;
+            }
+ 
+            ENDCG
+        }
+    }
+     
+    // 7.) To receive or cast a shadow, shaders must implement the appropriate "Shadow Collector" or "Shadow Caster" pass.
+    // Although we haven't explicitly done so in this shader, if these passes are missing they will be read from a fallback
+    // shader instead, so specify one here to import the collector/caster passes used in that fallback.
+    Fallback "VertexLit"
+
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileARShadow.shader.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileARShadow.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5fa5d804cea4f434b0d41288d077d65a1a398c7c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileARShadow.shader.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: f604a7bd1fb98452e8040855396261c1
+timeCreated: 1497394336
+licenseType: Pro
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileOcclusion.shader b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileOcclusion.shader
new file mode 100644
index 0000000000000000000000000000000000000000..e47ccaa07ec9c610cdf452a14a1f24ea6eaaf80a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileOcclusion.shader
@@ -0,0 +1,44 @@
+Shader "Custom/MobileOcclusion"
+{
+    SubShader {
+	    	Pass {
+	    		// Render the Occlusion shader before all
+				// opaque geometry to prime the depth buffer.
+				Tags { "Queue"="Geometry" }
+
+				ZWrite On
+				ZTest LEqual
+				ColorMask 0
+
+				CGPROGRAM
+				#pragma vertex vert
+				#pragma fragment frag
+
+				#include "UnityCG.cginc"
+
+				struct appdata
+				{
+					float4 vertex : POSITION;
+				};
+
+				struct v2f
+				{
+					float4 position : SV_POSITION;
+				};
+
+				v2f vert (appdata input)
+				{
+					v2f output;
+
+					output.position = UnityObjectToClipPos(input.vertex);
+					return output;
+				}
+
+				fixed4 frag (v2f input) : SV_Target
+				{
+					return fixed4(0.5, 0.3, 0.0, 1.0);
+				}
+				ENDCG
+	    	}
+	}
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileOcclusion.shader.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileOcclusion.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d61ff89cf32ee115234f46639614bedebb927af9
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Shaders/MobileOcclusion.shader.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4c013fa0ac67646678126c0b3581befc
+timeCreated: 1498679026
+licenseType: Pro
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ad562a704d8410a73214b936f83413f99e37c89d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 5c9858485f7f949f4a59c31850ab6cca
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerDiffuse.png b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerDiffuse.png
new file mode 100644
index 0000000000000000000000000000000000000000..711c6cf5243821f7a34d26d6815629f6d1121ab8
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerDiffuse.png differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerDiffuse.png.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerDiffuse.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..65e49ea12beac23331f1e2621d2b44750801a9ba
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerDiffuse.png.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: a6649ec42efce4c6fb933c72bda3c19b
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 1024
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 1024
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerNormals.png b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerNormals.png
new file mode 100644
index 0000000000000000000000000000000000000000..06b143f48441c11ceb9ab58f37390bb2faa3ffda
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerNormals.png differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerNormals.png.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerNormals.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1d3c11cd86c9da11f4816f481103c925d1b09426
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerNormals.png.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: 7ac3149d3b96543fe82d952e422ea2f9
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 1
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 1
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 1024
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 1024
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerOcclusion.png b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerOcclusion.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d9147b10e01b578a2c94a2244dc003bf956b35f
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerOcclusion.png differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerOcclusion.png.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerOcclusion.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e58d2350900b127e626b6b56e38767e5d8afed01
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerOcclusion.png.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: 762151e03f29741478653698bb10df1a
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 1024
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 1024
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerSpecular.tif b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerSpecular.tif
new file mode 100644
index 0000000000000000000000000000000000000000..b79174c79f638048c63d4972181e8e9c8393d561
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerSpecular.tif differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerSpecular.tif.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerSpecular.tif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9886777411279118b94b8af536c2a5df4000738f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/PlayerSpecular.tif.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: 517f781d08a29467281c700fb0bd4152
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/checker_large UV.gif b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/checker_large UV.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dbdaec46efb1b05ac64902428c9a50391834c911
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/checker_large UV.gif differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/checker_large UV.gif.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/checker_large UV.gif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..80233ee0313df6927bee056c404da9d136fa67a3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/checker_large UV.gif.meta	
@@ -0,0 +1,121 @@
+fileFormatVersion: 2
+guid: c768609cc372e4265ab9c49f78568da6
+timeCreated: 1489788026
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 0
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: tvOS
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: 4
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+  - buildTarget: WebGL
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/debugPlaneTile.png b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/debugPlaneTile.png
new file mode 100644
index 0000000000000000000000000000000000000000..b72323fce476011d6510a3157bf8ac284b32e1f7
Binary files /dev/null and b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/debugPlaneTile.png differ
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/debugPlaneTile.png.meta b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/debugPlaneTile.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c1405b7f5f30f2350a6f87a66d902a122e3b8eff
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Common/Textures/debugPlaneTile.png.meta
@@ -0,0 +1,76 @@
+fileFormatVersion: 2
+guid: a4fbc30277350415784c22e2009351b4
+timeCreated: 1492718703
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts.meta b/T3-Unity/Assets/UnityARInterface/Examples/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a5f3ba3159b1a87889177009cf48f0cfb1ab925a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fa35531dce31f76448c950b572e58ed6
+folderAsset: yes
+timeCreated: 1506647857
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/DemoGUI.cs b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/DemoGUI.cs
new file mode 100644
index 0000000000000000000000000000000000000000..921f1685e100ec395667cfc94507ff1d6b69949b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/DemoGUI.cs
@@ -0,0 +1,84 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityARInterface;
+
+public class DemoGUI : ARBase
+{
+    public float guiHeight { get; private set; }
+
+    [SerializeField]
+    private GameObject m_LevelGeometry;
+
+    [SerializeField]
+    private GUISkin m_GuiSkin;
+
+    private ObjectShooter m_ObjectShooter;
+    private ARController m_ARController;
+    private float m_RotationAngle;
+
+    void OnEnable()
+    {
+        m_ObjectShooter = GetComponent<ObjectShooter>();
+        m_ARController = GetFirstEnabledControllerInChildren();
+    }
+
+    void OnGUI()
+    {
+        if (m_ARController == null || !m_ARController.enabled)
+            return;
+
+        guiHeight = Screen.height / 5;
+        var buttonWidth = Screen.width / 2;
+
+        if (GUI.Button(new Rect(Screen.width - buttonWidth, Screen.height - guiHeight, buttonWidth, guiHeight), "Fire!", m_GuiSkin.button))
+            m_ObjectShooter.RequestFire(new Vector2(Screen.width / 2, Screen.height / 2));
+
+        var sliderWidth = Screen.width / 2;
+        var sliderHeight = guiHeight / 2;
+        var angle = GUI.HorizontalSlider(
+            new Rect(0, Screen.height - sliderHeight * 2, sliderWidth, sliderHeight),
+            m_RotationAngle, 0f, 360f,
+            m_GuiSkin.horizontalSlider,
+            m_GuiSkin.horizontalSliderThumb);
+
+        if (angle != m_RotationAngle)
+        {
+            m_ARController.rotation = Quaternion.AngleAxis(m_RotationAngle, Vector3.up);
+            m_RotationAngle = angle;
+        }
+
+        var scale = GUI.HorizontalSlider(
+            new Rect(0, Screen.height - sliderHeight, sliderWidth, sliderHeight),
+            m_ARController.scale, 1f, 100f,
+            m_GuiSkin.horizontalSlider,
+            m_GuiSkin.horizontalSliderThumb);
+
+        if (scale != m_ARController.scale)
+            m_ARController.scale = scale;
+    }
+
+    void Update()
+    {
+        if (Input.GetKeyUp(KeyCode.Space))
+            m_ObjectShooter.RequestFire(Input.mousePosition);
+
+        if (Input.GetMouseButton(0) && Input.mousePosition.y > guiHeight)
+        {
+            var camera = GetCamera();
+
+            Ray ray = camera.ScreenPointToRay(Input.mousePosition);
+
+            var planeLayer = GetComponent<ARPlaneVisualizer>().planeLayer;
+            int layerMask = 1 << planeLayer;
+
+            RaycastHit rayHit;
+            if (Physics.Raycast(ray, out rayHit, float.MaxValue, layerMask))
+            {
+                m_ARController.pointOfInterest = m_LevelGeometry.transform.position;
+                m_ARController.AlignWithPointOfInterest(rayHit.point);
+                m_ObjectShooter.minimumYValue = rayHit.point.y;
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/DemoGUI.cs.meta b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/DemoGUI.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e1cdeaec1e13ac4422dcc51c3248d0de5e0d6e94
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/DemoGUI.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 36259834c8fc462499219d012750fe65
+timeCreated: 1506706274
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/MatchingScalePicker.cs b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/MatchingScalePicker.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e3518eff48fecc489f970d9263141c39f1bb0318
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/MatchingScalePicker.cs
@@ -0,0 +1,65 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public class MatchingScalePicker : ARBase
+    {
+        [SerializeField]
+        private Transform m_LevelGeometry;
+
+        private Bounds GetRenderBounds(GameObject go)
+        {
+            var totalBounds = new Bounds();
+            totalBounds.SetMinMax(Vector3.one * Mathf.Infinity, -Vector3.one * Mathf.Infinity);
+            foreach (var renderer in go.GetComponentsInChildren<Renderer>())
+            {
+                var bounds = renderer.bounds;
+                var totalMin = totalBounds.min;
+                totalMin.x = Mathf.Min(totalMin.x, bounds.min.x);
+                totalMin.y = Mathf.Min(totalMin.y, bounds.min.y);
+                totalMin.z = Mathf.Min(totalMin.z, bounds.min.z);
+
+                var totalMax = totalBounds.max;
+                totalMax.x = Mathf.Max(totalMax.x, bounds.max.x);
+                totalMax.y = Mathf.Max(totalMax.y, bounds.max.y);
+                totalMax.z = Mathf.Max(totalMax.z, bounds.max.z);
+
+                totalBounds.SetMinMax(totalMin, totalMax);
+            }
+
+            return totalBounds;
+        }
+
+        private void Update()
+        {
+            if (Input.GetMouseButton(0))
+            {
+                var camera = GetCamera();
+
+                Ray ray = camera.ScreenPointToRay(Input.mousePosition);
+
+                var planeLayer = GetComponent<ARPlaneVisualizer>().planeLayer;
+                int layerMask = 1 << planeLayer;
+
+                RaycastHit rayHit;
+                if (Physics.Raycast(ray, out rayHit, float.MaxValue, layerMask))
+                {
+                    var arController = GetFirstEnabledControllerInChildren();
+                    var bounds = GetRenderBounds(m_LevelGeometry.gameObject);
+                    var maxLevelDimension = Mathf.Max(bounds.size.x, bounds.size.z);
+                    var planeTransform = rayHit.collider.transform.parent;
+                    var planeScale = planeTransform.localScale;
+                    var planeExtents = new Vector2(planeScale.x, planeScale.z);
+                    var minPlaneDimension = Mathf.Min(planeExtents.x, planeExtents.y);
+
+                    arController.pointOfInterest = bounds.center;
+                    arController.scale = maxLevelDimension / minPlaneDimension;
+                    arController.rotation = planeTransform.localRotation;
+                    arController.AlignWithPointOfInterest(planeTransform.position);
+                }
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/MatchingScalePicker.cs.meta b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/MatchingScalePicker.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bef211131a1782b4cc39a45a987c1d7423d8cf29
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/MatchingScalePicker.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: bd79e5b122a4d234aa22faaf100b861b
+timeCreated: 1506795091
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/ObjectShooter.cs b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/ObjectShooter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5720b3d9d332cb890242a38697e924e1a1f87c9c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/ObjectShooter.cs
@@ -0,0 +1,44 @@
+using UnityEngine;
+using UnityARInterface;
+
+public class ObjectShooter : ARBase
+{
+    [SerializeField]
+    private GameObject m_Prefab;
+
+    [SerializeField]
+    private float m_Force = 5000f;
+
+    public float minimumYValue = 0f;
+
+    private bool m_WasFireRequested = false;
+    private Vector2 m_ScreenPosition;
+
+    public void RequestFire(Vector2 screenPosition)
+    {
+        m_WasFireRequested = true;
+        m_ScreenPosition = screenPosition;
+    }
+
+    void Update()
+    {
+        if (m_WasFireRequested)
+        {
+            var camera = GetCamera();
+
+            var ray = camera.ScreenPointToRay(m_ScreenPosition);
+            var go = Instantiate(m_Prefab, ray.origin + ray.direction * 2f, Quaternion.identity);
+            var rigidbody = go.GetComponent<Rigidbody>();
+            if (rigidbody != null)
+            {
+                var force = ray.direction * m_Force;
+                rigidbody.AddForce(force);
+            }
+
+            var remover = go.GetComponent<RemoveRigidbody>();
+            remover.minYPosition = minimumYValue;
+        }
+
+        m_WasFireRequested = false;
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/ObjectShooter.cs.meta b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/ObjectShooter.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9015f79fb697fcf828575ccb94c2daa6808fe516
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/ObjectShooter.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ea4e98d3372843d4a9b97f61bd5a33b5
+timeCreated: 1506647864
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/OptionsGUI.cs b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/OptionsGUI.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e801eb5fe0d2bbfae7affd118032d1e83ca6e54a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/OptionsGUI.cs
@@ -0,0 +1,25 @@
+using UnityEngine;
+using UnityARInterface;
+
+public class OptionsGUI : MonoBehaviour
+{
+    [SerializeField]
+    private GUISkin m_GuiSkin;
+
+    private void DoButton<T>(float y, string name) where T : MonoBehaviour
+    {
+        var buttonWidth = 400;
+        var buttonHeight = Screen.height / 8;
+        var component = GetComponent<T>();
+        var rect = new Rect(0, y * buttonHeight, buttonWidth, buttonHeight);
+        var text = string.Format("{0} {1}", (component.enabled ? "Hide" : "Show"), name);
+        if (GUI.Button(rect, text, m_GuiSkin.button))
+            component.enabled = !component.enabled;
+    }
+
+    private void OnGUI()
+    {
+        DoButton<ARPlaneVisualizer>(0f, "Planes");
+        DoButton<ARPointCloudVisualizer>(1f, "Pointcloud");
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/OptionsGUI.cs.meta b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/OptionsGUI.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f6956e27e0315c9adc7cdb0a740d821431c61b62
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/OptionsGUI.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: f3ca5c66712a90b4f872c4a410198611
+timeCreated: 1507010556
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/PlaceOnPlane.cs b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/PlaceOnPlane.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d83488a959933b9dc0ba581bb9b63e966601349b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/PlaceOnPlane.cs
@@ -0,0 +1,26 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityARInterface;
+
+public class PlaceOnPlane : ARBase
+{
+    [SerializeField]
+    private Transform m_ObjectToPlace;
+
+    void Update ()
+    {
+        if (Input.GetMouseButton(0))
+        {
+            var camera = GetCamera();
+
+            Ray ray = camera.ScreenPointToRay(Input.mousePosition);
+
+			int layerMask = 1 << LayerMask.NameToLayer("ARGameObject"); // Planes are in layer ARGameObject
+
+            RaycastHit rayHit;
+            if (Physics.Raycast(ray, out rayHit, float.MaxValue, layerMask))
+                m_ObjectToPlace.transform.position = rayHit.point;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/PlaceOnPlane.cs.meta b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/PlaceOnPlane.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2e987779f4d2e2b6059a9388fa9b69076aff61ce
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/PlaceOnPlane.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: d489c36887965d54fb9cf068f70d30da
+timeCreated: 1506725436
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/RemoveRigidbody.cs b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/RemoveRigidbody.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f750674b017d32ed42add8e1dbb698435429ec6a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/RemoveRigidbody.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+
+// Removes a rigid body if it goes to sleep or falls
+// below a minimum vertical threshold.
+
+public class RemoveRigidbody : MonoBehaviour
+{
+    public float minYPosition;
+
+    void Update ()
+    {
+        if (transform.position.y < minYPosition)
+        {
+            Destroy(gameObject);
+        }
+        else
+        {
+            var rigidbody = GetComponent<Rigidbody>();
+            if (rigidbody != null && rigidbody.IsSleeping())
+                Destroy(gameObject);
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Examples/Scripts/RemoveRigidbody.cs.meta b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/RemoveRigidbody.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0313b248a6ed1e665339309b1215fe820d343014
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Examples/Scripts/RemoveRigidbody.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2b945aa577c02e0408a242917301c7d7
+timeCreated: 1506648871
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Prefabs.meta b/T3-Unity/Assets/UnityARInterface/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0af109808f376a5c9b4a58b4b24edbfabb9494b8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Prefabs.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 134f585f116ac864f9ec3975a70b36c7
+folderAsset: yes
+timeCreated: 1505890169
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Prefabs/Level geometry.prefab b/T3-Unity/Assets/UnityARInterface/Prefabs/Level geometry.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..5a93bd72bf9ffd4248cfb28dceee482595538ed7
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Prefabs/Level geometry.prefab	
@@ -0,0 +1,468 @@
+%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: 1602197924119174}
+  m_IsPrefabParent: 1
+--- !u!1 &1309202741671272
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4009091861681856}
+  - component: {fileID: 33098116257625058}
+  - component: {fileID: 65461630691635010}
+  - component: {fileID: 23192365961949904}
+  m_Layer: 0
+  m_Name: Right wall
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1602197924119174
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4820758401636354}
+  m_Layer: 0
+  m_Name: Level geometry
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1654759414087908
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4260536369424808}
+  - component: {fileID: 33277038346884078}
+  - component: {fileID: 64190904010034456}
+  - component: {fileID: 23940676369275106}
+  m_Layer: 0
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1679244075408010
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4540780827522688}
+  - component: {fileID: 33239183205465704}
+  - component: {fileID: 65892716988373352}
+  - component: {fileID: 23117069119355778}
+  m_Layer: 0
+  m_Name: Forward wall
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1719318275153444
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4543019193981460}
+  - component: {fileID: 33379165268687486}
+  - component: {fileID: 65220297234622272}
+  - component: {fileID: 23416253344517734}
+  m_Layer: 0
+  m_Name: Left wall
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1941580905516858
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4688570572795132}
+  - component: {fileID: 33098132977325368}
+  - component: {fileID: 65307099688166314}
+  - component: {fileID: 23630798301082762}
+  m_Layer: 0
+  m_Name: Back wall
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4009091861681856
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1309202741671272}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 15.05, y: 0.5, z: 0}
+  m_LocalScale: {x: 0.1, y: 1, z: 10}
+  m_Children: []
+  m_Father: {fileID: 4820758401636354}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4260536369424808
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1654759414087908}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 10, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4820758401636354}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4540780827522688
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1679244075408010}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 10, y: 0.5, z: 5.05}
+  m_LocalScale: {x: 10, y: 1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4820758401636354}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4543019193981460
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1719318275153444}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 4.95, y: 0.5, z: 0}
+  m_LocalScale: {x: 0.099999994, y: 1, z: 10}
+  m_Children: []
+  m_Father: {fileID: 4820758401636354}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4688570572795132
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1941580905516858}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 10, y: 0.5, z: -5.05}
+  m_LocalScale: {x: 10, y: 1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4820758401636354}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4820758401636354
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1602197924119174}
+  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:
+  - {fileID: 4540780827522688}
+  - {fileID: 4688570572795132}
+  - {fileID: 4009091861681856}
+  - {fileID: 4543019193981460}
+  - {fileID: 4260536369424808}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23117069119355778
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1679244075408010}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: f5e394a942fae453583e8e6009ee49a1, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23192365961949904
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1309202741671272}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23416253344517734
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1719318275153444}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23630798301082762
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1941580905516858}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23940676369275106
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1654759414087908}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33098116257625058
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1309202741671272}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33098132977325368
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1941580905516858}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33239183205465704
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1679244075408010}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33277038346884078
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1654759414087908}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33379165268687486
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1719318275153444}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64190904010034456
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1654759414087908}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65220297234622272
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1719318275153444}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65307099688166314
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1941580905516858}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65461630691635010
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1309202741671272}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65892716988373352
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1679244075408010}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Prefabs/Level geometry.prefab.meta b/T3-Unity/Assets/UnityARInterface/Prefabs/Level geometry.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a7fdad63dc7ef5424b3b699def513b99079a7216
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Prefabs/Level geometry.prefab.meta	
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 76ffdac2729fb244bb4461475e5713e3
+timeCreated: 1506279153
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Prefabs/PhysicsBall.prefab b/T3-Unity/Assets/UnityARInterface/Prefabs/PhysicsBall.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..bdc4a63bdb3e47d6c71e3a8e2e37ed33dc7fbfd1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Prefabs/PhysicsBall.prefab
@@ -0,0 +1,126 @@
+%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: 1489350369326248}
+  m_IsPrefabParent: 1
+--- !u!1 &1489350369326248
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4455018381858760}
+  - component: {fileID: 33820438183155796}
+  - component: {fileID: 135550667740639056}
+  - component: {fileID: 23027164525019954}
+  - component: {fileID: 54262092915194074}
+  - component: {fileID: 114575098190047998}
+  m_Layer: 0
+  m_Name: PhysicsBall
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4455018381858760
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489350369326248}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 36.7, y: 59.8, 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}
+--- !u!23 &23027164525019954
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489350369326248}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33820438183155796
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489350369326248}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!54 &54262092915194074
+Rigidbody:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489350369326248}
+  serializedVersion: 2
+  m_Mass: 1
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_UseGravity: 1
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 0
+  m_CollisionDetection: 2
+--- !u!114 &114575098190047998
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489350369326248}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2b945aa577c02e0408a242917301c7d7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  minYPosition: 0
+--- !u!135 &135550667740639056
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489350369326248}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Prefabs/PhysicsBall.prefab.meta b/T3-Unity/Assets/UnityARInterface/Prefabs/PhysicsBall.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d6d851fe45f2b1d6446630b114baf934e808ba45
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Prefabs/PhysicsBall.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 58942a2bec0857e449f6c238f4848795
+timeCreated: 1506647838
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Prefabs/PlacedObject.prefab b/T3-Unity/Assets/UnityARInterface/Prefabs/PlacedObject.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..30319c44edbbb06087cd548b5020c86a6d7ee6a0
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Prefabs/PlacedObject.prefab
@@ -0,0 +1,127 @@
+%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: 1143289293855026}
+  m_IsPrefabParent: 1
+--- !u!1 &1143289293855026
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4073830137377174}
+  m_Layer: 0
+  m_Name: PlacedObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1489978153689028
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4537514140032208}
+  - component: {fileID: 33889003702795890}
+  - component: {fileID: 136364773276220862}
+  - component: {fileID: 23456508487885974}
+  m_Layer: 0
+  m_Name: Cylinder
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4073830137377174
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1143289293855026}
+  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:
+  - {fileID: 4537514140032208}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4537514140032208
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489978153689028}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4073830137377174}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23456508487885974
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489978153689028}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33889003702795890
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489978153689028}
+  m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!136 &136364773276220862
+CapsuleCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1489978153689028}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  m_Radius: 0.5
+  m_Height: 2
+  m_Direction: 1
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARInterface/Prefabs/PlacedObject.prefab.meta b/T3-Unity/Assets/UnityARInterface/Prefabs/PlacedObject.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1a034f8c0e774245cb843d55247fb3a4e78950bf
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Prefabs/PlacedObject.prefab.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9c4538f612b79d74da244c6a9410b9bd
+timeCreated: 1505890688
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Resources.meta b/T3-Unity/Assets/UnityARInterface/Resources.meta
new file mode 100644
index 0000000000000000000000000000000000000000..36ea27818eea776a0c7177f00031d671da983ec2
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Resources.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 793230709e6112b4e838e4adccd4a879
+folderAsset: yes
+timeCreated: 1505938920
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Resources/GuiSkin.guiskin b/T3-Unity/Assets/UnityARInterface/Resources/GuiSkin.guiskin
new file mode 100644
index 0000000000000000000000000000000000000000..5e09a209d54ae67780175e3258ac4d755134e5db
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Resources/GuiSkin.guiskin
@@ -0,0 +1,1427 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12001, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: GuiSkin
+  m_EditorClassIdentifier: 
+  m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+  m_box:
+    m_Name: box
+    m_Normal:
+      m_Background: {fileID: 11001, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 6
+      m_Right: 6
+      m_Top: 6
+      m_Bottom: 6
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 1
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_button:
+    m_Name: button
+    m_Normal:
+      m_Background: {fileID: 11006, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+    m_Hover:
+      m_Background: {fileID: 11003, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_Active:
+      m_Background: {fileID: 11002, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 11005, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.9019608, g: 0.9019608, b: 0.9019608, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 11004, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 11002, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 6
+      m_Right: 6
+      m_Top: 6
+      m_Bottom: 4
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 6
+      m_Right: 6
+      m_Top: 3
+      m_Bottom: 3
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 40
+    m_FontStyle: 0
+    m_Alignment: 4
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 1
+  m_toggle:
+    m_Name: toggle
+    m_Normal:
+      m_Background: {fileID: 11018, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.89112896, g: 0.89112896, b: 0.89112896, a: 1}
+    m_Hover:
+      m_Background: {fileID: 11014, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_Active:
+      m_Background: {fileID: 11013, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 11016, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.8901961, g: 0.8901961, b: 0.8901961, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 11015, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 11017, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 14
+      m_Right: 0
+      m_Top: 14
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 15
+      m_Right: 0
+      m_Top: 3
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: -1
+      m_Right: 0
+      m_Top: -4
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_label:
+    m_Name: label
+    m_Normal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 3
+      m_Bottom: 3
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 1
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_textField:
+    m_Name: textfield
+    m_Normal:
+      m_Background: {fileID: 11024, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1}
+    m_Hover:
+      m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 11025, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 3
+      m_Right: 3
+      m_Top: 3
+      m_Bottom: 3
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 0
+    m_TextClipping: 1
+    m_ImagePosition: 3
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_textArea:
+    m_Name: textarea
+    m_Normal:
+      m_Background: {fileID: 11024, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.9019608, g: 0.9019608, b: 0.9019608, a: 1}
+    m_Hover:
+      m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 11025, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 3
+      m_Right: 3
+      m_Top: 3
+      m_Bottom: 3
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 1
+    m_RichText: 0
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_window:
+    m_Name: window
+    m_Normal:
+      m_Background: {fileID: 11023, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 11022, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 8
+      m_Right: 8
+      m_Top: 18
+      m_Bottom: 8
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 10
+      m_Right: 10
+      m_Top: 20
+      m_Bottom: 10
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 1
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: -18}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_horizontalSlider:
+    m_Name: horizontalslider
+    m_Normal:
+      m_Background: {fileID: 11009, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 3
+      m_Right: 3
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: -1
+      m_Right: -1
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: -2
+      m_Bottom: -3
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 2
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 1
+  m_horizontalSliderThumb:
+    m_Name: horizontalsliderthumb
+    m_Normal:
+      m_Background: {fileID: 11011, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 11012, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 11010, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 7
+      m_Right: 7
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: -1
+      m_Right: -1
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 2
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 1
+  m_verticalSlider:
+    m_Name: verticalslider
+    m_Normal:
+      m_Background: {fileID: 11021, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 3
+      m_Bottom: 3
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: -1
+      m_Bottom: -1
+    m_Overflow:
+      m_Left: -2
+      m_Right: -3
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 0
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 12
+    m_FixedHeight: 0
+    m_StretchWidth: 0
+    m_StretchHeight: 1
+  m_verticalSliderThumb:
+    m_Name: verticalsliderthumb
+    m_Normal:
+      m_Background: {fileID: 11011, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 11012, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 11010, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 7
+      m_Bottom: 7
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: -1
+      m_Bottom: -1
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 12
+    m_FixedHeight: 0
+    m_StretchWidth: 0
+    m_StretchHeight: 1
+  m_horizontalScrollbar:
+    m_Name: horizontalscrollbar
+    m_Normal:
+      m_Background: {fileID: 11008, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 9
+      m_Right: 9
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 1
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 2
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 15
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_horizontalScrollbarThumb:
+    m_Name: horizontalscrollbarthumb
+    m_Normal:
+      m_Background: {fileID: 11007, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 6
+      m_Right: 6
+      m_Top: 6
+      m_Bottom: 6
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 6
+      m_Right: 6
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: -1
+      m_Bottom: 1
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 13
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_horizontalScrollbarLeftButton:
+    m_Name: horizontalscrollbarleftbutton
+    m_Normal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_horizontalScrollbarRightButton:
+    m_Name: horizontalscrollbarrightbutton
+    m_Normal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_verticalScrollbar:
+    m_Name: verticalscrollbar
+    m_Normal:
+      m_Background: {fileID: 11020, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 9
+      m_Bottom: 9
+    m_Margin:
+      m_Left: 1
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 1
+      m_Bottom: 1
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 15
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_verticalScrollbarThumb:
+    m_Name: verticalscrollbarthumb
+    m_Normal:
+      m_Background: {fileID: 11019, guid: 0000000000000000e000000000000000, type: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 6
+      m_Right: 6
+      m_Top: 6
+      m_Bottom: 6
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 6
+      m_Bottom: 6
+    m_Overflow:
+      m_Left: -1
+      m_Right: -1
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 2
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 15
+    m_FixedHeight: 0
+    m_StretchWidth: 0
+    m_StretchHeight: 1
+  m_verticalScrollbarUpButton:
+    m_Name: verticalscrollbarupbutton
+    m_Normal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_verticalScrollbarDownButton:
+    m_Name: verticalscrollbardownbutton
+    m_Normal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_ScrollView:
+    m_Name: scrollview
+    m_Normal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_CustomStyles:
+  - m_Name: 
+    m_Normal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Hover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Active:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Focused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 0}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+    m_Border:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Padding:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 0
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 0
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
+  m_Settings:
+    m_DoubleClickSelectsWord: 1
+    m_TripleClickSelectsLine: 1
+    m_CursorColor: {r: 1, g: 1, b: 1, a: 1}
+    m_CursorFlashSpeed: -1
+    m_SelectionColor: {r: 1, g: 0.38403907, b: 0, a: 0.7}
diff --git a/T3-Unity/Assets/UnityARInterface/Resources/GuiSkin.guiskin.meta b/T3-Unity/Assets/UnityARInterface/Resources/GuiSkin.guiskin.meta
new file mode 100644
index 0000000000000000000000000000000000000000..36e7c823708e7559e2e5ec987e44443cd9647daa
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Resources/GuiSkin.guiskin.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: eda3469a863a93c419bf83c292590651
+timeCreated: 1508267447
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Resources/Materials.meta b/T3-Unity/Assets/UnityARInterface/Resources/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f15c5c1b6ec15f883c76cc3c3f276a0127127fff
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Resources/Materials.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d4f63e2799db74443890fc3a2bcd972e
+folderAsset: yes
+timeCreated: 1513586611
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Resources/Materials/ARBackground.mat b/T3-Unity/Assets/UnityARInterface/Resources/Materials/ARBackground.mat
new file mode 100644
index 0000000000000000000000000000000000000000..3b70f19f219eaa253ba5a57233a156118d405788
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Resources/Materials/ARBackground.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: ARBackground
+  m_Shader: {fileID: 4800000, guid: 025775b2b3616154f9eec0261bb8a581, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Resources/Materials/ARBackground.mat.meta b/T3-Unity/Assets/UnityARInterface/Resources/Materials/ARBackground.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..06069bb60b62e67e1f9bb980c3c34c6f8e91d401
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Resources/Materials/ARBackground.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1e091523e27345f4499b9c7eb9b1536a
+timeCreated: 1513586380
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Resources/YUVMaterial.mat b/T3-Unity/Assets/UnityARInterface/Resources/YUVMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..964adb8e44f5c4f7878b9f64661d4dbcef63d416
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Resources/YUVMaterial.mat
@@ -0,0 +1,90 @@
+%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: YUVMaterial
+  m_Shader: {fileID: 4800000, guid: ef7b8eec959eb4f1e9fa97bc86273848, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureCbCr:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureCrCb:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureY:
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    - _isPortrait: 0
+    - _texCoordScale: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARInterface/Resources/YUVMaterial.mat.meta b/T3-Unity/Assets/UnityARInterface/Resources/YUVMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6f000eba49645d9755d10f9901482f2767e8c20a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Resources/YUVMaterial.mat.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4dd70423979ffd241a7b9e0dab3d9a6e
+timeCreated: 1505939096
+licenseType: Pro
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts.meta b/T3-Unity/Assets/UnityARInterface/Scripts.meta
new file mode 100644
index 0000000000000000000000000000000000000000..19a2312ea9d0cbe6db08b18522e2f07b61dc4171
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 52e08e52baa762541ad39891b9a3269a
+folderAsset: yes
+timeCreated: 1505939042
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARAnchor.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARAnchor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..911d576f71069ade87c6d5683307208b52306c29
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARAnchor.cs
@@ -0,0 +1,49 @@
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public class ARAnchor : ARBase
+    {
+        [HideInInspector]
+        public string anchorID;
+
+        private ARInterface m_ARInterface;
+        private bool started;
+
+        private void Awake()
+        {
+            m_ARInterface = ARInterface.GetInterface();
+            if (m_ARInterface == null)
+                Destroy(this);
+        }
+
+        void Start()
+        {
+            UpdateAnchor();
+            started = true;
+        }
+
+        private void OnEnable()
+        {
+            if (started)
+                UpdateAnchor();
+        }
+
+        private void OnDisable()
+        {
+            m_ARInterface.DestroyAnchor(this);
+        }
+
+        private void OnDestroy()
+        {
+            m_ARInterface.DestroyAnchor(this);
+        }
+
+        public void UpdateAnchor()
+        {
+            m_ARInterface.DestroyAnchor(this);
+            m_ARInterface.ApplyAnchor(this);
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARAnchor.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARAnchor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1c004021e6d0031a2e32b6172d9b740911cb9e2b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARAnchor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7fb52f11595a74c1ca6ad8025865fdb9
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARBase.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6594e570d6e986a735ae347af6d683a47bb5b39d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARBase.cs
@@ -0,0 +1,55 @@
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public class ARBase : MonoBehaviour
+    {
+        protected Transform GetRoot()
+        {
+            var camera = GetCamera();
+            if (camera != null)
+                return camera.transform.parent;
+
+            return null;
+        }
+
+        protected float GetScale()
+        {
+            var root = GetRoot();
+            if (root != null)
+                return root.transform.localScale.x;
+
+            return 1f;
+        }
+
+        // Returns the first enabled ARController
+        protected ARController GetFirstEnabledControllerInChildren()
+        {
+            foreach (var controller in GetComponentsInChildren<ARController>())
+            {
+                if (controller.enabled)
+                {
+                    return controller;
+                }
+            }
+
+            return null;
+        }
+
+        protected Camera GetCamera()
+        {
+            // Use the same camera as the ARController
+            var arController = GetFirstEnabledControllerInChildren();
+            if (arController != null)
+                return arController.arCamera;
+
+            // If we're on a camera then use that.
+            var camera = GetComponent<Camera>();
+            if (camera != null)
+                return camera;
+
+            // Fallback to main camera
+            return Camera.main;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARBase.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARBase.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cad399e909ff45d4b61e486ea57692868fb84f52
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARBase.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 2c9d5f9e482067b4282598af5361604f
+timeCreated: 1506532180
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARController.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARController.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f57d3eedb13053226e04bae6c902bd63b30f9ca4
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARController.cs
@@ -0,0 +1,185 @@
+using UnityEngine;
+using System.Collections;
+
+#if UNITY_EDITOR
+using UnityEngine.Networking.PlayerConnection;
+using UnityEditor.Networking.PlayerConnection;
+#endif
+
+namespace UnityARInterface
+{
+    public class ARController : MonoBehaviour
+    {
+        protected ARInterface m_ARInterface;
+
+        [SerializeField]
+        protected Camera m_ARCamera;
+        public Camera arCamera { get { return m_ARCamera; } }
+
+        [SerializeField]
+        private bool m_PlaneDetection;
+
+        [SerializeField]
+        private bool m_LightEstimation;
+
+        [SerializeField]
+        private bool m_PointCloud;
+
+        [SerializeField]
+        private bool m_BackgroundRendering = true;
+
+        [SerializeField]
+        private float m_Scale = 1f;
+
+        public virtual bool BackgroundRendering {
+            get { return m_BackgroundRendering; }
+
+            set {
+                if(m_ARInterface != null){
+                    m_ARInterface.BackgroundRendering = m_BackgroundRendering = value;
+                }
+            }
+        }
+
+        public float scale
+        {
+            set
+            {
+                m_Scale = value;
+
+                var root = m_ARCamera.transform.parent;
+                if (root)
+                {
+                    var poiInRootSpace = root.InverseTransformPoint(pointOfInterest);
+                    root.localPosition = m_InvRotation * (-poiInRootSpace * m_Scale) + pointOfInterest;
+                }
+            }
+
+            get { return m_Scale; }
+        }
+
+        public Vector3 pointOfInterest;
+        private Quaternion m_Rotation = Quaternion.identity;
+        private Quaternion m_InvRotation = Quaternion.identity;
+        public Quaternion rotation
+        {
+            get { return m_Rotation; }
+            set
+            {
+                var root = m_ARCamera.transform.parent;
+                if (root)
+                {
+                    m_Rotation = value;
+                    m_InvRotation = Quaternion.Inverse(rotation);
+                    var poiInRootSpace = root.InverseTransformPoint(pointOfInterest);
+
+                    root.localPosition = m_InvRotation * (-poiInRootSpace * scale) + pointOfInterest;
+                    root.localRotation = m_InvRotation;
+                }
+            }
+        }
+
+        public bool IsRunning
+        {
+            get
+            {
+                if (m_ARInterface == null)
+                    return false;
+                return m_ARInterface.IsRunning;
+            }
+        }
+
+        public void AlignWithPointOfInterest(Vector3 position)
+        {
+            var root = m_ARCamera.transform.parent;
+            if (root)
+            {
+                var poiInRootSpace = root.InverseTransformPoint(position - pointOfInterest);
+                root.localPosition = m_InvRotation * (-poiInRootSpace * scale);
+            }
+        }
+
+        void OnBeforeRender()
+        {
+            m_ARInterface.UpdateCamera(m_ARCamera);
+
+            Pose pose = new Pose();
+            if (m_ARInterface.TryGetPose(ref pose))
+            {
+                m_ARCamera.transform.localPosition = pose.position;
+                m_ARCamera.transform.localRotation = pose.rotation;
+                var parent = m_ARCamera.transform.parent;
+                if (parent != null)
+                    parent.localScale = Vector3.one * scale;
+            }
+        }
+
+        protected virtual void SetupARInterface()
+        {
+            m_ARInterface = ARInterface.GetInterface();
+        }
+
+        private void OnEnable()
+        {
+            Application.targetFrameRate = 60;
+            Screen.sleepTimeout = SleepTimeout.NeverSleep;
+            Input.simulateMouseWithTouches = true;
+
+            if (m_ARInterface == null)
+                SetupARInterface();
+
+            // See if we are on a camera
+            if (m_ARCamera == null)
+                m_ARCamera = GetComponent<Camera>();
+
+            // Fallback to main camera
+            if (m_ARCamera == null)
+                m_ARCamera = Camera.main;
+
+            StopAllCoroutines();
+            StartCoroutine(StartServiceRoutine());
+
+        }
+
+        IEnumerator StartServiceRoutine()
+        {
+            yield return m_ARInterface.StartService(GetSettings());
+            if (IsRunning)
+            {
+                m_ARInterface.SetupCamera(m_ARCamera);
+                m_ARInterface.BackgroundRendering = BackgroundRendering;
+                Application.onBeforeRender += OnBeforeRender;
+            }
+            else
+            {
+                enabled = false;
+            }
+        }
+
+
+        void OnDisable()
+        {
+            StopAllCoroutines();
+            if (IsRunning)
+            {
+                m_ARInterface.StopService();
+                Application.onBeforeRender -= OnBeforeRender;
+            }
+        }
+
+        void Update()
+        {
+            m_ARInterface.Update();
+        }
+
+        public ARInterface.Settings GetSettings()
+        {
+            return new ARInterface.Settings()
+            {
+                enablePointCloud = m_PointCloud,
+                enablePlaneDetection = m_PlaneDetection,
+                enableLightEstimation = m_LightEstimation
+            };
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARController.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARController.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0c487cc9104b457c6317d55df3471b8f0a2221e1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARController.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 9acf0b0c890fb9040b2f5da53bf54d86
+timeCreated: 1505333323
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARCoreInterface.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARCoreInterface.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0b70bf83275211395c4502d6a4800b3f5a7cb00d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARCoreInterface.cs
@@ -0,0 +1,467 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using GoogleARCore;
+using System.Collections;
+using System.Runtime.InteropServices;
+using UnityEngine.XR;
+
+namespace UnityARInterface
+{
+    public class ARCoreInterface : ARInterface
+    {
+       
+#region ARCoreCameraAPI
+        public const string ARCoreCameraUtilityAPI = "arcore_camera_utility";
+
+        //Texture size. Larger values are slower.
+        private const int k_ARCoreTextureWidth = 640;
+        private const int k_ARCoreTextureHeight = 480;
+
+        //If imageFormatType is set to ImageFormatColor, the buffer is converted to YUV2.
+        //If imageFormatType is set to ImageFormatGrayscale, the buffer is set to Y as is, 
+        //while the UV components remain null. Will appear pink using the remote
+        private const ImageFormatType k_ImageFormatType = ImageFormatType.ImageFormatColor;
+
+        [DllImport(ARCoreCameraUtilityAPI)]
+        public static extern void TextureReader_create(int format, int width, int height, bool keepAspectRatio);
+
+        [DllImport(ARCoreCameraUtilityAPI)]
+        public static extern void TextureReader_destroy();
+
+        [DllImport(ARCoreCameraUtilityAPI)]
+        public static extern IntPtr TextureReader_submitAndAcquire(
+            int textureId, int textureWidth, int textureHeight, ref int bufferSize);
+
+        private enum ImageFormatType
+        {
+            ImageFormatColor = 0,
+            ImageFormatGrayscale = 1
+        }
+
+        private byte[] pixelBuffer;
+
+#endregion
+
+        private List<TrackedPlane> m_TrackedPlaneBuffer = new List<TrackedPlane>();
+        private ScreenOrientation m_CachedScreenOrientation;
+        private Dictionary<TrackedPlane, BoundedPlane> m_TrackedPlanes = new Dictionary<TrackedPlane, BoundedPlane>();
+        private ARCoreSession m_ARCoreSession;
+        private ARCoreSessionConfig m_ARCoreSessionConfig;
+        private ARBackgroundRenderer m_BackgroundRenderer;
+        private Matrix4x4 m_DisplayTransform = Matrix4x4.identity;
+        private List<Vector4> m_TempPointCloud = new List<Vector4>();
+        private Dictionary<ARAnchor, Anchor> m_Anchors = new Dictionary<ARAnchor, Anchor>();
+        private bool m_BackgroundRendering;
+
+        public override bool IsSupported
+        {
+            get
+            {
+                return
+                    Session.Status != SessionStatus.ErrorApkNotAvailable &&
+                    Session.Status != SessionStatus.ErrorSessionConfigurationNotSupported;
+            }
+        }
+
+        public override bool BackgroundRendering
+        {
+            get
+            {
+                return m_BackgroundRendering;
+            }
+            set
+            {
+                if (m_BackgroundRenderer == null)
+                    return;
+
+                m_BackgroundRendering = value;
+                m_BackgroundRenderer.mode = m_BackgroundRendering ? 
+                    ARRenderMode.MaterialAsBackground : ARRenderMode.StandardBackground;
+            }
+        }
+
+        public override IEnumerator StartService(Settings settings)
+        {
+            if (m_ARCoreSessionConfig == null)
+                m_ARCoreSessionConfig = ScriptableObject.CreateInstance<ARCoreSessionConfig>();
+
+            m_ARCoreSessionConfig.EnableLightEstimation = settings.enableLightEstimation;
+            m_ARCoreSessionConfig.EnablePlaneFinding = settings.enablePlaneDetection;
+            //Do we want to match framerate to the camera?
+            m_ARCoreSessionConfig.MatchCameraFramerate = true;
+
+            // Create a GameObject on which the session component will live.
+            if (m_ARCoreSession == null)
+            {
+                var go = new GameObject("ARCore Session");
+                go.SetActive(false);
+                m_ARCoreSession = go.AddComponent<ARCoreSession>();
+                m_ARCoreSession.SessionConfig = m_ARCoreSessionConfig;
+                go.SetActive(true);
+            }
+
+            // Enabling the session triggers the connection
+            m_ARCoreSession.SessionConfig = m_ARCoreSessionConfig;
+            m_ARCoreSession.enabled = true;
+
+            if (!IsSupported)
+            {
+                switch (Session.Status)
+                {
+                    case SessionStatus.ErrorApkNotAvailable:
+                        Debug.LogError("ARCore APK is not installed");
+                        yield break;
+                    case SessionStatus.ErrorPermissionNotGranted:
+                        Debug.LogError("A needed permission (likely the camera) has not been granted");
+                        yield break;
+                    case SessionStatus.ErrorSessionConfigurationNotSupported:
+                        Debug.LogError("The given ARCore session configuration is not supported on this device");
+                        yield break;
+                    case SessionStatus.FatalError:
+                        Debug.LogError("A fatal error was encountered trying to start the ARCore session");
+                        yield break;
+                }
+            }
+
+            while (!Session.Status.IsValid())
+            {
+                IsRunning = false;
+
+                if (Session.Status.IsError())
+                {
+                    switch (Session.Status)
+                    {
+                        case SessionStatus.ErrorPermissionNotGranted:
+                            Debug.LogError("A needed permission (likely the camera) has not been granted");
+                            yield break;
+                        case SessionStatus.FatalError:
+                            Debug.LogError("A fatal error was encountered trying to start the ARCore session");
+                            yield break;
+                    }
+                }
+
+                yield return null;
+            }
+
+            // If we make it out of the while loop, then the session is initialized and valid
+            IsRunning = true;
+
+            if (IsRunning)
+                TextureReader_create((int)k_ImageFormatType, k_ARCoreTextureWidth, k_ARCoreTextureHeight, true);
+
+        }
+
+        public override void StopService()
+        {
+            var anchors = m_Anchors.Keys;
+            foreach (var anchor in anchors)
+            {
+                DestroyAnchor(anchor);
+            }
+
+            m_ARCoreSession.enabled = false;
+            TextureReader_destroy();
+            BackgroundRendering = false;
+            m_BackgroundRenderer.backgroundMaterial = null;
+            m_BackgroundRenderer.camera = null;
+            m_BackgroundRenderer = null;
+            IsRunning = false;
+        }
+
+        public override bool TryGetUnscaledPose(ref Pose pose)
+        {
+            if (Session.Status != SessionStatus.Tracking)
+                return false;
+
+            pose.position = Frame.Pose.position;
+            pose.rotation = Frame.Pose.rotation;
+            return true;
+        }
+
+        public override bool TryGetCameraImage(ref CameraImage cameraImage)
+        {
+            if (Session.Status != SessionStatus.Tracking)
+                return false;
+
+            if (Frame.CameraImage.Texture == null || Frame.CameraImage.Texture.GetNativeTexturePtr() == IntPtr.Zero)
+                return false;
+
+            //This is a GL texture ID
+            int textureId = Frame.CameraImage.Texture.GetNativeTexturePtr().ToInt32();
+            int bufferSize = 0;
+            //Ask the native plugin to start reading the image of the current frame, 
+            //and return the image read from the privous frame
+            IntPtr bufferPtr = TextureReader_submitAndAcquire(textureId, k_ARCoreTextureWidth, k_ARCoreTextureHeight, ref bufferSize);
+
+            //I think this is needed because of this bug
+            //https://github.com/google-ar/arcore-unity-sdk/issues/66
+            GL.InvalidateState();
+
+            if (bufferPtr == IntPtr.Zero || bufferSize == 0)
+                return false;
+
+            if (pixelBuffer == null || pixelBuffer.Length != bufferSize)
+                pixelBuffer = new byte[bufferSize];
+
+            //Copy buffer
+            Marshal.Copy(bufferPtr, pixelBuffer, 0, bufferSize);
+
+            //Convert to YUV data
+            PixelBuffertoYUV2(pixelBuffer ,k_ARCoreTextureWidth, k_ARCoreTextureHeight, 
+                              k_ImageFormatType, ref cameraImage.y, ref cameraImage.uv);
+
+            cameraImage.width = k_ARCoreTextureWidth;
+            cameraImage.height = k_ARCoreTextureHeight;
+
+            return true;
+        }
+
+
+        private void PixelBuffertoYUV2(byte[] rgba, int width, int height,ImageFormatType imageFormatType ,ref byte[] y, ref byte[] uv)
+        {
+            //in grayscale, it's a byte per pixel, which we can just assign to Y, and leave uv null
+            //Probably not the most accurate conversion, would save some performance
+            if (imageFormatType == ImageFormatType.ImageFormatGrayscale)
+            {
+                y = rgba;
+                uv = null;
+                return;
+            }
+
+            int pixelCount = width * height;
+
+            if (y == null || y.Length != pixelCount)
+                y = new byte[pixelCount];
+
+            if (uv == null || uv.Length != pixelCount / 2)
+                uv = new byte[pixelCount / 2];
+
+            int iY = 0;
+            int iUV = 0;
+            int iRGBA = 0;
+
+            for (int row = 0; row < height; row++)
+            {
+                for (int column = 0; column < width; column++)
+                {
+                    //Random magic starts here!
+                    //Convert every pixel to 1 byte Y
+                    y[iY++] = (byte)(((66 * rgba[iRGBA] + 129 * rgba[iRGBA + 1] + 25 * rgba[iRGBA + 2] + 128) >> 8) + 16);
+                    //Convert every pixel to 2 bytes UV at quarter resolution
+                    if (row % 2 == 0 && column % 2 == 0)
+                    {
+                        uv[iUV++] = (byte)(((-38 * rgba[iRGBA] - 74 * rgba[iRGBA + 1] + 112 * rgba[iRGBA + 2] + 128) >> 8) + 128);
+                        uv[iUV++] = (byte)(((112 * rgba[iRGBA] - 94 * rgba[iRGBA + 1] - 18 * rgba[iRGBA + 2] + 128) >> 8) + 128);
+                    }
+                    //To next pixel
+                    iRGBA += 4;
+                }
+            }
+        }
+
+        public override bool TryGetPointCloud(ref PointCloud pointCloud)
+        {
+            if (Session.Status != SessionStatus.Tracking)
+                return false;
+
+            // Fill in the data to draw the point cloud.
+            m_TempPointCloud.Clear();
+            Frame.PointCloud.CopyPoints(m_TempPointCloud);
+
+            if (m_TempPointCloud.Count == 0)
+                return false;
+
+            if (pointCloud.points == null)
+                pointCloud.points = new List<Vector3>();
+
+            pointCloud.points.Clear();
+            foreach (Vector3 point in m_TempPointCloud)
+                pointCloud.points.Add(point);
+
+            return true;
+        }
+
+        public override LightEstimate GetLightEstimate()
+        {
+            if (Session.Status.IsValid() && Frame.LightEstimate.State == LightEstimateState.Valid)
+            {
+                return new LightEstimate()
+                {
+                    capabilities = LightEstimateCapabilities.AmbientIntensity,
+                    ambientIntensity = Frame.LightEstimate.PixelIntensity
+                };
+            }
+            else
+            {
+                // Zero initialized means capabilities will be None
+                return new LightEstimate();
+            }
+        }
+
+		public override Matrix4x4 GetDisplayTransform()
+		{
+			return m_DisplayTransform;
+		}
+
+        private void CalculateDisplayTransform()
+        {
+            var cosTheta = 1f;
+            var sinTheta = 0f;
+
+            switch (Screen.orientation)
+            {
+                case ScreenOrientation.Portrait:
+                    cosTheta = 0f;
+                    sinTheta = -1f;
+                    break;
+                case ScreenOrientation.PortraitUpsideDown:
+                    cosTheta = 0f;
+                    sinTheta = 1f;
+                    break;
+                case ScreenOrientation.LandscapeLeft:
+                    cosTheta = 1f;
+                    sinTheta = 0f;
+                    break;
+                case ScreenOrientation.LandscapeRight:
+                    cosTheta = -1f;
+                    sinTheta = 0f;
+                    break;
+            }
+
+            m_DisplayTransform.m00 = cosTheta;
+            m_DisplayTransform.m01 = sinTheta;
+            m_DisplayTransform.m10 = sinTheta;
+            m_DisplayTransform.m11 = -cosTheta;
+        }
+
+        public override void SetupCamera(Camera camera)
+        {
+            ARCoreBackgroundRenderer backgroundRenderer =
+                camera.GetComponent<ARCoreBackgroundRenderer>();
+
+            if (backgroundRenderer == null)
+            {
+                camera.gameObject.SetActive(false);
+                backgroundRenderer = camera.gameObject.AddComponent<ARCoreBackgroundRenderer>();
+                backgroundRenderer.BackgroundMaterial = Resources.Load("Materials/ARBackground", typeof(Material)) as Material;
+                camera.gameObject.SetActive(true);
+            }
+        }
+
+        public override void UpdateCamera(Camera camera)
+        {
+            // This is handled for us by the ARCoreBackgroundRenderer
+        }
+
+        private bool PlaneUpdated(TrackedPlane tp, BoundedPlane bp)
+        {
+            var tpExtents = new Vector2(tp.ExtentX, tp.ExtentZ);
+            var extents = Vector2.Distance(tpExtents, bp.extents) > 0.005f;
+            var rotation = tp.CenterPose.rotation != bp.rotation;
+            var position = Vector2.Distance(tp.CenterPose.position, bp.center) > 0.005f;
+            return (extents || rotation || position);
+        }
+
+        public override void Update()
+        {
+            if (m_ARCoreSession == null)
+                return;
+
+            AsyncTask.OnUpdate();
+
+            if (Session.Status != SessionStatus.Tracking)
+                return;
+
+            if(m_ARCoreSessionConfig.EnablePlaneFinding)
+            {
+                Session.GetTrackables<TrackedPlane>(m_TrackedPlaneBuffer, TrackableQueryFilter.All);
+                foreach (var trackedPlane in m_TrackedPlaneBuffer)
+                {
+                    BoundedPlane boundedPlane;
+                    if (m_TrackedPlanes.TryGetValue(trackedPlane, out boundedPlane))
+                    {
+                        // remove any subsumed planes
+                        if (trackedPlane.SubsumedBy != null)
+                        {
+                            OnPlaneRemoved(boundedPlane);
+                            m_TrackedPlanes.Remove(trackedPlane);
+                        }
+                        // update any planes with changed extents
+                        else if (PlaneUpdated(trackedPlane, boundedPlane))
+                        {
+                            boundedPlane.center = trackedPlane.CenterPose.position;
+                            boundedPlane.rotation = trackedPlane.CenterPose.rotation;
+                            boundedPlane.extents.x = trackedPlane.ExtentX;
+                            boundedPlane.extents.y = trackedPlane.ExtentZ;
+                            m_TrackedPlanes[trackedPlane] = boundedPlane;
+                            OnPlaneUpdated(boundedPlane);
+                        }
+                    }
+                    // add any new planes
+                    else
+                    {
+                        boundedPlane = new BoundedPlane()
+                        {
+                            id = Guid.NewGuid().ToString(),
+                            center = trackedPlane.CenterPose.position,
+                            rotation = trackedPlane.CenterPose.rotation,
+                            extents = new Vector2(trackedPlane.ExtentX, trackedPlane.ExtentZ)
+                        };
+
+                        m_TrackedPlanes.Add(trackedPlane, boundedPlane);
+                        OnPlaneAdded(boundedPlane);
+                    }
+                }
+
+                // Check for planes that were removed from the tracked plane list
+                List<TrackedPlane> planesToRemove = new List<TrackedPlane>();
+                foreach (var kvp in m_TrackedPlanes)
+                {
+                    var trackedPlane = kvp.Key;
+                    if (!m_TrackedPlaneBuffer.Exists(x => x == trackedPlane))
+                    {
+                        OnPlaneRemoved(kvp.Value);
+                        planesToRemove.Add(trackedPlane);
+                    }
+                }
+
+                foreach (var plane in planesToRemove)
+                    m_TrackedPlanes.Remove(plane);
+
+            }
+
+            //Update Anchors
+            foreach(var anchor in m_Anchors){
+                anchor.Key.transform.position = anchor.Value.transform.position;
+                anchor.Key.transform.rotation = anchor.Value.transform.rotation;
+            }
+        }
+
+        public override void ApplyAnchor(ARAnchor arAnchor)
+        {
+            if (!IsRunning)
+                return;
+            //Since ARCore wants to create it's own GameObject, we can keep a reference to it and copy its Pose.
+            //Not the best, but probably will change when ARCore releases.
+            Anchor arCoreAnchor = Session.CreateAnchor(new Pose(arAnchor.transform.position, arAnchor.transform.rotation));
+            arAnchor.anchorID = Guid.NewGuid().ToString();
+            m_Anchors[arAnchor] = arCoreAnchor;
+        }
+
+        public override void DestroyAnchor(ARAnchor arAnchor)
+        {
+            if (!string.IsNullOrEmpty(arAnchor.anchorID))
+            {
+                Anchor arCoreAnchor;
+                if(m_Anchors.TryGetValue(arAnchor, out arCoreAnchor)){
+                    UnityEngine.Object.Destroy(arCoreAnchor);
+                    m_Anchors.Remove(arAnchor);
+                }
+
+                arAnchor.anchorID = null;
+
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARCoreInterface.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARCoreInterface.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..00b657eeb9a093a86b9cab99b2520b7e12fc4e7f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARCoreInterface.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 57b167dc45dfbc24fb1b331b894ea9d5
+timeCreated: 1505333873
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/AREditorInterface.cs b/T3-Unity/Assets/UnityARInterface/Scripts/AREditorInterface.cs
new file mode 100644
index 0000000000000000000000000000000000000000..119bdd2a92f0f6d1b500774da3b1dc7e59958f22
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/AREditorInterface.cs
@@ -0,0 +1,185 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public class AREditorInterface : ARInterface
+    {
+        float m_LastTime;
+        enum State
+        {
+            Uninitialized,
+            Initialized,
+            WaitingToAddPlane1,
+            WaitingToAddPlane2,
+            Finished
+        }
+
+        State m_State;
+        BoundedPlane[] m_FakePlanes;
+        Pose m_CameraPose;
+        bool m_WasMouseDownLastFrame;
+        Vector3 m_LastMousePosition;
+        Vector3 m_EulerAngles;
+        Vector3[] m_PointCloud;
+
+        public override IEnumerator StartService(Settings settings)
+        {
+            m_CameraPose = Pose.identity;
+            m_CameraPose.position.Set(0, 0, 0);
+            m_LastTime = Time.time;
+            m_State = State.Initialized;
+            m_FakePlanes = new BoundedPlane[2];
+            m_FakePlanes[0] = new BoundedPlane()
+            {
+                id = "0x1",
+                extents = new Vector2(2.2f, 2f),
+                //extents = new Vector2(1f, 1f),
+                rotation = Quaternion.AngleAxis(60f, Vector3.up),
+                center = new Vector3(2f, -1f, 3f)
+                //center = new Vector3(1f, 1f, 1f)
+            };
+
+            m_FakePlanes[1] = new BoundedPlane()
+            {
+                id = "0x2",
+                extents = new Vector2(2f, 2f),
+                rotation = Quaternion.AngleAxis(200f, Vector3.up),
+                center = new Vector3(3f, 1f, 3f)
+            };
+
+            m_PointCloud = new Vector3[20];
+            for (int i = 0; i < 20; ++i)
+            {
+                m_PointCloud[i] = new Vector3(
+                    UnityEngine.Random.Range(-2f, 2f),
+                    UnityEngine.Random.Range(-.5f, .5f),
+                    UnityEngine.Random.Range(-2f, 2f));
+            }
+
+            IsRunning = true;
+            return null;
+        }
+
+        public override void StopService()
+        {
+            IsRunning = false;
+        }
+
+        public override bool TryGetUnscaledPose(ref Pose pose)
+        {
+            pose = m_CameraPose;
+            return true;
+        }
+
+        public override bool TryGetCameraImage(ref CameraImage cameraImage)
+        {
+            return false;
+        }
+
+        public override void SetupCamera(Camera camera)
+        {
+
+        }
+
+        public override bool TryGetPointCloud(ref PointCloud pointCloud)
+        {
+            if (pointCloud.points == null)
+                pointCloud.points = new List<Vector3>();
+
+            pointCloud.points.Clear();
+            pointCloud.points.AddRange(m_PointCloud);
+            return true;
+        }
+
+        public override LightEstimate GetLightEstimate()
+        {
+            return new LightEstimate()
+            {
+                capabilities = LightEstimateCapabilities.None
+            };
+        }
+
+		public override Matrix4x4 GetDisplayTransform()
+		{
+			return Matrix4x4.identity;
+		}
+
+        public override void UpdateCamera(Camera camera)
+        {
+            float speed = camera.transform.parent.localScale.x / 10f;
+            float turnSpeed = 10f;
+            var forward = m_CameraPose.rotation * Vector3.forward;
+            var right = m_CameraPose.rotation * Vector3.right;
+            var up = m_CameraPose.rotation * Vector3.up;
+
+            if (Input.GetKey(KeyCode.W))
+                m_CameraPose.position += forward * Time.deltaTime * speed;
+
+            if (Input.GetKey(KeyCode.S))
+                m_CameraPose.position -= forward * Time.deltaTime * speed;
+
+            if (Input.GetKey(KeyCode.A))
+                m_CameraPose.position -= right * Time.deltaTime * speed;
+
+            if (Input.GetKey(KeyCode.D))
+                m_CameraPose.position += right * Time.deltaTime * speed;
+
+            if (Input.GetKey(KeyCode.Q))
+                m_CameraPose.position += up * Time.deltaTime * speed;
+
+            if (Input.GetKey(KeyCode.Z))
+                m_CameraPose.position -= up * Time.deltaTime * speed;
+
+            if (Input.GetMouseButton(1))
+            {
+                if (!m_WasMouseDownLastFrame)
+                    m_LastMousePosition = Input.mousePosition;
+
+                var deltaPosition = Input.mousePosition - m_LastMousePosition;
+                m_EulerAngles.y += Time.deltaTime * turnSpeed * deltaPosition.x;
+                m_EulerAngles.x -= Time.deltaTime * turnSpeed * deltaPosition.y;
+                m_CameraPose.rotation = Quaternion.Euler(m_EulerAngles);
+                m_LastMousePosition = Input.mousePosition;
+                m_WasMouseDownLastFrame = true;
+            }
+            else
+            {
+                m_WasMouseDownLastFrame = false;
+            }
+        }
+
+        public override void Update()
+        {
+            switch (m_State)
+            {
+                case State.Initialized:
+                    m_State = State.WaitingToAddPlane1;
+                    m_LastTime = Time.time;
+                    break;
+
+                case State.WaitingToAddPlane1:
+
+                    if (Time.time - m_LastTime > 1f)
+                    {
+                        OnPlaneAdded(m_FakePlanes[0]);
+                        m_LastTime = Time.time;
+                        m_State = State.WaitingToAddPlane2;
+                    }
+                    break;
+
+                case State.WaitingToAddPlane2:
+
+                    if (Time.time - m_LastTime > 1f)
+                    {
+                        OnPlaneAdded(m_FakePlanes[1]);
+                        m_LastTime = Time.time;
+                        m_State = State.Finished;
+                    }
+                    break;
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/AREditorInterface.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/AREditorInterface.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a27d2f121255d933c3cd9398af32096ea9fef7e7
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/AREditorInterface.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: ecce0830538860448b5d8cb2e14d208b
+timeCreated: 1505333881
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARInterface.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARInterface.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3eaba9d3b9e78440d7946be64b23acda8ef929ed
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARInterface.cs
@@ -0,0 +1,131 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public abstract class ARInterface
+    {
+        public struct Settings
+        {
+            public bool enablePointCloud;
+            public bool enablePlaneDetection;
+            public bool enableLightEstimation;
+        }
+
+        public struct CameraImage
+        {
+            public byte[] y;
+            public byte[] uv;
+            public int width;
+            public int height;
+        }
+
+        public struct PointCloud
+        {
+            public List<Vector3> points;
+        }
+
+        [Flags]
+        public enum LightEstimateCapabilities
+        {
+            None = 0,
+            AmbientIntensity = 1 << 0,
+            AmbientColorTemperature = 1 << 1,
+        }
+
+        public struct LightEstimate
+        {
+            public LightEstimateCapabilities capabilities;
+            public float ambientIntensity;
+            public float ambientColorTemperature;
+        };
+
+        public static Action<BoundedPlane> planeAdded;
+        public static Action<BoundedPlane> planeUpdated;
+        public static Action<BoundedPlane> planeRemoved;
+
+        public virtual bool IsRunning { get; protected set; } 
+
+        public virtual bool IsSupported { get { return true; } }
+
+        public virtual bool BackgroundRendering { get { return false; } set{ } } 
+
+        public abstract IEnumerator StartService(Settings settings);
+
+        public abstract void StopService();
+
+        public bool TryGetPose(ref Pose pose)
+        {
+            return TryGetUnscaledPose(ref pose);
+        }
+
+        public abstract void SetupCamera(Camera camera);
+
+        // This is to perform any per-frame updates for the camera,
+        // e.g. FOV or projection matrix. Not for setting position.
+        public abstract void UpdateCamera(Camera camera);
+
+        public abstract void Update();
+
+        public abstract bool TryGetUnscaledPose(ref Pose pose);
+
+        public abstract bool TryGetCameraImage(ref CameraImage cameraImage);
+
+        public abstract bool TryGetPointCloud(ref PointCloud pointCloud);
+
+        public abstract LightEstimate GetLightEstimate();
+
+		public abstract Matrix4x4 GetDisplayTransform ();
+
+        protected void OnPlaneAdded(BoundedPlane plane)
+        {
+            if (planeAdded != null)
+                planeAdded(plane);
+        }
+
+        protected void OnPlaneUpdated(BoundedPlane plane)
+        {
+            if (planeUpdated != null)
+                planeUpdated(plane);
+        }
+
+        protected void OnPlaneRemoved(BoundedPlane plane)
+        {
+            if (planeRemoved != null)
+                planeRemoved(plane);
+        }
+
+        public virtual void ApplyAnchor(ARAnchor arAnchor)
+        {
+        }
+
+        public virtual void DestroyAnchor(ARAnchor arAnchor)
+        {
+        }
+
+        private static ARInterface m_Interface;
+
+        public static ARInterface GetInterface()
+        {
+            if (m_Interface == null)
+            {
+#if UNITY_EDITOR
+                m_Interface = new AREditorInterface();
+#elif UNITY_IOS
+                m_Interface = new ARKitInterface();
+#elif UNITY_ANDROID
+                m_Interface = new ARCoreInterface();
+#endif
+            }
+
+            return m_Interface;
+        }
+
+        public static void SetInterface(ARInterface arInterface)
+        {
+            m_Interface = arInterface;
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARInterface.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARInterface.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f258f31e1d13cb868ef1aa77db9f3157e26c6973
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARInterface.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 46ef6250df7bd514b898729c15de4ea9
+timeCreated: 1505333453
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARKitInterface.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARKitInterface.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3df57144a58bcf920c2c88fc82c22a97de42f98d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARKitInterface.cs
@@ -0,0 +1,380 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using UnityEngine;
+using UnityEngine.Rendering;
+using UnityEngine.XR;
+using UnityEngine.XR.iOS;
+
+namespace UnityARInterface
+{
+    public class ARKitInterface : ARInterface
+    {
+        private Material m_ClearMaterial;
+        private UnityARSessionNativeInterface nativeInterface
+        { get { return UnityARSessionNativeInterface.GetARSessionNativeInterface(); } }
+
+        private bool m_TexturesInitialized;
+        private int m_CurrentFrameIndex;
+        private int m_CameraWidth;
+        private int m_CameraHeight;
+        private byte[] m_TextureYBytes;
+        private byte[] m_TextureUVBytes;
+        private byte[] m_TextureYBytes2;
+        private byte[] m_TextureUVBytes2;
+        private ARBackgroundRenderer m_BackgroundRenderer;
+        private Texture2D _videoTextureY;
+        private Texture2D _videoTextureCbCr;
+        private GCHandle m_PinnedYArray;
+        private GCHandle m_PinnedUVArray;
+        private Vector3[] m_PointCloudData;
+        private LightEstimate m_LightEstimate;
+        private Matrix4x4 m_DisplayTransform;
+        private ARKitWorldTrackingSessionConfiguration m_SessionConfig;
+        private Dictionary<string, ARAnchor> m_Anchors = new Dictionary<string, ARAnchor>();
+        private bool m_BackgroundRendering;
+        private bool m_CanRenderBackground;
+        private Camera m_Camera;
+        private float m_CurrentNearZ;
+        private float m_CurrentFarZ;
+
+        public override bool IsSupported
+        {
+            get
+            {
+                return m_SessionConfig.IsSupported;
+            }
+        }
+
+        public override bool BackgroundRendering
+        {
+            get
+            {
+                return m_BackgroundRendering && m_CanRenderBackground;
+            }
+            set
+            {
+                if (m_BackgroundRenderer == null)
+                    return;
+
+                m_BackgroundRendering = value;
+                m_BackgroundRenderer.mode = m_BackgroundRendering && m_CanRenderBackground ?
+                    ARRenderMode.MaterialAsBackground : ARRenderMode.StandardBackground;
+
+                m_Camera.clearFlags = CameraClearFlags.SolidColor;
+                m_Camera.backgroundColor = Color.black;
+            }
+        }
+
+        // Use this for initialization
+        public override IEnumerator StartService(Settings settings)
+        {
+            m_SessionConfig = new ARKitWorldTrackingSessionConfiguration(
+                UnityARAlignment.UnityARAlignmentGravity,
+                settings.enablePlaneDetection ? UnityARPlaneDetection.Horizontal : UnityARPlaneDetection.None,
+                settings.enablePointCloud,
+                settings.enableLightEstimation);
+
+            if (!IsSupported)
+            {
+                Debug.LogError("The requested ARKit session configuration is not supported");
+                return null;
+            }
+
+            UnityARSessionRunOption runOptions =
+                UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors |
+                UnityARSessionRunOption.ARSessionRunOptionResetTracking;
+
+            nativeInterface.RunWithConfigAndOptions(
+                m_SessionConfig, runOptions);
+
+            // Register for plane detection
+            UnityARSessionNativeInterface.ARAnchorAddedEvent += AddAnchor;
+            UnityARSessionNativeInterface.ARAnchorUpdatedEvent += UpdateAnchor;
+            UnityARSessionNativeInterface.ARAnchorRemovedEvent += RemoveAnchor;
+            UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateFrame;
+            UnityARSessionNativeInterface.ARUserAnchorUpdatedEvent += UpdateUserAnchor;
+
+            IsRunning = true;
+
+            return null;
+        }
+
+        private Vector3 GetWorldPosition(ARPlaneAnchor arPlaneAnchor)
+        {
+            return UnityARMatrixOps.GetPosition(arPlaneAnchor.transform) +
+                new Vector3(arPlaneAnchor.center.x, arPlaneAnchor.center.y, -arPlaneAnchor.center.z);
+        }
+
+        private BoundedPlane GetBoundedPlane(ARPlaneAnchor arPlaneAnchor)
+        {
+            return new BoundedPlane()
+            {
+                id = arPlaneAnchor.identifier,
+                center = GetWorldPosition(arPlaneAnchor),
+                rotation = UnityARMatrixOps.GetRotation(arPlaneAnchor.transform),
+                extents = new Vector2(arPlaneAnchor.extent.x, arPlaneAnchor.extent.z)
+            };
+        }
+
+        void UpdateFrame(UnityARCamera camera)
+        {
+            if (!m_TexturesInitialized)
+            {
+                m_CameraWidth = camera.videoParams.yWidth;
+                m_CameraHeight = camera.videoParams.yHeight;
+
+                int numYBytes = camera.videoParams.yWidth * camera.videoParams.yHeight;
+                int numUVBytes = camera.videoParams.yWidth * camera.videoParams.yHeight / 2; //quarter resolution, but two bytes per pixel
+
+                m_TextureYBytes = new byte[numYBytes];
+                m_TextureUVBytes = new byte[numUVBytes];
+                m_TextureYBytes2 = new byte[numYBytes];
+                m_TextureUVBytes2 = new byte[numUVBytes];
+                m_PinnedYArray = GCHandle.Alloc(m_TextureYBytes);
+                m_PinnedUVArray = GCHandle.Alloc(m_TextureUVBytes);
+                m_TexturesInitialized = true;
+            }
+
+            m_PointCloudData = camera.pointCloudData;
+            m_LightEstimate.capabilities = LightEstimateCapabilities.AmbientColorTemperature | LightEstimateCapabilities.AmbientIntensity;
+            m_LightEstimate.ambientColorTemperature = camera.lightData.arLightEstimate.ambientColorTemperature;
+
+            // Convert ARKit intensity to Unity intensity
+            // ARKit ambient intensity ranges 0-2000
+            // Unity ambient intensity ranges 0-8 (for over-bright lights)
+            m_LightEstimate.ambientIntensity = camera.lightData.arLightEstimate.ambientIntensity / 1000f;
+
+            //get display transform matrix sent up from sdk
+            m_DisplayTransform.SetColumn(0, camera.displayTransform.column0);
+            m_DisplayTransform.SetColumn(1, camera.displayTransform.column1);
+            m_DisplayTransform.SetColumn(2, camera.displayTransform.column2);
+            m_DisplayTransform.SetColumn(3, camera.displayTransform.column3);
+        }
+
+        IntPtr PinByteArray(ref GCHandle handle, byte[] array)
+        {
+            handle.Free();
+            handle = GCHandle.Alloc(array, GCHandleType.Pinned);
+            return handle.AddrOfPinnedObject();
+        }
+
+        byte[] ByteArrayForFrame(int frame, byte[] array0, byte[] array1)
+        {
+            return frame == 1 ? array1 : array0;
+        }
+
+        byte[] YByteArrayForFrame(int frame)
+        {
+            return ByteArrayForFrame(frame, m_TextureYBytes, m_TextureYBytes2);
+        }
+
+        byte[] UVByteArrayForFrame(int frame)
+        {
+            return ByteArrayForFrame(frame, m_TextureUVBytes, m_TextureUVBytes2);
+        }
+
+        private void AddAnchor(ARPlaneAnchor arPlaneAnchor)
+        {
+            OnPlaneAdded(GetBoundedPlane(arPlaneAnchor));
+        }
+
+        private void RemoveAnchor(ARPlaneAnchor arPlaneAnchor)
+        {
+            OnPlaneRemoved(GetBoundedPlane(arPlaneAnchor));
+        }
+
+        private void UpdateAnchor(ARPlaneAnchor arPlaneAnchor)
+        {
+            OnPlaneUpdated(GetBoundedPlane(arPlaneAnchor));
+        }
+
+        private void UpdateUserAnchor(ARUserAnchor anchorData)
+        {
+            ARAnchor anchor;
+            if (m_Anchors.TryGetValue(anchorData.identifier, out anchor))
+            {
+                anchor.transform.position = anchorData.transform.GetColumn(3);
+                anchor.transform.rotation = anchorData.transform.rotation;
+            }
+        }
+
+
+        public override void StopService()
+        {
+            var anchors = m_Anchors.Values;
+            foreach (var anchor in anchors)
+            {
+                DestroyAnchor(anchor);
+            }
+
+            UnityARSessionNativeInterface.ARAnchorAddedEvent -= AddAnchor;
+            UnityARSessionNativeInterface.ARAnchorUpdatedEvent -= UpdateAnchor;
+            UnityARSessionNativeInterface.ARAnchorRemovedEvent -= RemoveAnchor;
+            UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateFrame;
+            UnityARSessionNativeInterface.ARUserAnchorUpdatedEvent -= UpdateUserAnchor;
+            UnityARSessionNativeInterface.GetARSessionNativeInterface().Pause();
+
+            nativeInterface.SetCapturePixelData(false, IntPtr.Zero, IntPtr.Zero);
+            m_PinnedYArray.Free();
+            m_PinnedUVArray.Free();
+            m_TexturesInitialized = false;
+
+            BackgroundRendering = false;
+            m_CanRenderBackground = false;
+            m_BackgroundRenderer.backgroundMaterial = null;
+            m_BackgroundRenderer.camera = null;
+            m_BackgroundRenderer = null;
+            IsRunning = false;
+        }
+
+        public override bool TryGetUnscaledPose(ref Pose pose)
+        {
+            Matrix4x4 matrix = nativeInterface.GetCameraPose();
+            pose.position = UnityARMatrixOps.GetPosition(matrix);
+            pose.rotation = UnityARMatrixOps.GetRotation(matrix);
+            return true;
+        }
+
+        public override bool TryGetCameraImage(ref CameraImage cameraImage)
+        {
+            ARTextureHandles handles = nativeInterface.GetARVideoTextureHandles();
+            if (handles.textureY == System.IntPtr.Zero || handles.textureCbCr == System.IntPtr.Zero)
+                return false;
+
+            if (!m_TexturesInitialized)
+                return false;
+
+            m_CurrentFrameIndex = (m_CurrentFrameIndex + 1) % 2;
+
+            nativeInterface.SetCapturePixelData(true,
+                PinByteArray(ref m_PinnedYArray, YByteArrayForFrame(m_CurrentFrameIndex)),
+                PinByteArray(ref m_PinnedUVArray, UVByteArrayForFrame(m_CurrentFrameIndex)));
+
+            cameraImage.y = YByteArrayForFrame(1 - m_CurrentFrameIndex);
+            cameraImage.uv = UVByteArrayForFrame(1 - m_CurrentFrameIndex);
+            cameraImage.width = m_CameraWidth;
+            cameraImage.height = m_CameraHeight;
+            return true;
+        }
+
+        public override bool TryGetPointCloud(ref PointCloud pointCloud)
+        {
+            if (m_PointCloudData == null)
+                return false;
+
+            if (pointCloud.points == null)
+                pointCloud.points = new List<Vector3>();
+
+            pointCloud.points.Clear();
+            pointCloud.points.AddRange(m_PointCloudData);
+            return true;
+        }
+
+        public override LightEstimate GetLightEstimate()
+        {
+            return m_LightEstimate;
+        }
+
+        public override Matrix4x4 GetDisplayTransform()
+        {
+            return m_DisplayTransform;
+        }
+
+        public override void SetupCamera(Camera camera)
+        {
+            m_Camera = camera;
+            m_ClearMaterial = Resources.Load("YUVMaterial", typeof(Material)) as Material;
+
+            m_BackgroundRenderer = new ARBackgroundRenderer();
+            m_BackgroundRenderer.backgroundMaterial = m_ClearMaterial;
+            m_BackgroundRenderer.camera = camera;
+        }
+
+        public override void UpdateCamera(Camera camera)
+        {
+            camera.projectionMatrix = nativeInterface.GetCameraProjection();
+
+            if (!m_BackgroundRendering)
+                return;
+
+            ARTextureHandles handles = UnityARSessionNativeInterface.GetARSessionNativeInterface().GetARVideoTextureHandles();
+            if (handles.textureY == System.IntPtr.Zero || handles.textureCbCr == System.IntPtr.Zero)
+            {
+                m_CanRenderBackground = false;
+                return;
+            }
+
+            m_CanRenderBackground = true;
+            BackgroundRendering = m_BackgroundRendering;
+
+            Resolution currentResolution = Screen.currentResolution;
+
+            // Texture Y
+            if (_videoTextureY == null)
+            {
+                _videoTextureY = Texture2D.CreateExternalTexture(currentResolution.width, currentResolution.height,
+                    TextureFormat.R8, false, false, (System.IntPtr)handles.textureY);
+                _videoTextureY.filterMode = FilterMode.Bilinear;
+                _videoTextureY.wrapMode = TextureWrapMode.Repeat;
+                m_ClearMaterial.SetTexture("_textureY", _videoTextureY);
+            }
+
+            // Texture CbCr
+            if (_videoTextureCbCr == null)
+            {
+                _videoTextureCbCr = Texture2D.CreateExternalTexture(currentResolution.width, currentResolution.height,
+                    TextureFormat.RG16, false, false, (System.IntPtr)handles.textureCbCr);
+                _videoTextureCbCr.filterMode = FilterMode.Bilinear;
+                _videoTextureCbCr.wrapMode = TextureWrapMode.Repeat;
+                m_ClearMaterial.SetTexture("_textureCbCr", _videoTextureCbCr);
+            }
+
+            _videoTextureY.UpdateExternalTexture(handles.textureY);
+            _videoTextureCbCr.UpdateExternalTexture(handles.textureCbCr);
+
+            m_ClearMaterial.SetMatrix("_DisplayTransform", m_DisplayTransform);
+        }
+
+        public override void Update()
+        {
+            if (m_CurrentNearZ != m_Camera.nearClipPlane || m_CurrentFarZ != m_Camera.farClipPlane)
+            {
+                m_CurrentNearZ = m_Camera.nearClipPlane;
+                m_CurrentFarZ = m_Camera.farClipPlane;
+                UnityARSessionNativeInterface.GetARSessionNativeInterface().SetCameraClipPlanes(m_CurrentNearZ, m_CurrentFarZ);
+            }
+        }
+
+        public override void ApplyAnchor(ARAnchor arAnchor)
+        {
+            if (!IsRunning)
+                return;
+
+            Matrix4x4 matrix = Matrix4x4.TRS(arAnchor.transform.position, arAnchor.transform.rotation, arAnchor.transform.localScale);
+            UnityARUserAnchorData anchorData = new UnityARUserAnchorData();
+            anchorData.transform.column0 = matrix.GetColumn(0);
+            anchorData.transform.column1 = matrix.GetColumn(1);
+            anchorData.transform.column2 = matrix.GetColumn(2);
+            anchorData.transform.column3 = matrix.GetColumn(3);
+
+            anchorData = UnityARSessionNativeInterface.GetARSessionNativeInterface().AddUserAnchor(anchorData);
+            arAnchor.anchorID = anchorData.identifierStr;
+            m_Anchors[arAnchor.anchorID] = arAnchor;
+        }
+
+        public override void DestroyAnchor(ARAnchor arAnchor)
+        {
+            if (!string.IsNullOrEmpty(arAnchor.anchorID))
+            {
+                UnityARSessionNativeInterface.GetARSessionNativeInterface().RemoveUserAnchor(arAnchor.anchorID);
+                if (m_Anchors.ContainsKey(arAnchor.anchorID))
+                {
+                    m_Anchors.Remove(arAnchor.anchorID);
+                }
+                arAnchor.anchorID = null;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARKitInterface.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARKitInterface.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..53f80fa1370129c50ed0bcc170ff6a950b3086ca
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARKitInterface.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 40d6e8fdcb9bbf047a171b518b7628af
+timeCreated: 1505333492
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARLightEstimate.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARLightEstimate.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e2e9ce08bd99b535060cd0b3f18cf93273a81aeb
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARLightEstimate.cs
@@ -0,0 +1,29 @@
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public class ARLightEstimate : MonoBehaviour
+    {
+        private Light m_Light;
+
+        // Use this for initialization
+        void Start()
+        {
+            m_Light = GetComponent<Light>();
+
+            if (m_Light == null)
+                enabled = false;
+        }
+
+        void Update()
+        {
+            var lightEstimate = ARInterface.GetInterface().GetLightEstimate();
+
+            if ((lightEstimate.capabilities & ARInterface.LightEstimateCapabilities.AmbientIntensity) == ARInterface.LightEstimateCapabilities.AmbientIntensity)
+                m_Light.intensity = lightEstimate.ambientIntensity;
+
+            if ((lightEstimate.capabilities & ARInterface.LightEstimateCapabilities.AmbientColorTemperature) == ARInterface.LightEstimateCapabilities.AmbientColorTemperature)
+                m_Light.colorTemperature = lightEstimate.ambientColorTemperature;
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARLightEstimate.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARLightEstimate.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35416e63de9a035dc125c49c8e8a99e74d7dca57
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARLightEstimate.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 42c0fd8eb63520443a7998adf32e8a65
+timeCreated: 1506538024
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARMessageIds.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARMessageIds.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f735d3c3e4ed7fe2ee842a7df170d537c85202cf
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARMessageIds.cs
@@ -0,0 +1,26 @@
+using System;
+
+namespace UnityARInterface
+{
+    public static class ARMessageIds
+    {
+        public static Guid fromEditor { get { return new Guid("527b48f9-efdb-4072-a714-3264af15f277"); } }
+        public static Guid frame { get { return new Guid("a182a359-a01d-44e1-a1a9-a87503edca9d"); } }
+        public static Guid addPlane { get { return new Guid("85cf30ba-4edc-4e89-b125-3225c837491c"); } }
+        public static Guid updatePlane { get { return new Guid("938ec46d-b1fc-453a-9952-ba1e8da0d1c0"); } }
+        public static Guid removePlane { get { return new Guid("e9872a5e-a11a-4e3c-b53f-2911e4771e02"); } }
+        public static Guid screenCaptureY { get { return new Guid("ecddd97e-8f6d-4b51-827f-80260016b0f7"); } }
+        public static Guid screenCaptureUV { get { return new Guid("78dac8cb-10ac-4ab3-8715-3a1dca1f7d3b"); } }
+        public static Guid screenCaptureParams { get { return new Guid("d6bb91ad-926a-4f18-83b8-17e66db6d172"); } }
+        public static Guid pointCloud { get { return new Guid("4d4e67b6-8244-41b3-a0df-dadfbf43f6dc"); } }
+        public static Guid lightEstimate { get { return new Guid("eb705b2b-6e69-468e-986c-37721fbdfd7d"); } }
+
+        public static class SubMessageIds
+        {
+            public static Guid startService { get { return new Guid("0b3e1cb1-d233-43ba-afd0-6c2890159b4b"); } }
+            public static Guid stopService { get { return new Guid("8b8504e1-d673-4fb6-95b7-88a3a23d2ebc"); } }
+            public static Guid enableVideo { get { return new Guid("f2d57d81-1b8e-4d54-8ce8-8bc42b97b5d2"); } }
+            public static Guid backgroundRendering { get { return new Guid("b95af19e-39db-4bd2-acca-e353fd822689"); } }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARMessageIds.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARMessageIds.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2f09301f99eecadd1433939b9544eb666809e604
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARMessageIds.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: eba29b993aee06b47a6694858815ddc5
+timeCreated: 1505960727
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARPlaneVisualizer.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARPlaneVisualizer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c972940fe5c4cf2afaf98d2957e4b260b98b7bd4
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARPlaneVisualizer.cs
@@ -0,0 +1,75 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public class ARPlaneVisualizer : ARBase
+    {
+        [SerializeField]
+        private GameObject m_PlanePrefab;
+
+        [SerializeField]
+        private int m_PlaneLayer;
+
+        public int planeLayer { get { return m_PlaneLayer; } }
+
+        private Dictionary<string, GameObject> m_Planes = new Dictionary<string, GameObject>();
+
+        void OnEnable()
+        {
+            m_PlaneLayer = LayerMask.NameToLayer ("ARGameObject");
+            ARInterface.planeAdded += PlaneAddedHandler;
+            ARInterface.planeUpdated += PlaneUpdatedHandler;
+            ARInterface.planeRemoved += PlaneRemovedHandler;
+        }
+
+        void OnDisable()
+        {
+            ARInterface.planeAdded -= PlaneAddedHandler;
+            ARInterface.planeUpdated -= PlaneUpdatedHandler;
+            ARInterface.planeRemoved -= PlaneRemovedHandler;
+        }
+
+        protected virtual void CreateOrUpdateGameObject(BoundedPlane plane)
+        {
+            GameObject go;
+            if (!m_Planes.TryGetValue(plane.id, out go))
+            {
+                go = Instantiate(m_PlanePrefab, GetRoot());
+
+                // Make sure we can pick them later
+                foreach (var collider in go.GetComponentsInChildren<Collider>())
+                    collider.gameObject.layer = m_PlaneLayer;
+
+                m_Planes.Add(plane.id, go);
+            }
+
+            go.transform.localPosition = plane.center;
+            go.transform.localRotation = plane.rotation;
+            go.transform.localScale = new Vector3(plane.extents.x, 1f, plane.extents.y);
+        }
+
+        protected virtual void PlaneAddedHandler(BoundedPlane plane)
+        {
+            if (m_PlanePrefab)
+                CreateOrUpdateGameObject(plane);
+        }
+
+        protected virtual void PlaneUpdatedHandler(BoundedPlane plane)
+        {
+            if (m_PlanePrefab)
+                CreateOrUpdateGameObject(plane);
+        }
+
+        protected virtual void PlaneRemovedHandler(BoundedPlane plane)
+        {
+            GameObject go;
+            if (m_Planes.TryGetValue(plane.id, out go))
+            {
+                Destroy(go);
+                m_Planes.Remove(plane.id);
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARPlaneVisualizer.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARPlaneVisualizer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7774e9c5d6eed5e36568786cad2246906950b9b2
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARPlaneVisualizer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 5d15554ba01a81b43836c6e4770c204f
+timeCreated: 1505889486
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARPointCloudVisualizer.cs b/T3-Unity/Assets/UnityARInterface/Scripts/ARPointCloudVisualizer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5e26f72fe7a642c4ace3f07887f15effcbf7e798
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARPointCloudVisualizer.cs
@@ -0,0 +1,60 @@
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public class ARPointCloudVisualizer : ARBase
+    {
+        [SerializeField]
+        private ParticleSystem m_PointCloudParticlePrefab;
+
+        [SerializeField]
+        private int m_MaxPointsToShow = 300;
+
+        [SerializeField]
+        private float m_ParticleSize = 1.0f;
+
+        private ParticleSystem m_ParticleSystem;
+        private ParticleSystem.Particle [] m_Particles;
+        private ParticleSystem.Particle[] m_NoParticles;
+        private ARInterface.PointCloud m_PointCloud;
+
+        private void OnDisable()
+        {
+            m_ParticleSystem.SetParticles(m_NoParticles, 1);
+        }
+
+        // Use this for initialization
+        void Start()
+        {
+            m_ParticleSystem = Instantiate(m_PointCloudParticlePrefab, GetRoot());
+            m_NoParticles = new ParticleSystem.Particle[1];
+            m_NoParticles[0].startSize = 0f;
+        }
+
+        // Update is called once per frame
+        void Update()
+        {
+            if (ARInterface.GetInterface().TryGetPointCloud(ref m_PointCloud))
+            {
+                var scale = GetScale();
+
+                var numParticles = Mathf.Min(m_PointCloud.points.Count, m_MaxPointsToShow);
+                if (m_Particles == null || m_Particles.Length != numParticles)
+                    m_Particles = new ParticleSystem.Particle[numParticles];
+
+                for (int i = 0; i < numParticles; ++i)
+                {
+                    m_Particles[i].position = m_PointCloud.points[i] * scale;
+                    m_Particles[i].startColor = new Color(1.0f, 1.0f, 1.0f);
+                    m_Particles[i].startSize = m_ParticleSize * scale;
+                }
+
+                m_ParticleSystem.SetParticles(m_Particles, numParticles);
+            }
+            else
+            {
+                m_ParticleSystem.SetParticles(m_NoParticles, 1);
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/ARPointCloudVisualizer.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/ARPointCloudVisualizer.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8583b49558c62f6652fbe17fb8138a42b1d31780
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/ARPointCloudVisualizer.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 37ab97bfa6689994caf97070bd3a37ba
+timeCreated: 1506490487
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/BoundedPlane.cs b/T3-Unity/Assets/UnityARInterface/Scripts/BoundedPlane.cs
new file mode 100644
index 0000000000000000000000000000000000000000..faf42e67d62907ec77a8ecdc1dbf4c6c1f0ad868
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/BoundedPlane.cs
@@ -0,0 +1,42 @@
+using UnityEngine;
+
+namespace UnityARInterface
+{
+    public struct BoundedPlane
+    {
+        public string id;
+        public Vector3 center;
+        public Vector2 extents;
+        public Quaternion rotation;
+
+        public Vector3 normal { get { return rotation * Vector3.up; } }
+        public Plane plane { get { return new Plane(normal, center); } }
+        public float width
+        {
+            get { return extents.x; }
+            set { extents.x = value; }
+        }
+        public float height
+        {
+            get { return extents.y; }
+            set { extents.y = value; }
+        }
+
+        public Vector3[] quad
+        {
+            get
+            {
+                Vector3[] points = new Vector3[4];
+                var right = rotation * Vector3.right * extents.x / 2;
+                var forward = rotation * Vector3.forward * extents.y / 2;
+
+                points[0] = center + right - forward;
+                points[1] = center + right + forward;
+                points[2] = center + -right + forward;
+                points[3] = center + -right - forward;
+
+                return points;
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARInterface/Scripts/BoundedPlane.cs.meta b/T3-Unity/Assets/UnityARInterface/Scripts/BoundedPlane.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..20138e11f17b5e53f2386b67e4c90048895e3a99
--- /dev/null
+++ b/T3-Unity/Assets/UnityARInterface/Scripts/BoundedPlane.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: fa4e8907a8b72b04fb24623fe5729126
+timeCreated: 1505338002
+licenseType: Pro
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin.meta b/T3-Unity/Assets/UnityARKitPlugin.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5e20ea92b8cf9cdc9743e7478e3ff44ee2ad1b21
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 46ff32aeaba4bcc4eb384cdf7cf29456
+folderAsset: yes
+timeCreated: 1505872011
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ce4ee893c8bad05352dc118eec302ea87abf8b63
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4d1259656ef6245079ba6548af0ab42e
+folderAsset: yes
+timeCreated: 1498669549
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt
new file mode 100644
index 0000000000000000000000000000000000000000..67c5e3840d98d6dffc323a9c88db7caa2a2b353e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt
@@ -0,0 +1,27 @@
+Unity ARKit Remote
+
+This is a two part solution for game developers who want to iterate on ARKit apps (made with Unity ARKit Plugin) from within the Unity Editor. It consists of an iOS app (UnityARKitRemote) that provides the ARKit data from a compatible device that it is installed on, working in conjunction with a GameObject called ARKitRemoteConnection in your Unity scene for your ARKit project. This GameObject simulates ARKit working in the editor by passing data via UnityARSessionNativeInterface to the other GameObjects in the editor. The UnityARKitRemote app on the device will forward the following information to Unity scene in editor:
+
+-The video feed coming from the device camera (separated into Y and UV textures) as provided by ARKit.
+-The camera translation and rotation based on device movement
+-The ARPlaneAnchor addition, removal and update events along with data about the plane affected
+-Point cloud data
+
+Requirements:
+It has all the same requirements as the Unity ARKit Plugin, with an additional recommendation of using Unity 2017.1 or later, as the PlayerConnection works way better and has better UI support in that version.
+
+Future work on this:
+-HitTest API
+-AR Session Configuration
+
+Steps to using remote:
+
+1. First download the latest Unity ARKit Plugin code that includes the Unity ARKit Remote from either bitbucket or Unity Asset Store.
+2. Build the scene called UnityARKitRemote out to your compatible iOS device. You should use “Development Build” in your Build Settings. This is the only build time to iOS you will need to endure - the rest of the iterations on your project can happen in the editor. When you build out to iOS, you should change the product name and bundle identifier in the PlayerSettings to signify that it is the Unity ARKit Remote.
+3. Open the scene which contains your app that uses the Unity ARKit Plugin. From the ARKitRemote folder, add the ARKitRemoteConnection prefab into the root of your scene. If you want to test it out, it has already been added to EditorTestScene in the same folder.
+4. Run the UnityARKitRemote app from step 2 on your device. It should display a black screen with “Waiting for editor connection..”
+5. Press play in the editor: your game window should have a green screen with “Please connect to player in the console menu” near the bottom.
+6. In this step we need to connect the editor to the Unity ARKit Remote app on the device. This is where Unity 2017.1 comes in handy: it has a menu item in the Console window to “Connected player” with a dropdown of all the available players to connect to. Select the one that corresponds to your device. In Unity 5.6 variants, you have to create a Profiler window via Window/Profiler menu. And then at the top of the Profiler window, there is a dropdown “Active Profiler” from which you select your device.
+7. If you were successful in step 6, you should have a button on the top part of your Game window labelled “Start Remote ARKit Session” in editor that when pressed will start the ARKit session on the device and start transmitting data to the editor. The editor should be displaying the same video as the device, as well as navigating through your scene, and it will momentarily start showing the point cloud data as well as the planes found.
+
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b72f4b122aaa391f7ca17477f8faaa731b695921
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e70a61590ae124a8194c71c31e1af531
+timeCreated: 1500609185
+licenseType: Pro
+TextScriptImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b91a972a0093de6cecb38e086dbafe50927cff8a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs
@@ -0,0 +1,215 @@
+using UnityEngine;
+using UnityEngine.Networking.PlayerConnection;
+using System.Text;
+using Utils; 
+
+#if UNITY_EDITOR
+ 
+using UnityEditor.Networking.PlayerConnection;
+
+namespace UnityEngine.XR.iOS
+{
+	public class ARKitRemoteConnection : MonoBehaviour
+	{
+		[Header("AR Config Options")]
+		public UnityARAlignment startAlignment = UnityARAlignment.UnityARAlignmentGravity;
+		public UnityARPlaneDetection planeDetection = UnityARPlaneDetection.Horizontal;
+		public bool getPointCloud = true;
+		public bool enableLightEstimation = true;
+
+		[Header("Run Options")]
+		public bool resetTracking = true;
+		public bool removeExistingAnchors = true;
+
+		EditorConnection editorConnection ;
+
+		int currentPlayerID = -1;
+		string guimessage = "none";
+
+		Texture2D remoteScreenYTex;
+		Texture2D remoteScreenUVTex;
+
+		bool bTexturesInitialized;
+
+		// Use this for initialization
+		void Start () {
+
+			bTexturesInitialized = false;
+
+
+			editorConnection = EditorConnection.instance;
+			editorConnection.Initialize ();
+			editorConnection.RegisterConnection (PlayerConnected);
+			editorConnection.RegisterDisconnection (PlayerDisconnected);
+			editorConnection.Register (ConnectionMessageIds.updateCameraFrameMsgId, UpdateCameraFrame);
+			editorConnection.Register (ConnectionMessageIds.addPlaneAnchorMsgeId, AddPlaneAnchor);
+			editorConnection.Register (ConnectionMessageIds.updatePlaneAnchorMsgeId, UpdatePlaneAnchor);
+			editorConnection.Register (ConnectionMessageIds.removePlaneAnchorMsgeId, RemovePlaneAnchor);
+			editorConnection.Register (ConnectionMessageIds.screenCaptureYMsgId, ReceiveRemoteScreenYTex);
+			editorConnection.Register (ConnectionMessageIds.screenCaptureUVMsgId, ReceiveRemoteScreenUVTex);
+
+		}
+
+		void PlayerConnected(int playerID)
+		{
+			currentPlayerID = playerID;
+
+		}
+
+		void OnGUI()
+		{
+			
+			if (!bTexturesInitialized) 
+			{
+				if (currentPlayerID != -1) {
+					guimessage = "Connected to ARKit Remote device : " + currentPlayerID.ToString ();
+
+					if (GUI.Button (new Rect ((Screen.width / 2) - 200, (Screen.height / 2) - 200, 400, 100), "Start Remote ARKit Session")) 
+					{
+						SendInitToPlayer ();
+					}
+				} 
+				else 
+				{
+					guimessage = "Please connect to player in the console menu";
+				}
+
+				GUI.Box (new Rect ((Screen.width / 2) - 200, (Screen.height / 2) + 100, 400, 50), guimessage);
+			}
+
+		}
+
+		void PlayerDisconnected(int playerID)
+		{
+			if (currentPlayerID == playerID) {
+				currentPlayerID = -1;
+			}
+		}
+
+		void OnDestroy()
+		{
+			#if UNITY_2017_1_OR_NEWER
+			if(editorConnection != null) {
+				editorConnection.DisconnectAll ();
+			}
+			#endif
+		}
+
+
+		void InitializeTextures(UnityARCamera camera)
+		{
+			int yWidth = camera.videoParams.yWidth;
+			int yHeight = camera.videoParams.yHeight;
+			int uvWidth = yWidth / 2;
+			int uvHeight = yHeight / 2;
+			if (remoteScreenYTex == null || remoteScreenYTex.width != yWidth || remoteScreenYTex.height != yHeight) {
+				if (remoteScreenYTex) {
+					Destroy (remoteScreenYTex);
+				}
+				remoteScreenYTex = new Texture2D (yWidth, yHeight, TextureFormat.R8, false, true);
+			}
+			if (remoteScreenUVTex == null || remoteScreenUVTex.width != uvWidth || remoteScreenUVTex.height != uvHeight) {
+				if (remoteScreenUVTex) {
+					Destroy (remoteScreenUVTex);
+				}
+				remoteScreenUVTex = new Texture2D (uvWidth, uvHeight, TextureFormat.RG16, false, true);
+			}
+
+			bTexturesInitialized = true;
+		}
+
+		void UpdateCameraFrame(MessageEventArgs mea)
+		{
+			serializableUnityARCamera serCamera = mea.data.Deserialize<serializableUnityARCamera> ();
+
+			UnityARCamera scamera = new UnityARCamera ();
+			scamera = serCamera;
+
+			InitializeTextures (scamera);
+
+			UnityARSessionNativeInterface.SetStaticCamera (scamera);
+			UnityARSessionNativeInterface.RunFrameUpdateCallbacks ();
+		}
+
+		void AddPlaneAnchor(MessageEventArgs mea)
+		{
+			serializableUnityARPlaneAnchor serPlaneAnchor = mea.data.Deserialize<serializableUnityARPlaneAnchor> ();
+
+			ARPlaneAnchor arPlaneAnchor = serPlaneAnchor;
+			UnityARSessionNativeInterface.RunAddAnchorCallbacks (arPlaneAnchor);
+		}
+
+		void UpdatePlaneAnchor(MessageEventArgs mea)
+		{
+			serializableUnityARPlaneAnchor serPlaneAnchor = mea.data.Deserialize<serializableUnityARPlaneAnchor> ();
+
+			ARPlaneAnchor arPlaneAnchor = serPlaneAnchor;
+			UnityARSessionNativeInterface.RunUpdateAnchorCallbacks (arPlaneAnchor);
+		}
+
+		void RemovePlaneAnchor(MessageEventArgs mea)
+		{
+			serializableUnityARPlaneAnchor serPlaneAnchor = mea.data.Deserialize<serializableUnityARPlaneAnchor> ();
+
+			ARPlaneAnchor arPlaneAnchor = serPlaneAnchor;
+			UnityARSessionNativeInterface.RunRemoveAnchorCallbacks (arPlaneAnchor);
+		}
+
+		void ReceiveRemoteScreenYTex(MessageEventArgs mea)
+		{
+			if (!bTexturesInitialized)
+				return;
+			remoteScreenYTex.LoadRawTextureData(mea.data);
+			remoteScreenYTex.Apply ();
+			UnityARVideo arVideo = Camera.main.GetComponent<UnityARVideo>();
+			if (arVideo) {
+				arVideo.SetYTexure(remoteScreenYTex);
+			}
+
+		}
+
+		void ReceiveRemoteScreenUVTex(MessageEventArgs mea)
+		{
+			if (!bTexturesInitialized)
+				return;
+			remoteScreenUVTex.LoadRawTextureData(mea.data);
+			remoteScreenUVTex.Apply ();
+			UnityARVideo arVideo = Camera.main.GetComponent<UnityARVideo>();
+			if (arVideo) {
+				arVideo.SetUVTexure(remoteScreenUVTex);
+			}
+
+		}
+
+
+		void SendInitToPlayer()
+		{
+			serializableFromEditorMessage sfem = new serializableFromEditorMessage ();
+			sfem.subMessageId = SubMessageIds.editorInitARKit;
+			serializableARSessionConfiguration ssc = new serializableARSessionConfiguration (startAlignment, planeDetection, getPointCloud, enableLightEstimation); 
+			UnityARSessionRunOption roTracking = resetTracking ? UnityARSessionRunOption.ARSessionRunOptionResetTracking : 0;
+			UnityARSessionRunOption roAnchors = removeExistingAnchors ? UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors : 0;
+			sfem.arkitConfigMsg = new serializableARKitInit (ssc, roTracking | roAnchors);
+			SendToPlayer (ConnectionMessageIds.fromEditorARKitSessionMsgId, sfem);
+		}
+
+		void SendToPlayer(System.Guid msgId, byte[] data)
+		{
+			editorConnection.Send (msgId, data);
+		}
+
+		public void SendToPlayer(System.Guid msgId, object serializableObject)
+		{
+			byte[] arrayToSend = serializableObject.SerializeToByteArray ();
+			SendToPlayer (msgId, arrayToSend);
+		}
+
+
+		// Update is called once per frame
+		void Update () {
+			
+		}
+
+	}
+}
+#endif
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5956e9954d4586d4fa1eb9f0085295a0ca224087
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 004464ca939eb4ec1a1b492fb8ebfd12
+timeCreated: 1500571041
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..96378371ef65ef2cf18407db45f2e0eb5ff724b2
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab
@@ -0,0 +1,59 @@
+%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: 1214069642587422}
+  m_IsPrefabParent: 1
+--- !u!1 &1214069642587422
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4661046637869644}
+  - component: {fileID: 114217095398060286}
+  m_Layer: 0
+  m_Name: ARKitRemoteConnection
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4661046637869644
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1214069642587422}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 1}
+  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}
+--- !u!114 &114217095398060286
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1214069642587422}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 004464ca939eb4ec1a1b492fb8ebfd12, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  startAlignment: 0
+  planeDetection: 1
+  getPointCloud: 1
+  enableLightEstimation: 1
+  resetTracking: 1
+  removeExistingAnchors: 1
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8c1c108f61f4c1ba3dbd5dd44b638e7ec45fe9d8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8ce7d6271a01a4274a00066492aed04a
+timeCreated: 1500571318
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bdf526682a620de82fa27139b5125d3cfe858f07
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs
@@ -0,0 +1,141 @@
+using UnityEngine;
+using UnityEngine.Networking.PlayerConnection;
+using System.Text;
+using Utils;
+
+namespace UnityEngine.XR.iOS
+{
+	
+	public class ConnectToEditor : MonoBehaviour
+	{
+		PlayerConnection playerConnection;
+		UnityARSessionNativeInterface m_session;
+		int editorID;
+
+		Texture2D frameBufferTex;
+
+		// Use this for initialization
+		void Start()
+		{
+			Debug.Log("STARTING ConnectToEditor");
+			editorID = -1;
+			playerConnection = PlayerConnection.instance;
+			playerConnection.RegisterConnection(EditorConnected);
+			playerConnection.RegisterDisconnection(EditorDisconnected);
+			playerConnection.Register(ConnectionMessageIds.fromEditorARKitSessionMsgId, HandleEditorMessage);
+			m_session = null;
+
+		}
+
+		void OnGUI()
+		{
+			if (m_session == null) {	
+				GUI.Box (new Rect ((Screen.width / 2) - 200, (Screen.height / 2), 400, 50), "Waiting for editor connection...");
+			}
+		}
+
+		void HandleEditorMessage(MessageEventArgs mea)
+		{
+			serializableFromEditorMessage sfem = mea.data.Deserialize<serializableFromEditorMessage>();
+			if (sfem != null && sfem.subMessageId == SubMessageIds.editorInitARKit) {
+				InitializeARKit ( sfem.arkitConfigMsg );
+			}
+		}
+
+		void InitializeARKit(serializableARKitInit sai)
+		{
+			#if !UNITY_EDITOR
+
+			//get the config and runoption from editor and use them to initialize arkit on device
+			Application.targetFrameRate = 60;
+			m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+			ARKitWorldTrackingSessionConfiguration config = sai.config;
+			UnityARSessionRunOption runOptions = sai.runOption;
+			m_session.RunWithConfigAndOptions(config, runOptions);
+
+		 	UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+			UnityARSessionNativeInterface.ARAnchorAddedEvent += ARAnchorAdded;
+			UnityARSessionNativeInterface.ARAnchorUpdatedEvent += ARAnchorUpdated;
+			UnityARSessionNativeInterface.ARAnchorRemovedEvent += ARAnchorRemoved;
+
+			#endif
+		}
+
+		public void ARFrameUpdated(UnityARCamera camera)
+		{
+			serializableUnityARCamera serARCamera = camera;
+			SendToEditor(ConnectionMessageIds.updateCameraFrameMsgId, serARCamera);
+
+		}
+
+		public void ARAnchorAdded(ARPlaneAnchor planeAnchor)
+		{
+			serializableUnityARPlaneAnchor serPlaneAnchor = planeAnchor;
+			SendToEditor (ConnectionMessageIds.addPlaneAnchorMsgeId, serPlaneAnchor);
+		}
+
+		public void ARAnchorUpdated(ARPlaneAnchor planeAnchor)
+		{
+			serializableUnityARPlaneAnchor serPlaneAnchor = planeAnchor;
+			SendToEditor (ConnectionMessageIds.updatePlaneAnchorMsgeId, serPlaneAnchor);
+		}
+
+		public void ARAnchorRemoved(ARPlaneAnchor planeAnchor)
+		{
+			serializableUnityARPlaneAnchor serPlaneAnchor = planeAnchor;
+			SendToEditor (ConnectionMessageIds.removePlaneAnchorMsgeId, serPlaneAnchor);
+		}
+
+		void EditorConnected(int playerID)
+		{
+			Debug.Log("connected");
+
+			editorID = playerID;
+
+		}
+
+		void EditorDisconnected(int playerID)
+		{
+			if (editorID == playerID)
+			{
+				editorID = -1;
+			}
+
+			DisconnectFromEditor ();
+			#if !UNITY_EDITOR
+			if (m_session != null)
+			{
+				m_session.Pause();
+				m_session = null;
+			}
+			#endif
+		}
+
+
+		public void SendToEditor(System.Guid msgId, object serializableObject)
+		{
+			byte[] arrayToSend = serializableObject.SerializeToByteArray ();
+			SendToEditor (msgId, arrayToSend);
+		}
+
+		public void SendToEditor(System.Guid msgId, byte[] data)
+		{
+			if (playerConnection.isConnected)
+			{
+				playerConnection.Send(msgId, data);
+			}
+
+
+		}
+
+		public void DisconnectFromEditor()
+		{
+			#if UNITY_2017_1_OR_NEWER		
+			playerConnection.DisconnectAll();
+			#endif
+		}
+
+
+	}
+
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4323d873fefe15d9698ae69e057654dc2ddc70c3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4b70a2d547e0544c983e2dec3bf61d46
+timeCreated: 1497387236
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b424cbe37fe521961e58f50f710da9eb583277c3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs
@@ -0,0 +1,20 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public static class ConnectionMessageIds
+	{
+		public static Guid fromEditorARKitSessionMsgId { get { return new Guid("523bb5dd-163b-4e5b-9271-d18a50e8897e"); } }
+		public static Guid updateCameraFrameMsgId { get { return new Guid("6d8c39bf-279a-46cf-91f4-9827a44443af"); } }
+		public static Guid addPlaneAnchorMsgeId { get { return new Guid("a435cdb9-fa85-4d3c-9d3f-57fa85f62da3"); } }
+		public static Guid updatePlaneAnchorMsgeId { get { return new Guid("84d5ad8d-e7f9-432c-ae5d-40717790a12f"); } }
+		public static Guid removePlaneAnchorMsgeId { get { return new Guid("b07750a2-8825-4e86-9483-0b22b07df800"); } }
+		public static Guid screenCaptureYMsgId { get { return new Guid("25c3d26f-72c5-4f3e-9a1f-c8c9b859453b"); } }
+		public static Guid screenCaptureUVMsgId { get { return new Guid("d7f4d3cd-2d12-4ab7-b755-932fe7ab744d"); } }
+	};
+
+	public static class SubMessageIds
+	{
+		public static Guid editorInitARKit { get { return new Guid("2e5d7c45-daef-474d-bf55-1f02f0a10b69"); } }
+	};
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..de71afe1a1c41b10181c2e07b4b52e1d338ceef8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a8aba40a0fa3e49b4a51b657765f5bf6
+timeCreated: 1498693329
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..673f60cafd432f879c536ef5f9bad112b01c13a7
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityEngine.XR.iOS
+{
+
+	public class EditorHitTest : MonoBehaviour {
+
+		public Transform m_HitTransform;
+		public float maxRayDistance = 30.0f;
+		public LayerMask collisionLayerMask;
+
+#if UNITY_EDITOR   //we will only use this script on the editor side, though there is nothing that would prevent it from working on device
+		void Update () {
+			if (Input.GetMouseButtonDown (0)) {
+				Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
+				RaycastHit hit;
+
+				//we'll try to hit one of the plane collider gameobjects that were generated by the plugin
+				//effectively similar to calling HitTest with ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent
+				if (Physics.Raycast (ray, out hit, maxRayDistance, collisionLayerMask)) {
+					//we're going to get the position from the contact point
+					m_HitTransform.position = hit.point;
+					Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", m_HitTransform.position.x, m_HitTransform.position.y, m_HitTransform.position.z));
+
+					//and the rotation from the transform of the plane collider
+					m_HitTransform.rotation = hit.transform.rotation;
+				}
+			}
+		}
+#endif
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..738694ff34a84b6a89cfc9ad81067933620ee4b3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6e5621b71c5c74d94ac88603287035e2
+timeCreated: 1504320319
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity
new file mode 100644
index 0000000000000000000000000000000000000000..c7b40683ac91c7313d2a40c059f50ee33bb6f7e1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity
@@ -0,0 +1,690 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.4465934, g: 0.49642956, b: 0.57482487, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_GIWorkflowMode: 0
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 8
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFiltering: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousColorSigma: 1
+    m_PVRFilteringAtrousNormalSigma: 1
+    m_PVRFilteringAtrousPositionSigma: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_ShadowMaskMode: 2
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &11818609
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 11818614}
+  - component: {fileID: 11818613}
+  - component: {fileID: 11818612}
+  - component: {fileID: 11818611}
+  - component: {fileID: 11818610}
+  - component: {fileID: 11818615}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &11818610
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 11818609}
+  m_Enabled: 1
+--- !u!124 &11818611
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 11818609}
+  m_Enabled: 1
+--- !u!92 &11818612
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 11818609}
+  m_Enabled: 1
+--- !u!20 &11818613
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 11818609}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.1
+  far clip plane: 35
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 0
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+  m_StereoMirrorMode: 0
+--- !u!4 &11818614
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 11818609}
+  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}
+--- !u!114 &11818615
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 11818609}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!1 &84445150
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 84445152}
+  - component: {fileID: 84445151}
+  m_Layer: 0
+  m_Name: ARCameraManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &84445151
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 84445150}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_camera: {fileID: 11818613}
+  startAlignment: 0
+  planeDetection: 1
+  getPointCloud: 1
+  enableLightEstimation: 1
+--- !u!4 &84445152
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 84445150}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &260521679
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 260521681}
+  - component: {fileID: 260521680}
+  m_Layer: 0
+  m_Name: PointCloudParticleExample
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &260521680
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 260521679}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ec20d460fbb7e4f92b4d84a10da98cd9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  pointCloudParticlePrefab: {fileID: 198314236125653888, guid: 87db9decf4b3e4cb8bf3eea22ccd37f5,
+    type: 2}
+  maxPointsToShow: 10000
+  particleSize: 0.01
+--- !u!4 &260521681
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 260521679}
+  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: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &359599245
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 359599247}
+  - component: {fileID: 359599246}
+  m_Layer: 0
+  m_Name: GeneratePlanes
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &359599246
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 359599245}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31cac8edf84834043ac167deaeba16a9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  planePrefab: {fileID: 1372998203143648, guid: f879aaf3eeb0c467eb22cbaf08dc97a4,
+    type: 2}
+--- !u!4 &359599247
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 359599245}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &375233436
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 375233438}
+  - component: {fileID: 375233437}
+  - component: {fileID: 375233439}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &375233437
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 375233436}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 0.9852941, g: 0.73455304, b: 0.05071366, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &375233438
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 375233436}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!114 &375233439
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 375233436}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5587c957048494a2f96db36e0995449e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1001 &632713106
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_RootOrder
+      value: 6
+      objectReference: {fileID: 0}
+    - target: {fileID: 114217095398060286, guid: 8ce7d6271a01a4274a00066492aed04a,
+        type: 2}
+      propertyPath: getPointCloud
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &754164519
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 754164523}
+  - component: {fileID: 754164522}
+  - component: {fileID: 754164521}
+  - component: {fileID: 754164520}
+  m_Layer: 0
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!23 &754164520
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 754164519}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 66fbc43c67b564bb4a4c2c2dcd6c1970, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &754164521
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 754164519}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &754164522
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 754164519}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &754164523
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 754164519}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 1}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1320907942
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1320907943}
+  m_Layer: 0
+  m_Name: HitCubeParent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1320907943
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1320907942}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: -0, z: -2.98}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children:
+  - {fileID: 1428923966}
+  m_Father: {fileID: 0}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1428923965
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1428923966}
+  - component: {fileID: 1428923971}
+  - component: {fileID: 1428923970}
+  - component: {fileID: 1428923969}
+  - component: {fileID: 1428923968}
+  - component: {fileID: 1428923967}
+  m_Layer: 0
+  m_Name: HitCube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1428923966
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1428923965}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.5, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1320907943}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1428923967
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1428923965}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6e5621b71c5c74d94ac88603287035e2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HitTransform: {fileID: 1320907943}
+  maxRayDistance: 30
+  collisionLayerMask:
+    serializedVersion: 2
+    m_Bits: 1024
+--- !u!114 &1428923968
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1428923965}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6941ec02ead994c9b848d640887441f1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HitTransform: {fileID: 1320907943}
+--- !u!23 &1428923969
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1428923965}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &1428923970
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1428923965}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &1428923971
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1428923965}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1c9ad355d62fda2d8d6f2728d0fed37c18f0caa6
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e1efc0006a07a4fc8ab373ea6249a832
+timeCreated: 1497484703
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a898bac1f79ee690297acd5a26ac933632f7849f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs
@@ -0,0 +1,44 @@
+using UnityEngine;
+using System.Collections;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.IO;
+
+namespace Utils
+{
+	//Extension class to provide serialize / deserialize methods to object.
+	//src: http://stackoverflow.com/questions/1446547/how-to-convert-an-object-to-a-byte-array-in-c-sharp
+	//NOTE: You need add [Serializable] attribute in your class to enable serialization
+	public static class ObjectSerializationExtension
+	{
+
+		public static byte[] SerializeToByteArray(this object obj)
+		{
+			if (obj == null)
+			{
+				return null;
+			}
+			var bf = new BinaryFormatter();
+			using (var ms = new MemoryStream())
+			{
+				bf.Serialize(ms, obj);
+				return ms.ToArray();
+			}
+		}
+
+		public static T Deserialize<T>(this byte[] byteArray) where T : class
+		{
+			if (byteArray == null)
+			{
+				return null;
+			}
+			using (var memStream = new MemoryStream())
+			{
+				var binForm = new BinaryFormatter();
+				memStream.Write(byteArray, 0, byteArray.Length);
+				memStream.Seek(0, SeekOrigin.Begin);
+				var obj = (T)binForm.Deserialize(memStream);
+				return obj;
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d5a4c9a459209723c8933596ad7b7da1b9d7dba
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 93eca58af117741f3be69b00a1cc4077
+timeCreated: 1498702127
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs
new file mode 100644
index 0000000000000000000000000000000000000000..76b9f73bf6c4002c2f3acb12b2f25844e31bd6b7
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs
@@ -0,0 +1,414 @@
+using System;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+using System.Text;
+
+namespace Utils
+{
+	/// <summary>
+	/// Since unity doesn't flag the Vector4 as serializable, we
+	/// need to create our own version. This one will automatically convert
+	/// between Vector4 and SerializableVector4
+	/// </summary>
+	[Serializable]
+	public class SerializableVector4
+	{
+		/// <summary>
+		/// x component
+		/// </summary>
+		public float x;
+
+		/// <summary>
+		/// y component
+		/// </summary>
+		public float y;
+
+		/// <summary>
+		/// z component
+		/// </summary>
+		public float z;
+
+		/// <summary>
+		/// w component
+		/// </summary>
+		public float w;
+
+		/// <summary>
+		/// Constructor
+		/// </summary>
+		/// <param name="rX"></param>
+		/// <param name="rY"></param>
+		/// <param name="rZ"></param>
+		/// <param name="rW"></param>
+		public SerializableVector4(float rX, float rY, float rZ, float rW)
+		{
+			x = rX;
+			y = rY;
+			z = rZ;
+			w = rW;
+		}
+
+		/// <summary>
+		/// Returns a string representation of the object
+		/// </summary>
+		/// <returns></returns>
+		public override string ToString()
+		{
+			return String.Format("[{0}, {1}, {2}, {3}]", x, y, z, w);
+		}
+
+		/// <summary>
+		/// Automatic conversion from SerializableVector4 to Vector4
+		/// </summary>
+		/// <param name="rValue"></param>
+		/// <returns></returns>
+		public static implicit operator Vector4(SerializableVector4 rValue)
+		{
+			return new Vector4(rValue.x, rValue.y, rValue.z, rValue.w);
+		}
+
+		/// <summary>
+		/// Automatic conversion from Vector4 to SerializableVector4
+		/// </summary>
+		/// <param name="rValue"></param>
+		/// <returns></returns>
+		public static implicit operator SerializableVector4(Vector4 rValue)
+		{
+			return new SerializableVector4(rValue.x, rValue.y, rValue.z, rValue.w);
+		}
+	}
+
+	[Serializable]  
+	public class serializableUnityARMatrix4x4
+	{
+		public SerializableVector4 column0;
+		public SerializableVector4 column1;
+		public SerializableVector4 column2;
+		public SerializableVector4 column3;
+
+		public serializableUnityARMatrix4x4(SerializableVector4 v0, SerializableVector4 v1, SerializableVector4 v2, SerializableVector4 v3)
+		{
+			column0 = v0;
+			column1 = v1;
+			column2 = v2;
+			column3 = v3;
+		}
+
+		/// <summary>
+		/// Automatic conversion from UnityARMatrix4x4 to serializableUnityARMatrix4x4
+		/// </summary>
+		/// <param name="rValue"></param>
+		/// <returns></returns>
+		public static implicit operator serializableUnityARMatrix4x4(UnityARMatrix4x4 rValue)
+		{
+			return new serializableUnityARMatrix4x4(rValue.column0, rValue.column1, rValue.column2, rValue.column3);
+		}
+
+		/// <summary>
+		/// Automatic conversion from serializableUnityARMatrix4x4 to UnityARMatrix4x4
+		/// </summary>
+		/// <param name="rValue"></param>
+		/// <returns></returns>
+		public static implicit operator UnityARMatrix4x4(serializableUnityARMatrix4x4 rValue)
+		{
+			return new UnityARMatrix4x4(rValue.column0, rValue.column1, rValue.column2, rValue.column3);
+		}
+
+
+		public static implicit operator serializableUnityARMatrix4x4(Matrix4x4 rValue)
+		{
+			return new serializableUnityARMatrix4x4(rValue.GetColumn(0), rValue.GetColumn(1), rValue.GetColumn(2), rValue.GetColumn(3));
+		}
+
+		public static implicit operator Matrix4x4(serializableUnityARMatrix4x4 rValue)
+		{
+			#if UNITY_2017_1_OR_NEWER		
+			return new Matrix4x4(rValue.column0, rValue.column1, rValue.column2, rValue.column3);
+			#else
+			Matrix4x4 mRet = new Matrix4x4 ();
+			mRet.SetColumn (0, rValue.column0);
+			mRet.SetColumn (1, rValue.column1);
+			mRet.SetColumn (2, rValue.column2);
+			mRet.SetColumn (3, rValue.column3);
+			return mRet;
+			#endif
+		}
+
+	};
+
+
+	[Serializable]
+	public class serializableSHC
+	{
+		public byte [] shcData;
+
+		public serializableSHC(byte [] inputSHCData)
+		{
+			shcData = inputSHCData;
+		}
+
+		public static implicit operator serializableSHC(float [] floatsSHC)
+		{
+			if (floatsSHC != null)
+			{
+				byte [] createBuf = new byte[floatsSHC.Length * sizeof(float)];
+				for(int i = 0; i < floatsSHC.Length; i++)
+				{
+					Buffer.BlockCopy( BitConverter.GetBytes( floatsSHC[i] ), 0, createBuf, (i)*sizeof(float), sizeof(float) );
+				}
+				return new serializableSHC (createBuf);
+			}
+			else 
+			{
+				return new serializableSHC(null);
+			}
+		}
+
+		public static implicit operator float [] (serializableSHC spc)
+		{
+			if (spc.shcData != null) 
+			{
+				int numFloats = spc.shcData.Length / (sizeof(float));
+				float [] shcFloats = new float[numFloats];
+				for (int i = 0; i < numFloats; i++) 
+				{
+					shcFloats [i] = BitConverter.ToSingle (spc.shcData, i * sizeof(float));
+				}
+				return shcFloats;
+			} 
+			else 
+			{
+				return null;
+			}
+		}
+
+
+	};
+
+	[Serializable]
+	public class serializableUnityARLightData
+	{
+		public LightDataType whichLight;
+		public serializableSHC lightSHC;
+		public SerializableVector4 primaryLightDirAndIntensity;
+		public float ambientIntensity;
+		public float ambientColorTemperature;
+
+		serializableUnityARLightData(UnityARLightData lightData)
+		{
+			whichLight = lightData.arLightingType;
+			if (whichLight == LightDataType.DirectionalLightEstimate) {
+				lightSHC = lightData.arDirectonalLightEstimate.sphericalHarmonicsCoefficients;
+				Vector3 lightDir = lightData.arDirectonalLightEstimate.primaryLightDirection;
+				float lightIntensity = lightData.arDirectonalLightEstimate.primaryLightIntensity;
+				primaryLightDirAndIntensity = new SerializableVector4 (lightDir.x, lightDir.y, lightDir.z, lightIntensity);
+			} else {
+				ambientIntensity = lightData.arLightEstimate.ambientIntensity;
+				ambientColorTemperature = lightData.arLightEstimate.ambientColorTemperature;
+			}
+		}
+
+		public static implicit operator serializableUnityARLightData(UnityARLightData rValue)
+		{
+			return new serializableUnityARLightData(rValue);
+		}
+
+		public static implicit operator UnityARLightData(serializableUnityARLightData rValue)
+		{
+			UnityARDirectionalLightEstimate udle = null;
+			UnityARLightEstimate ule = new UnityARLightEstimate (rValue.ambientIntensity, rValue.ambientColorTemperature);
+
+			if (rValue.whichLight == LightDataType.DirectionalLightEstimate) {
+				Vector3 lightDir = new Vector3 (rValue.primaryLightDirAndIntensity.x, rValue.primaryLightDirAndIntensity.y, rValue.primaryLightDirAndIntensity.z);
+				udle = new UnityARDirectionalLightEstimate (rValue.lightSHC, lightDir, rValue.primaryLightDirAndIntensity.w);
+			} 
+
+			return new UnityARLightData(rValue.whichLight, ule, udle);
+		}
+
+	}
+
+
+	[Serializable]  
+	public class serializableUnityARCamera
+	{
+		public serializableUnityARMatrix4x4 worldTransform;
+		public serializableUnityARMatrix4x4 projectionMatrix;
+		public ARTrackingState trackingState;
+		public ARTrackingStateReason trackingReason;
+		public UnityVideoParams videoParams;
+		public serializableUnityARLightData lightData;
+		public serializablePointCloud pointCloud;
+		public serializableUnityARMatrix4x4 displayTransform;
+
+
+		public serializableUnityARCamera( serializableUnityARMatrix4x4 wt, serializableUnityARMatrix4x4 pm, ARTrackingState ats, ARTrackingStateReason atsr, UnityVideoParams uvp, UnityARLightData lightDat, serializableUnityARMatrix4x4 dt, serializablePointCloud spc)
+		{
+			worldTransform = wt;
+			projectionMatrix = pm;
+			trackingState = ats;
+			trackingReason = atsr;
+			videoParams = uvp;
+			lightData = lightDat;
+			displayTransform = dt;
+			pointCloud = spc;
+		}
+
+		public static implicit operator serializableUnityARCamera(UnityARCamera rValue)
+		{
+			return new serializableUnityARCamera(rValue.worldTransform, rValue.projectionMatrix, rValue.trackingState, rValue.trackingReason, rValue.videoParams, rValue.lightData, rValue.displayTransform, rValue.pointCloudData);
+		}
+
+		public static implicit operator UnityARCamera(serializableUnityARCamera rValue)
+		{
+			return new UnityARCamera (rValue.worldTransform, rValue.projectionMatrix, rValue.trackingState, rValue.trackingReason, rValue.videoParams, rValue.lightData, rValue.displayTransform, rValue.pointCloud);
+		}
+
+
+	};
+
+	[Serializable]  
+	public class serializableUnityARPlaneAnchor
+	{
+		public serializableUnityARMatrix4x4 worldTransform;
+		public SerializableVector4 center;
+		public SerializableVector4 extent;
+		public ARPlaneAnchorAlignment planeAlignment;
+		public byte[] identifierStr;
+
+		public serializableUnityARPlaneAnchor( serializableUnityARMatrix4x4 wt, SerializableVector4 ctr, SerializableVector4 ext, ARPlaneAnchorAlignment apaa,
+			byte [] idstr)
+		{
+			worldTransform = wt;
+			center = ctr;
+			extent = ext;
+			planeAlignment = apaa;
+			identifierStr = idstr;
+		}
+
+		public static implicit operator serializableUnityARPlaneAnchor(ARPlaneAnchor rValue)
+		{
+			serializableUnityARMatrix4x4 wt = rValue.transform;
+			SerializableVector4 ctr = new SerializableVector4 (rValue.center.x, rValue.center.y, rValue.center.z, 1.0f);
+			SerializableVector4 ext = new SerializableVector4 (rValue.extent.x, rValue.extent.y, rValue.extent.z, 1.0f);
+			byte[] idstr = Encoding.UTF8.GetBytes (rValue.identifier);
+			return new serializableUnityARPlaneAnchor(wt, ctr, ext, rValue.alignment, idstr);
+		}
+
+		public static implicit operator ARPlaneAnchor(serializableUnityARPlaneAnchor rValue)
+		{
+			ARPlaneAnchor retValue;
+
+			retValue.identifier = Encoding.UTF8.GetString (rValue.identifierStr);
+			retValue.center = new Vector3 (rValue.center.x, rValue.center.y, rValue.center.z);
+			retValue.extent = new Vector3 (rValue.extent.x, rValue.extent.y, rValue.extent.z);
+			retValue.alignment = rValue.planeAlignment;
+			retValue.transform = rValue.worldTransform;
+			
+			return retValue;
+		}
+
+	};
+
+	[Serializable]
+	public class serializablePointCloud
+	{
+		public byte [] pointCloudData;
+
+		public serializablePointCloud(byte [] inputPoints)
+		{
+			pointCloudData = inputPoints;
+		}
+
+		public static implicit operator serializablePointCloud(Vector3 [] vecPointCloud)
+		{
+			if (vecPointCloud != null)
+			{
+				byte [] createBuf = new byte[vecPointCloud.Length * sizeof(float) * 3];
+				for(int i = 0; i < vecPointCloud.Length; i++)
+				{
+					int bufferStart = i * 3;
+					Buffer.BlockCopy( BitConverter.GetBytes( vecPointCloud[i].x ), 0, createBuf, (bufferStart)*sizeof(float), sizeof(float) );
+					Buffer.BlockCopy( BitConverter.GetBytes( vecPointCloud[i].y ), 0, createBuf, (bufferStart+1)*sizeof(float), sizeof(float) );
+					Buffer.BlockCopy( BitConverter.GetBytes( vecPointCloud[i].z ), 0, createBuf, (bufferStart+2)*sizeof(float), sizeof(float) );
+
+				}
+				return new serializablePointCloud (createBuf);
+			}
+			else 
+			{
+				return new serializablePointCloud(null);
+			}
+		}
+
+		public static implicit operator Vector3 [] (serializablePointCloud spc)
+		{
+			if (spc.pointCloudData != null) 
+			{
+				int numVectors = spc.pointCloudData.Length / (3 * sizeof(float));
+				Vector3 [] pointCloudVec = new Vector3[numVectors];
+				for (int i = 0; i < numVectors; i++) 
+				{
+					int bufferStart = i * 3;
+					pointCloudVec [i].x = BitConverter.ToSingle (spc.pointCloudData, (bufferStart) * sizeof(float));
+					pointCloudVec [i].y = BitConverter.ToSingle (spc.pointCloudData, (bufferStart+1) * sizeof(float));
+					pointCloudVec [i].z = BitConverter.ToSingle (spc.pointCloudData, (bufferStart+2) * sizeof(float));
+					
+				}
+				return pointCloudVec;
+			} 
+			else 
+			{
+				return null;
+			}
+		}
+	};
+
+	[Serializable]
+	public class serializableARSessionConfiguration
+	{
+		public UnityARAlignment alignment; 
+		public UnityARPlaneDetection planeDetection;
+		public bool getPointCloudData;
+		public bool enableLightEstimation;
+
+		public serializableARSessionConfiguration(UnityARAlignment align, UnityARPlaneDetection planeDet, bool getPtCloud, bool enableLightEst)
+		{
+			alignment = align;
+			planeDetection = planeDet;
+			getPointCloudData = getPtCloud;
+			enableLightEstimation = enableLightEst;
+		}
+
+		public static implicit operator serializableARSessionConfiguration(ARKitWorldTrackingSessionConfiguration awtsc)
+		{
+			return new serializableARSessionConfiguration (awtsc.alignment, awtsc.planeDetection, awtsc.getPointCloudData, awtsc.enableLightEstimation);
+		}
+
+		public static implicit operator ARKitWorldTrackingSessionConfiguration (serializableARSessionConfiguration sasc)
+		{
+			return new ARKitWorldTrackingSessionConfiguration (sasc.alignment, sasc.planeDetection, sasc.getPointCloudData, sasc.enableLightEstimation);
+		}
+	};
+
+	[Serializable]
+	public class serializableARKitInit
+	{
+		public serializableARSessionConfiguration config;
+		public UnityARSessionRunOption runOption;
+
+		public serializableARKitInit(serializableARSessionConfiguration cfg, UnityARSessionRunOption option)
+		{
+			config = cfg;
+			runOption = option;
+		}
+	};
+
+	[Serializable]
+	public class serializableFromEditorMessage
+	{
+		public Guid subMessageId;
+		public serializableARKitInit arkitConfigMsg;
+
+	};
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a9a299893d46dc07ff32a4a14eb77615f47c4180
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 80135f02c883b43c582626d2cd4d0190
+timeCreated: 1498702704
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity
new file mode 100644
index 0000000000000000000000000000000000000000..1585942be693b9771efecf37b44b4b75f5e64fe8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity
@@ -0,0 +1,302 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 8
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFiltering: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousColorSigma: 1
+    m_PVRFilteringAtrousNormalSigma: 1
+    m_PVRFilteringAtrousPositionSigma: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_ShadowMaskMode: 2
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &245454841
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 245454846}
+  - component: {fileID: 245454845}
+  - component: {fileID: 245454844}
+  - component: {fileID: 245454843}
+  - component: {fileID: 245454842}
+  - component: {fileID: 245454847}
+  - component: {fileID: 245454848}
+  - component: {fileID: 245454849}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &245454842
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 245454841}
+  m_Enabled: 1
+--- !u!124 &245454843
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 245454841}
+  m_Enabled: 1
+--- !u!92 &245454844
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 245454841}
+  m_Enabled: 1
+--- !u!20 &245454845
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 245454841}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 30
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 0
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+  m_StereoMirrorMode: 0
+--- !u!4 &245454846
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 245454841}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &245454847
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 245454841}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4b70a2d547e0544c983e2dec3bf61d46, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &245454848
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 245454841}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!114 &245454849
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 245454841}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cdf0c6a69131b44f5bdb35de994fcea1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  connectToEditor: {fileID: 245454847}
+--- !u!1 &1976998943
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1976998945}
+  - component: {fileID: 1976998944}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1976998944
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1976998943}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1976998945
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1976998943}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e3958e12a55d9ad72362ce70cdc852126c302bf4
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3ed73c0c9d4b76a418a0541c0cefd3ac
+timeCreated: 1498647556
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..144e4f5f847c74b0b898c95a0e6cb37745474903
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs
@@ -0,0 +1,112 @@
+using System;
+using System.Runtime.InteropServices;
+using UnityEngine;
+using UnityEngine.Rendering;
+
+namespace UnityEngine.XR.iOS
+{
+
+	public class UnityRemoteVideo : MonoBehaviour
+	{
+		public ConnectToEditor connectToEditor;
+
+		private UnityARSessionNativeInterface m_Session;
+		private bool bTexturesInitialized;
+
+		private int currentFrameIndex;
+		private byte[] m_textureYBytes;
+		private byte[] m_textureUVBytes;
+		private byte[] m_textureYBytes2;
+		private byte[] m_textureUVBytes2;
+		private GCHandle m_pinnedYArray;
+		private GCHandle m_pinnedUVArray;
+
+		#if !UNITY_EDITOR
+
+		public void Start()
+		{
+			m_Session = UnityARSessionNativeInterface.GetARSessionNativeInterface ();
+			UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateCamera;
+			currentFrameIndex = 0;
+			bTexturesInitialized = false;
+		}
+
+		void UpdateCamera(UnityARCamera camera)
+		{
+			if (!bTexturesInitialized) {
+				InitializeTextures (camera);
+			}
+			UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateCamera;
+
+		}
+
+		void InitializeTextures(UnityARCamera camera)
+		{
+			int numYBytes = camera.videoParams.yWidth * camera.videoParams.yHeight;
+			int numUVBytes = camera.videoParams.yWidth * camera.videoParams.yHeight / 2; //quarter resolution, but two bytes per pixel
+			
+			m_textureYBytes = new byte[numYBytes];
+			m_textureUVBytes = new byte[numUVBytes];
+			m_textureYBytes2 = new byte[numYBytes];
+			m_textureUVBytes2 = new byte[numUVBytes];
+			m_pinnedYArray = GCHandle.Alloc (m_textureYBytes);
+			m_pinnedUVArray = GCHandle.Alloc (m_textureUVBytes);
+			bTexturesInitialized = true;
+		}
+
+		IntPtr PinByteArray(ref GCHandle handle, byte[] array)
+		{
+			handle.Free ();
+			handle = GCHandle.Alloc (array, GCHandleType.Pinned);
+			return handle.AddrOfPinnedObject ();
+		}
+
+		byte [] ByteArrayForFrame(int frame,  byte[] array0,  byte[] array1)
+		{
+			return frame == 1 ? array1 : array0;
+		}
+
+		byte [] YByteArrayForFrame(int frame)
+		{
+			return ByteArrayForFrame (frame, m_textureYBytes, m_textureYBytes2);
+		}
+
+		byte [] UVByteArrayForFrame(int frame)
+		{
+			return ByteArrayForFrame (frame, m_textureUVBytes, m_textureUVBytes2);
+		}
+
+		void OnDestroy()
+		{
+			m_Session.SetCapturePixelData (false, IntPtr.Zero, IntPtr.Zero);
+
+			m_pinnedYArray.Free ();
+			m_pinnedUVArray.Free ();
+
+		}
+
+		public void OnPreRender()
+		{
+			ARTextureHandles handles = m_Session.GetARVideoTextureHandles();
+			if (handles.textureY == System.IntPtr.Zero || handles.textureCbCr == System.IntPtr.Zero)
+			{
+				return;
+			}
+
+			if (!bTexturesInitialized)
+				return;
+			
+			currentFrameIndex = (currentFrameIndex + 1) % 2;
+
+			Resolution currentResolution = Screen.currentResolution;
+
+
+			m_Session.SetCapturePixelData (true, PinByteArray(ref m_pinnedYArray,YByteArrayForFrame(currentFrameIndex)), PinByteArray(ref m_pinnedUVArray,UVByteArrayForFrame(currentFrameIndex)));
+
+			connectToEditor.SendToEditor (ConnectionMessageIds.screenCaptureYMsgId, YByteArrayForFrame(1-currentFrameIndex));
+			connectToEditor.SendToEditor (ConnectionMessageIds.screenCaptureUVMsgId, UVByteArrayForFrame(1-currentFrameIndex));
+			
+		}
+		#endif
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..80b104d8187dcdb5c88fe9bdec64e1d79807e93c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cdf0c6a69131b44f5bdb35de994fcea1
+timeCreated: 1499380179
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples.meta
new file mode 100644
index 0000000000000000000000000000000000000000..86725cf6b8cb592e8a4427222afd1457d41eff54
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a143135f16d634fa9ba945abac98f63c
+folderAsset: yes
+timeCreated: 1496972798
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c9dfd650a78738179b21ad22fdd19ae79e7e9e18
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 0a88daffac7ad42debbc62feb726fe89
+folderAsset: yes
+timeCreated: 1499364808
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/AddRemoveAnchorScene.unity b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/AddRemoveAnchorScene.unity
new file mode 100644
index 0000000000000000000000000000000000000000..6e0395d64f5061b97306374192879168fc8b753a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/AddRemoveAnchorScene.unity
@@ -0,0 +1,498 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 1
+  m_LightmapEditorSettings:
+    serializedVersion: 8
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 3
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFiltering: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousColorSigma: 1
+    m_PVRFilteringAtrousNormalSigma: 1
+    m_PVRFilteringAtrousPositionSigma: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_ShadowMaskMode: 2
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &309784413
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 309784415}
+  - component: {fileID: 309784414}
+  m_Layer: 0
+  m_Name: GeneratePlanes
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &309784414
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 309784413}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31cac8edf84834043ac167deaeba16a9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  planePrefab: {fileID: 1372998203143648, guid: f879aaf3eeb0c467eb22cbaf08dc97a4,
+    type: 2}
+--- !u!4 &309784415
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 309784413}
+  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: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &460174269
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 460174270}
+  m_Layer: 0
+  m_Name: CameraParent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &460174270
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 460174269}
+  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:
+  - {fileID: 1066395759}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &921644534
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 921644536}
+  - component: {fileID: 921644535}
+  m_Layer: 0
+  m_Name: ARCameraManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &921644535
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 921644534}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_camera: {fileID: 1066395753}
+--- !u!4 &921644536
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 921644534}
+  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: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1066395752
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1066395759}
+  - component: {fileID: 1066395753}
+  - component: {fileID: 1066395758}
+  - component: {fileID: 1066395757}
+  - component: {fileID: 1066395756}
+  - component: {fileID: 1066395755}
+  - component: {fileID: 1066395754}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!20 &1066395753
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1066395752}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19788063, g: 0.2953552, b: 0.44852942, a: 0.019608}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.1
+  far clip plane: 37.809998
+  field of view: 60
+  orthographic: 0
+  orthographic size: 100
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+  m_StereoMirrorMode: 0
+--- !u!114 &1066395754
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1066395752}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce437cef046e841aabd6070890e79d41, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &1066395755
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1066395752}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!81 &1066395756
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1066395752}
+  m_Enabled: 1
+--- !u!124 &1066395757
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1066395752}
+  m_Enabled: 1
+--- !u!92 &1066395758
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1066395752}
+  m_Enabled: 1
+--- !u!4 &1066395759
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1066395752}
+  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: 460174270}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1534253375
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1534253377}
+  - component: {fileID: 1534253376}
+  m_Layer: 0
+  m_Name: UnityARUserAnchorExample
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1534253376
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1534253375}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 677b99d7d687d4052a5c5e8006696910, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  prefabObject: {fileID: 1186787012349198, guid: 2c5f8d679f3e64a40a967471f4fa7030,
+    type: 2}
+  distanceFromCamera: 1
+--- !u!4 &1534253377
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1534253375}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.12229473, y: -0.051660307, z: -0.15891978}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1630078604
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1630078606}
+  - component: {fileID: 1630078605}
+  - component: {fileID: 1630078607}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &1630078605
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1630078604}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 4
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &1630078606
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1630078604}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!114 &1630078607
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1630078604}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5587c957048494a2f96db36e0995449e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1001 &2124718359
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4049466131849386, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4049466131849386, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4049466131849386, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4049466131849386, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4049466131849386, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4049466131849386, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4049466131849386, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4049466131849386, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 2c5f8d679f3e64a40a967471f4fa7030, type: 2}
+  m_IsPrefabParent: 0
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/AddRemoveAnchorScene.unity.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/AddRemoveAnchorScene.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9986a7cfc8a4e231dd484379b7f582a4a790a173
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/AddRemoveAnchorScene.unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c59061d8b0a364aa58f20007a956f23a
+timeCreated: 1499365892
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/RandomCube.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/RandomCube.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..0ca531d5528717097b455e0b1a8fe072af7fc1de
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/RandomCube.prefab
@@ -0,0 +1,356 @@
+%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: 1186787012349198}
+  m_IsPrefabParent: 1
+--- !u!1 &1186787012349198
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4049466131849386}
+  - component: {fileID: 33594885957908722}
+  - component: {fileID: 65701560840435550}
+  - component: {fileID: 23051406642599826}
+  - component: {fileID: 114190960555266974}
+  m_Layer: 0
+  m_Name: RandomCube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1245096981341778
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4963628858650934}
+  - component: {fileID: 33551439693999448}
+  - component: {fileID: 65727314346539104}
+  - component: {fileID: 23445139610750294}
+  m_Layer: 0
+  m_Name: ZAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1680011897905006
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4725039523228064}
+  - component: {fileID: 33372701587230516}
+  - component: {fileID: 65345363346622658}
+  - component: {fileID: 23986206071300102}
+  m_Layer: 0
+  m_Name: XAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1845792716165042
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4310065768079020}
+  - component: {fileID: 33391250605112606}
+  - component: {fileID: 65976022695541428}
+  - component: {fileID: 23603276169709218}
+  m_Layer: 0
+  m_Name: YAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4049466131849386
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186787012349198}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 1}
+  m_LocalScale: {x: 0.3058, y: 0.3058, z: 0.3058}
+  m_Children:
+  - {fileID: 4310065768079020}
+  - {fileID: 4725039523228064}
+  - {fileID: 4963628858650934}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4310065768079020
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845792716165042}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: 0}
+  m_LocalScale: {x: 0.03270111, y: 1.3080444, z: 0.032701116}
+  m_Children: []
+  m_Father: {fileID: 4049466131849386}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4725039523228064
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1680011897905006}
+  m_LocalRotation: {x: -0.0000037178397, y: 0.0000024586916, z: -0.7071033, w: -0.7071102}
+  m_LocalPosition: {x: 1, y: 0, z: 0}
+  m_LocalScale: {x: 0.03270111, y: 1.3080443, z: 0.03270111}
+  m_Children: []
+  m_Father: {fileID: 4049466131849386}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 10.865001, y: 2.6820002, z: 90}
+--- !u!4 &4963628858650934
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1245096981341778}
+  m_LocalRotation: {x: 0.49999562, y: 0.5000044, z: 0.49999562, w: 0.5000044}
+  m_LocalPosition: {x: -0.05, y: 0, z: 1}
+  m_LocalScale: {x: 0.03270111, y: 1.3080443, z: 0.032701112}
+  m_Children: []
+  m_Father: {fileID: 4049466131849386}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 90, z: 89.999}
+--- !u!23 &23051406642599826
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186787012349198}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 66fbc43c67b564bb4a4c2c2dcd6c1970, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23445139610750294
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1245096981341778}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: d55ccb0db00e54a1696c1e96094d706d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23603276169709218
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845792716165042}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 8fa2e9e7c08844dd4a8d581610839228, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23986206071300102
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1680011897905006}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: aaae8be92ba59487a9946818d7a2017f, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33372701587230516
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1680011897905006}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33391250605112606
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845792716165042}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33551439693999448
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1245096981341778}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33594885957908722
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186787012349198}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65345363346622658
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1680011897905006}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65701560840435550
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186787012349198}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65727314346539104
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1245096981341778}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65976022695541428
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845792716165042}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &114190960555266974
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1186787012349198}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4d24244ceb54d42ca92481ba81c45056, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/RandomCube.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/RandomCube.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a26f03170f4f5f1707336f31edbd6cc7aa785d4b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/RandomCube.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2c5f8d679f3e64a40a967471f4fa7030
+timeCreated: 1499371804
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/UnityARUserAnchorExample.cs b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/UnityARUserAnchorExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dd35f6358b83131d78c874bb2897abf84ed24741
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/UnityARUserAnchorExample.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+/**
+	This Class will place a game object with an UnityARUserAnchorComponent attached to it.
+	It will then call the RemoveAnchor API after 5 seconds. This scipt will subscribe to the
+	AnchorRemoved event and remove the game object from the scene.
+ */
+public class UnityARUserAnchorExample : MonoBehaviour {
+
+
+	public GameObject prefabObject;
+	// Distance in Meters
+	public int distanceFromCamera = 1;
+	private HashSet<string> m_Clones;
+
+
+	private float m_TimeUntilRemove = 5.0f;
+
+	void  Awake() {
+		UnityARSessionNativeInterface.ARUserAnchorAddedEvent += ExampleAddAnchor;
+		UnityARSessionNativeInterface.ARUserAnchorRemovedEvent += AnchorRemoved;
+		m_Clones = new HashSet<string>();
+	}
+	
+	public void ExampleAddAnchor(ARUserAnchor anchor)
+	{
+		if (m_Clones.Contains(anchor.identifier))
+		{
+            Console.WriteLine("Our anchor was added!");
+		}
+	}
+
+	public void AnchorRemoved(ARUserAnchor anchor)
+	{
+		if (m_Clones.Contains(anchor.identifier))
+		{
+            m_Clones.Remove(anchor.identifier);
+            Console.WriteLine("AnchorRemovedExample: " + anchor.identifier);
+		}
+	}
+
+	// Update is called once per frame
+	void Update () {
+		if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
+		{
+			GameObject clone = Instantiate(prefabObject, Camera.main.transform.position + (this.distanceFromCamera * Camera.main.transform.forward), Quaternion.identity);
+			UnityARUserAnchorComponent component = clone.GetComponent<UnityARUserAnchorComponent>();
+			m_Clones.Add(component.AnchorId);
+			m_TimeUntilRemove = 4.0f;
+		}
+
+		// just remove anchors afte a certain amount of time for example's sake.
+		m_TimeUntilRemove -= Time.deltaTime;
+		if (m_TimeUntilRemove <= 0.0f)
+		{
+            foreach (string id in m_Clones)
+            {
+                Console.WriteLine("Removing anchor with id: " + id);
+                UnityARSessionNativeInterface.GetARSessionNativeInterface().RemoveUserAnchor(id);
+                break;
+            }
+            m_TimeUntilRemove = 4.0f;
+		}
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/UnityARUserAnchorExample.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/UnityARUserAnchorExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..79dbc9bdb8ce1675d378217daecc44390dbbc728
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/AddRemoveAnchorExample/UnityARUserAnchorExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 677b99d7d687d4052a5c5e8006696910
+timeCreated: 1499374237
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7d0e2616576ecc90a5c73494743f528de974a462
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 99a3c390b086e41bcae2b94fee5d253a
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..22b412f07bc41638e2232c984304db7e56082544
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 80ed123283a674013aef17bc2c431e8b
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat
new file mode 100644
index 0000000000000000000000000000000000000000..066d2d891a91bb2e3be47e5cb3185668ac2c724d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat
@@ -0,0 +1,83 @@
+%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: 2000px-Checkerboard_pattern.svg
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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}
+    - _textureCbCr:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureY:
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..81aeddc0f78369b1653ca04ba26d8effec91730b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_pattern.svg.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 48f9ec19142bd7e4c9f2441ab5799cca
+timeCreated: 1489779706
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat
new file mode 100644
index 0000000000000000000000000000000000000000..c8cbf95f91dd0bc3f558d09844b95c011c84be8d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat
@@ -0,0 +1,75 @@
+%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: 2000px-Checkerboard_patternUV.svg
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 2800000, guid: 70976333360a046c1bcf8dc7cb1f593c, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..023a0adb28e2e61e4cd266e4fd4308b9ae26708e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/2000px-Checkerboard_patternUV.svg.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 66fbc43c67b564bb4a4c2c2dcd6c1970
+timeCreated: 1489779706
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/BallMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/BallMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..2eead3b3d6a2802f1961423bc39ac9657257de05
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/BallMaterial.mat
@@ -0,0 +1,75 @@
+%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: BallMaterial
+  m_Shader: {fileID: 4800000, guid: aef340cb91e534f40870ff658a7aecee, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 1
+  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: 10904, guid: 0000000000000000f000000000000000, type: 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.635
+    - _GlossyReflections: 1
+    - _Metallic: 0.2
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.9044118, g: 0.13300176, b: 0.13300176, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/BallMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/BallMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9495de1502c86775dfb4ad91af82e76da5a402ea
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/BallMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f5e394a942fae453583e8e6009ee49a1
+timeCreated: 1496972319
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/Plane Physic Material.physicMaterial b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/Plane Physic Material.physicMaterial
new file mode 100644
index 0000000000000000000000000000000000000000..ebe9f03aa53701a2f7d676f81138258d7f3658e7
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/Plane Physic Material.physicMaterial	
@@ -0,0 +1,13 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!134 &13400000
+PhysicMaterial:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: Plane Physic Material
+  dynamicFriction: 0.5
+  staticFriction: 0.5
+  bounciness: 0.1
+  frictionCombine: 0
+  bounceCombine: 0
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/Plane Physic Material.physicMaterial.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/Plane Physic Material.physicMaterial.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ef21431abf9c260593fa55b4b1e8caf66598f08a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/Plane Physic Material.physicMaterial.meta	
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: beba2f308446f43da8e82c54f30f93b5
+timeCreated: 1496984011
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 13400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PlayerMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PlayerMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..72c16e8cad54aecfd3a84238f907d00cdbe13016
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PlayerMaterial.mat
@@ -0,0 +1,168 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 4
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: PlayerMaterial
+  m_Shader: {fileID: 45, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _LIGHTMAPPING_DYNAMIC_LIGHTMAPS _LIGHTMAPPING_REALTIME _NORMALMAP
+    _SPECGLOSSMAP _UVSEC_UV1
+  m_CustomRenderQueue: -1
+  m_SavedProperties:
+    serializedVersion: 2
+    m_TexEnvs:
+      data:
+        first:
+          name: _MainTex
+        second:
+          m_Texture: {fileID: 2800000, guid: a3cc890ba79fb47449fb51893aa9b363, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _BumpMap
+        second:
+          m_Texture: {fileID: 2800000, guid: d98be175031405b4fb3f6a5f459a22e4, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _DetailNormalMap
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _EmissionMap
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _ParallaxMap
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _Occlusion
+        second:
+          m_Texture: {fileID: 2800000, guid: 6ae2af98f5c9f0243806bfb6ccbbdd19, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _SpecGlossMap
+        second:
+          m_Texture: {fileID: 2800000, guid: bc9b1c6383841ea4f9e532a49c651ff6, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _DetailMask
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _DetailAlbedoMap
+        second:
+          m_Texture: {fileID: 0}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+      data:
+        first:
+          name: _OcclusionMap
+        second:
+          m_Texture: {fileID: 2800000, guid: 6ae2af98f5c9f0243806bfb6ccbbdd19, type: 3}
+          m_Scale: {x: 1, y: 1}
+          m_Offset: {x: 0, y: 0}
+    m_Floats:
+      data:
+        first:
+          name: _Shininess
+        second: .115098767
+      data:
+        first:
+          name: _AlphaTestRef
+        second: .5
+      data:
+        first:
+          name: _Lightmapping
+        second: 1
+      data:
+        first:
+          name: _SrcBlend
+        second: 1
+      data:
+        first:
+          name: _DstBlend
+        second: 0
+      data:
+        first:
+          name: _Parallax
+        second: .0199999996
+      data:
+        first:
+          name: _ZWrite
+        second: 1
+      data:
+        first:
+          name: _Glossiness
+        second: 0
+      data:
+        first:
+          name: _BumpScale
+        second: 1
+      data:
+        first:
+          name: _OcclusionStrength
+        second: .600000024
+      data:
+        first:
+          name: _DetailNormalMapScale
+        second: 1
+      data:
+        first:
+          name: _UVSec
+        second: 0
+      data:
+        first:
+          name: _Mode
+        second: 0
+      data:
+        first:
+          name: _EmissionScaleUI
+        second: 1
+    m_Colors:
+      data:
+        first:
+          name: _EmissionColor
+        second: {r: 0, g: 0, b: 0, a: .99999994}
+      data:
+        first:
+          name: _Color
+        second: {r: 1, g: 1, b: 1, a: 1}
+      data:
+        first:
+          name: _SpecColor
+        second: {r: .25, g: .213235289, b: .213235289, a: 1}
+      data:
+        first:
+          name: _SpecularColor
+        second: {r: .200000003, g: .200000003, b: .200000003, a: 1}
+      data:
+        first:
+          name: _EmissionColorUI
+        second: {r: 0, g: 0, b: 0, a: 1}
+      data:
+        first:
+          name: _EmissionColorWithMapUI
+        second: {r: 1, g: 1, b: 1, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PlayerMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PlayerMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b1cf515171ddf4a91ab09653974c8db4b72656ed
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PlayerMaterial.mat.meta
@@ -0,0 +1,4 @@
+fileFormatVersion: 2
+guid: 3ea44298aa419344dbdcf87dd1a50533
+NativeFormatImporter:
+  userData: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..b19acc6334b49803d32c77b1ae2bebaee43e0efa
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudMaterial.mat
@@ -0,0 +1,77 @@
+%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: PointCloudMaterial
+  m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 10305, guid: 0000000000000000f000000000000000, type: 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.797
+    - _GlossyReflections: 1
+    - _InvFade: 2.2
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 1, g: 1, b: 0, a: 0.5}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d6c635df184a5b612d48f3eb07d18168fb13a1bc
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3a044f7471feb4bd4be40dcec09eae05
+timeCreated: 1493918099
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudParticleMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudParticleMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..ef289bd61ca3dbce59c80671849520969b8a40bd
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudParticleMaterial.mat
@@ -0,0 +1,77 @@
+%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: PointCloudParticleMaterial
+  m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 10300, guid: 0000000000000000f000000000000000, type: 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.797
+    - _GlossyReflections: 1
+    - _InvFade: 2.2
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _TintColor: {r: 1, g: 1, b: 0, a: 0.5}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudParticleMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudParticleMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..359e0a0a96847fbd6c2f502cb29fd00410826891
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/PointCloudParticleMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f7cffc03fadd142ea81401e16399833e
+timeCreated: 1493918099
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBack.renderTexture b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBack.renderTexture
new file mode 100644
index 0000000000000000000000000000000000000000..06c4a463d48d797d32d15a565c8de57f5d4365b0
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBack.renderTexture
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RTBack
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_DepthFormat: 2
+  m_ColorFormat: 0
+  m_MipMap: 0
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_TextureSettings:
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapMode: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBack.renderTexture.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBack.renderTexture.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c2d9c6227cbe3f8ac93710d1b13434d63e4dc830
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBack.renderTexture.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8bf5451fa758d4c7cb976751e582bdc5
+timeCreated: 1509125000
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBottom.renderTexture b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBottom.renderTexture
new file mode 100644
index 0000000000000000000000000000000000000000..49a9e8d112f1cf4c492536faed84616fd5350ff3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBottom.renderTexture
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RTBottom
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_DepthFormat: 2
+  m_ColorFormat: 0
+  m_MipMap: 0
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_TextureSettings:
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapMode: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBottom.renderTexture.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBottom.renderTexture.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec57db2d9f4aa643c35312912ac13b3828097cc0
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTBottom.renderTexture.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f547bf7e1be7a4cd794d316baa8f21fb
+timeCreated: 1509125000
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTFront.renderTexture b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTFront.renderTexture
new file mode 100644
index 0000000000000000000000000000000000000000..b251a0c8e7d33aec9b5beb10e69796d74e0a66c8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTFront.renderTexture
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RTFront
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_DepthFormat: 2
+  m_ColorFormat: 0
+  m_MipMap: 0
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_TextureSettings:
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapMode: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTFront.renderTexture.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTFront.renderTexture.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8fa7e795182079ec49d524bedf9822a9e7ebb67c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTFront.renderTexture.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e4a4722373175490a93a7956b23953ec
+timeCreated: 1509125000
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTLeft.renderTexture b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTLeft.renderTexture
new file mode 100644
index 0000000000000000000000000000000000000000..50c1d2092c27e0f1b7acf14212615298fe6f41b6
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTLeft.renderTexture
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RTLeft
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_DepthFormat: 2
+  m_ColorFormat: 0
+  m_MipMap: 0
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_TextureSettings:
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapMode: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTLeft.renderTexture.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTLeft.renderTexture.meta
new file mode 100644
index 0000000000000000000000000000000000000000..314872d78e34bd9c9da7fda11b92747f672e6c82
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTLeft.renderTexture.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a9121db1a6b1c443fb39767c96cb1ed3
+timeCreated: 1509125000
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTRight.renderTexture b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTRight.renderTexture
new file mode 100644
index 0000000000000000000000000000000000000000..06cf27da6ca35855ae6ce65cda99215897b68def
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTRight.renderTexture
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RTRight
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_DepthFormat: 2
+  m_ColorFormat: 0
+  m_MipMap: 0
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_TextureSettings:
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapMode: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTRight.renderTexture.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTRight.renderTexture.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6029051affd8f318be926a4776e75ff894222042
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTRight.renderTexture.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a9492362d6426443583dcad13f6515da
+timeCreated: 1509125000
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTTop.renderTexture b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTTop.renderTexture
new file mode 100644
index 0000000000000000000000000000000000000000..2bd1d9aab33bd678ef7783d54f52968ffff6c8fd
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTTop.renderTexture
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: RTTop
+  m_ImageContentsHash:
+    serializedVersion: 2
+    Hash: 00000000000000000000000000000000
+  m_Width: 256
+  m_Height: 256
+  m_AntiAliasing: 1
+  m_DepthFormat: 2
+  m_ColorFormat: 0
+  m_MipMap: 0
+  m_GenerateMips: 1
+  m_SRGB: 0
+  m_TextureSettings:
+    m_FilterMode: 1
+    m_Aniso: 0
+    m_MipBias: 0
+    m_WrapMode: 1
+  m_Dimension: 2
+  m_VolumeDepth: 1
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTTop.renderTexture.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTTop.renderTexture.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e211f45b501905e0efa2d51a572e33b776c955d0
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/RTTop.renderTexture.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 4bf99f420eecb4d14841917a1a5830fe
+timeCreated: 1509125000
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 8400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/SphereMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/SphereMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..04964fa45a2e1ea8a75bcae56e69d916c1e37d28
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/SphereMaterial.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: SphereMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/SphereMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/SphereMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5b3fe2f004e3c4327d423dd31d3703b9d3f86573
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/SphereMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: df83d7f64be1a4ef7b2c936b6de3c7a0
+timeCreated: 1509045622
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/XColor.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/XColor.mat
new file mode 100644
index 0000000000000000000000000000000000000000..fac04cdd498e0f88ad37ec6888d0ef7fe2ecd1c5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/XColor.mat
@@ -0,0 +1,75 @@
+%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: XColor
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 0, b: 0.06206894, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/XColor.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/XColor.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..edb13a9f5fbdc69e759eb42393cd789e46f0e4c0
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/XColor.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: aaae8be92ba59487a9946818d7a2017f
+timeCreated: 1493855225
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/YColor.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/YColor.mat
new file mode 100644
index 0000000000000000000000000000000000000000..119b9433366ca8c0672ad23576abf5500f308b98
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/YColor.mat
@@ -0,0 +1,75 @@
+%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: YColor
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0.19463666, g: 0.88235295, b: 0.31320846, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/YColor.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/YColor.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4071b169964919e66179155756537d65801eb1da
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/YColor.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8fa2e9e7c08844dd4a8d581610839228
+timeCreated: 1493855225
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/ZColor.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/ZColor.mat
new file mode 100644
index 0000000000000000000000000000000000000000..69920938753f6db21fa592a5aa5ad682248fb56d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/ZColor.mat
@@ -0,0 +1,77 @@
+%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: ZColor
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3000
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 10
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 3
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 0
+    m_Colors:
+    - _Color: {r: 0, g: 0.13103437, b: 1, a: 0.54901963}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/ZColor.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/ZColor.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e2f3d31a1a051778b8a21b973cc0db67d835fd8d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/ZColor.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d55ccb0db00e54a1696c1e96094d706d
+timeCreated: 1493855225
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/debugPlaneMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/debugPlaneMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..e21e2af5e31bbf144673feb373ac63efff548985
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/debugPlaneMaterial.mat
@@ -0,0 +1,82 @@
+%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: debugPlaneMaterial
+  m_Shader: {fileID: 10721, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: _ALPHATEST_ON
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _AlphaTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 5db0892a9f35841a1aafa4d2f617eaf3, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - PixelSnap: 0
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnableExternalAlpha: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _MaskingAlphaCutoff: 0
+    - _Metallic: 0
+    - _Mode: 1
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/debugPlaneMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/debugPlaneMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8e0c1e5bf7964b6554bc27f22d29173a06c4383f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/debugPlaneMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b36939cf153274ec29fbf2f10d0a49d7
+timeCreated: 1492715747
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/occlusionPlaneMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/occlusionPlaneMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..f36e6ab49447ddba87f091126f64a38c6a15e125
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/occlusionPlaneMaterial.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: occlusionPlaneMaterial
+  m_Shader: {fileID: 4800000, guid: 1e5df5a56a7624e0981993663cf33154, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 1990
+  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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/occlusionPlaneMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/occlusionPlaneMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..417927cf552ba3e27b802378d8f74baffdd3eb52
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/occlusionPlaneMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 25eeebe0578974575aac9f24b4ede717
+timeCreated: 1497288096
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/shadowPlaneMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/shadowPlaneMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..535f8d4be180de0ba74188e27d1d4767176a4847
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/shadowPlaneMaterial.mat
@@ -0,0 +1,75 @@
+%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: shadowPlaneMaterial
+  m_Shader: {fileID: 4800000, guid: abcf973b8dc974208a882fe4b8c6b73f, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/shadowPlaneMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/shadowPlaneMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..76bf1ad2f64331591e0c55192ffef9fe85b28888
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Materials/shadowPlaneMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 16f11da3beeaf498f8526286a295a38e
+timeCreated: 1497288096
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models.meta
new file mode 100644
index 0000000000000000000000000000000000000000..debdeb3431eeeaf669d84c8cb605adb373e4b6fe
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4df8dc2b2f3354d468f2584a32efbef8
+folderAsset: yes
+timeCreated: 1528385085
+licenseType: Pro
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e4c0349b349201f5ce4fb228fe672d42d112aa53
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: a2db6ed60f35771478d3b31828b24fe8
+folderAsset: yes
+DefaultImporter:
+  userData: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5c854227f8c6db213ef51c48771b669e6305335e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9e9efecd428e54b9aabf3e5fc4fbc526
+folderAsset: yes
+timeCreated: 1501101803
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials/GunMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials/GunMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..5e01d4e5d13bf9930743b3254365c6c10c016b9c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials/GunMaterial.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: GunMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials/GunMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials/GunMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..48243ac4e9e6dfbcc45e689fe15cf09230777be6
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Materials/GunMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: fb5e14eb1d53543c2a0f0fb4f0bedcd8
+timeCreated: 1501101803
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Player.fbx b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Player.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..e1947f28de784f2913bb306ef7d326e82b1afaf8
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Player.fbx differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Player.fbx.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Player.fbx.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a2af3d547977b27f02da8dcd5124f1e5031929ec
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Models/Characters/Player.fbx.meta
@@ -0,0 +1,729 @@
+fileFormatVersion: 2
+guid: f1d84cc28597f5641a3d9cbc4df7e306
+ModelImporter:
+  serializedVersion: 16
+  fileIDToRecycleName:
+    100000: Ctrl_Grp
+    100002: Gun
+    100004: Gun 1
+    100006: GunBarrelEnd
+    100008: GunBarrelStretch
+    100010: Hat1
+    100012: Hat2
+    100014: Hat3
+    100016: Hat4
+    100018: Hat5
+    100020: HatEnd
+    100022: Head
+    100024: Hips
+    100026: HipSway
+    100028: LeftBrow1
+    100030: LeftBrow1End
+    100032: LeftBrow2
+    100034: LeftBrow2End
+    100036: LeftBrow3
+    100038: LeftBrow3End
+    100040: LeftHand1
+    100042: LeftHand2
+    100044: LeftLeg
+    100046: LeftLowerArm
+    100048: LeftLowerArm2
+    100050: LeftLowerArm2_IK
+    100052: LeftLowerArm_2_FK
+    100054: LeftLowerArm_FK
+    100056: LeftLowerArm_IK
+    100058: LeftShoulder
+    100060: LeftThumb1
+    100062: LeftThumb2
+    100064: LeftToe
+    100066: LeftUpperArm
+    100068: LeftUpperArm_FK
+    100070: LeftUpperArm_IK
+    100072: LeftWrist
+    100074: LeftWrist_FK
+    100076: LeftWrist_IK
+    100078: //RootNode
+    100080: Player
+    100082: PlayerCtrl
+    100084: RightBrow1
+    100086: RightBrow1End
+    100088: RightBrow2
+    100090: RightBrow2End
+    100092: RightBrow3
+    100094: RightBrow3End
+    100096: RightHand1
+    100098: RightHand2
+    100100: RightLeg
+    100102: RightLowerArm
+    100104: RightLowerArm2
+    100106: RightLowerArm2_FK
+    100108: RightLowerArm2_IK
+    100110: RightLowerArm_FK
+    100112: RightLowerArm_IK
+    100114: RightShoulder
+    100116: RightThumb1
+    100118: RightThumb2
+    100120: RightToe
+    100122: RightUpperArm
+    100124: RightUpperArm_FK
+    100126: RightUpperArm_IK
+    100128: RightWrist
+    100130: RightWrist_FK
+    100132: RightWrist_IK
+    100134: Root
+    100136: Spine
+    100138: Tail1
+    100140: Tail2
+    100142: Tail3
+    400000: Ctrl_Grp
+    400002: Gun
+    400004: Gun 1
+    400006: GunBarrelEnd
+    400008: GunBarrelStretch
+    400010: Hat1
+    400012: Hat2
+    400014: Hat3
+    400016: Hat4
+    400018: Hat5
+    400020: HatEnd
+    400022: Head
+    400024: Hips
+    400026: HipSway
+    400028: LeftBrow1
+    400030: LeftBrow1End
+    400032: LeftBrow2
+    400034: LeftBrow2End
+    400036: LeftBrow3
+    400038: LeftBrow3End
+    400040: LeftHand1
+    400042: LeftHand2
+    400044: LeftLeg
+    400046: LeftLowerArm
+    400048: LeftLowerArm2
+    400050: LeftLowerArm2_IK
+    400052: LeftLowerArm_2_FK
+    400054: LeftLowerArm_FK
+    400056: LeftLowerArm_IK
+    400058: LeftShoulder
+    400060: LeftThumb1
+    400062: LeftThumb2
+    400064: LeftToe
+    400066: LeftUpperArm
+    400068: LeftUpperArm_FK
+    400070: LeftUpperArm_IK
+    400072: LeftWrist
+    400074: LeftWrist_FK
+    400076: LeftWrist_IK
+    400078: Player
+    400080: //RootNode
+    400082: PlayerCtrl
+    400084: RightBrow1
+    400086: RightBrow1End
+    400088: RightBrow2
+    400090: RightBrow2End
+    400092: RightBrow3
+    400094: RightBrow3End
+    400096: RightHand1
+    400098: RightHand2
+    400100: RightLeg
+    400102: RightLowerArm
+    400104: RightLowerArm2
+    400106: RightLowerArm2_FK
+    400108: RightLowerArm2_IK
+    400110: RightLowerArm_FK
+    400112: RightLowerArm_IK
+    400114: RightShoulder
+    400116: RightThumb1
+    400118: RightThumb2
+    400120: RightToe
+    400122: RightUpperArm
+    400124: RightUpperArm_FK
+    400126: RightUpperArm_IK
+    400128: RightWrist
+    400130: RightWrist_FK
+    400132: RightWrist_IK
+    400134: Root
+    400136: Spine
+    400138: Tail1
+    400140: Tail2
+    400142: Tail3
+    4300000: Gun
+    4300002: Player
+    7400000: Move
+    7400002: Idle
+    7400004: Death
+    9500000: //RootNode
+    13700000: Gun
+    13700002: Player
+  materials:
+    importMaterials: 1
+    materialName: 1
+    materialSearch: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    optimizeGameObjects: 1
+    motionNodeName: 
+    animationCompression: 1
+    animationRotationError: .5
+    animationPositionError: .5
+    animationScaleError: .5
+    animationWrapMode: 0
+    extraExposedTransformPaths:
+    - PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch/GunBarrelEnd
+    clipAnimations:
+    - serializedVersion: 16
+      name: Move
+      takeName: Take 001
+      firstFrame: 1
+      lastFrame: 25
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      loopTime: 1
+      loopBlend: 1
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events: []
+      transformMask:
+      - path: 
+        weight: 1
+      - path: Gun
+        weight: 1
+      - path: Player
+        weight: 1
+      - path: PlayerCtrl
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch/GunBarrelEnd
+        weight: 1
+      - path: PlayerCtrl/Root
+        weight: 1
+      - path: PlayerCtrl/Root/Hips
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg/LeftToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg/RightToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5/HatEnd
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1/LeftBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2/LeftBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3/LeftBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1/RightBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2/RightBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3/RightBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1/LeftHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1/LeftThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK/LeftWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK/LeftWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1/RightHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1/RightThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK/RightWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK/RightWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2/Tail3
+        weight: 1
+      maskType: 0
+      maskSource: {instanceID: 0}
+    - serializedVersion: 16
+      name: Idle
+      takeName: Take 001
+      firstFrame: 137
+      lastFrame: 512
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      loopTime: 0
+      loopBlend: 0
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events: []
+      transformMask:
+      - path: 
+        weight: 1
+      - path: Gun
+        weight: 1
+      - path: Player
+        weight: 1
+      - path: PlayerCtrl
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch/GunBarrelEnd
+        weight: 1
+      - path: PlayerCtrl/Root
+        weight: 1
+      - path: PlayerCtrl/Root/Hips
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg/LeftToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg/RightToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5/HatEnd
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1/LeftBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2/LeftBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3/LeftBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1/RightBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2/RightBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3/RightBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1/LeftHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1/LeftThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK/LeftWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK/LeftWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1/RightHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1/RightThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK/RightWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK/RightWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2/Tail3
+        weight: 1
+      maskType: 0
+      maskSource: {instanceID: 0}
+    - serializedVersion: 16
+      name: Death
+      takeName: Take 001
+      firstFrame: 525
+      lastFrame: 650
+      wrapMode: 0
+      orientationOffsetY: 0
+      level: 0
+      cycleOffset: 0
+      loop: 0
+      loopTime: 0
+      loopBlend: 0
+      loopBlendOrientation: 0
+      loopBlendPositionY: 0
+      loopBlendPositionXZ: 0
+      keepOriginalOrientation: 0
+      keepOriginalPositionY: 1
+      keepOriginalPositionXZ: 0
+      heightFromFeet: 0
+      mirror: 0
+      bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+      curves: []
+      events:
+      - time: .997762918
+        functionName: RestartLevel
+        data: 
+        objectReferenceParameter: {instanceID: 0}
+        floatParameter: 0
+        intParameter: 0
+        messageOptions: 0
+      transformMask:
+      - path: 
+        weight: 1
+      - path: Gun
+        weight: 1
+      - path: Player
+        weight: 1
+      - path: PlayerCtrl
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch
+        weight: 1
+      - path: PlayerCtrl/Ctrl_Grp/Gun 1/GunBarrelStretch/GunBarrelEnd
+        weight: 1
+      - path: PlayerCtrl/Root
+        weight: 1
+      - path: PlayerCtrl/Root/Hips
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/LeftLeg/LeftToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/HipSway/RightLeg/RightToe
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/Hat1/Hat2/Hat3/Hat4/Hat5/HatEnd
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow1/LeftBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow2/LeftBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/LeftBrow3/LeftBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow1/RightBrow1End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow2/RightBrow2End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/Head/RightBrow3/RightBrow3End
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftHand1/LeftHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm/LeftLowerArm/LeftLowerArm2/LeftWrist/LeftThumb1/LeftThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_FK/LeftLowerArm_FK/LeftLowerArm_2_FK/LeftWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/LeftShoulder/LeftUpperArm_IK/LeftLowerArm_IK/LeftLowerArm2_IK/LeftWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightHand1/RightHand2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm/RightLowerArm/RightLowerArm2/RightWrist/RightThumb1/RightThumb2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_FK/RightLowerArm_FK/RightLowerArm2_FK/RightWrist_FK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Spine/RightShoulder/RightUpperArm_IK/RightLowerArm_IK/RightLowerArm2_IK/RightWrist_IK
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2
+        weight: 1
+      - path: PlayerCtrl/Root/Hips/Tail1/Tail2/Tail3
+        weight: 1
+      maskType: 0
+      maskSource: {instanceID: 0}
+    isReadable: 1
+  meshes:
+    lODScreenPercentages: []
+    globalScale: .00999999978
+    meshCompression: 0
+    addColliders: 0
+    importBlendShapes: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    optimizeMeshForGPU: 1
+    weldVertices: 1
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+  tangentSpace:
+    normalSmoothAngle: 180
+    splitTangentsAcrossUV: 1
+    normalImportMode: 1
+    tangentImportMode: 1
+  importAnimation: 1
+  copyAvatar: 0
+  humanDescription:
+    human: []
+    skeleton: []
+    armTwist: .5
+    foreArmTwist: .5
+    upperLegTwist: .5
+    legTwist: .5
+    armStretch: .0500000007
+    legStretch: .0500000007
+    feetSpacing: 0
+    rootMotionBoneName: 
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  animationType: 2
+  additionalBone: 0
+  userData: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..62506037fbe39405f9a970ff31f46a6b4392d20e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6c232e85bbf134253ab599b8e50e5913
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/AxesPrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/AxesPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..3867a2537190af0b7b1e75f0f3302bb8a27c2cb6
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/AxesPrefab.prefab
@@ -0,0 +1,290 @@
+%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: 1283292900242102}
+  m_IsPrefabParent: 1
+--- !u!1 &1002751330891202
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4164134588576822}
+  - component: {fileID: 33275157455057778}
+  - component: {fileID: 65093749995601518}
+  - component: {fileID: 23070030122106588}
+  m_Layer: 0
+  m_Name: ZAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1283292900242102
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4685467192569254}
+  m_Layer: 0
+  m_Name: AxesPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1750183344893220
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4582153473062144}
+  - component: {fileID: 33511840340325712}
+  - component: {fileID: 65689136147619232}
+  - component: {fileID: 23609516180793172}
+  m_Layer: 0
+  m_Name: XAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1933987289073590
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4662238078288102}
+  - component: {fileID: 33460574759219864}
+  - component: {fileID: 65982032763208194}
+  - component: {fileID: 23768232061673068}
+  m_Layer: 0
+  m_Name: YAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4164134588576822
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1002751330891202}
+  m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5}
+  m_LocalPosition: {x: 0, y: 0, z: -0.65}
+  m_LocalScale: {x: 0.05, y: 1.3, z: 0.05}
+  m_Children: []
+  m_Father: {fileID: 4685467192569254}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90}
+--- !u!4 &4582153473062144
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1750183344893220}
+  m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
+  m_LocalPosition: {x: 0.65, y: 0, z: 0}
+  m_LocalScale: {x: 0.05, y: 1.3080443, z: 0.05}
+  m_Children: []
+  m_Father: {fileID: 4685467192569254}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
+--- !u!4 &4662238078288102
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1933987289073590}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.65, z: 0}
+  m_LocalScale: {x: 0.05, y: 1.3, z: 0.05}
+  m_Children: []
+  m_Father: {fileID: 4685467192569254}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4685467192569254
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1283292900242102}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.15, y: 0.15, z: 0.15}
+  m_Children:
+  - {fileID: 4662238078288102}
+  - {fileID: 4582153473062144}
+  - {fileID: 4164134588576822}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23070030122106588
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1002751330891202}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: d55ccb0db00e54a1696c1e96094d706d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23609516180793172
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1750183344893220}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: aaae8be92ba59487a9946818d7a2017f, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!23 &23768232061673068
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1933987289073590}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 8fa2e9e7c08844dd4a8d581610839228, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33275157455057778
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1002751330891202}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33460574759219864
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1933987289073590}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33511840340325712
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1750183344893220}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65093749995601518
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1002751330891202}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65689136147619232
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1750183344893220}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!65 &65982032763208194
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1933987289073590}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/AxesPrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/AxesPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1a2d209d4f103266e66653b0e4151f7b87090671
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/AxesPrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 8855f6e449b9d4d3fae7f0a1a5ff9c2f
+timeCreated: 1505951457
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/BallPrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/BallPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..ee1fb851761905a8a09efd25c45055fe31a42983
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/BallPrefab.prefab
@@ -0,0 +1,111 @@
+%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: 1154719652421038}
+  m_IsPrefabParent: 1
+--- !u!1 &1154719652421038
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4284708646823142}
+  - component: {fileID: 33846996785084984}
+  - component: {fileID: 135626873687639864}
+  - component: {fileID: 23727198747687476}
+  - component: {fileID: 54261416861304404}
+  m_Layer: 0
+  m_Name: BallPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4284708646823142
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23727198747687476
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: f5e394a942fae453583e8e6009ee49a1, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33846996785084984
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!54 &54261416861304404
+Rigidbody:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  serializedVersion: 2
+  m_Mass: 0.01
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_UseGravity: 1
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 0
+  m_CollisionDetection: 1
+--- !u!135 &135626873687639864
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1154719652421038}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/BallPrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/BallPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f60a94c5e736ccb2b247290c32c5b7884b108d1f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/BallPrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e11b49885a57845e3b22a6355928ed72
+timeCreated: 1496972639
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/CollSphere.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/CollSphere.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..48bcf0185495f0eec437a90c58546170cc634755
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/CollSphere.prefab
@@ -0,0 +1,62 @@
+%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: 1054048126866664}
+  m_IsPrefabParent: 1
+--- !u!1 &1054048126866664
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4813142357266462}
+  - component: {fileID: 33999288727854204}
+  - component: {fileID: 135561595105751414}
+  m_Layer: 0
+  m_Name: CollSphere
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4813142357266462
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1054048126866664}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.07, y: 0.07, z: 0.07}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &33999288727854204
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1054048126866664}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!135 &135561595105751414
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1054048126866664}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/CollSphere.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/CollSphere.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a8115e19212f5ae442bf568a8ab6d4f0482bc3e5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/CollSphere.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 772733b9aeeb7481ea21ab0986f34715
+timeCreated: 1496987653
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePainterPrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePainterPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..584991c002379a22cb0af5d07c18a0607726185c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePainterPrefab.prefab
@@ -0,0 +1,3228 @@
+%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: 1450711119300942}
+  m_IsPrefabParent: 1
+--- !u!1 &1450711119300942
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4129580775725456}
+  - component: {fileID: 198095342896748244}
+  - component: {fileID: 199554783549644966}
+  m_Layer: 0
+  m_Name: ParticlePainterPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4129580775725456
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1450711119300942}
+  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}
+--- !u!198 &198095342896748244
+ParticleSystem:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1450711119300942}
+  serializedVersion: 5
+  lengthInSec: 5
+  simulationSpeed: 1
+  looping: 0
+  prewarm: 0
+  playOnAwake: 0
+  useUnscaledTime: 0
+  autoRandomSeed: 1
+  startDelay:
+    minMaxState: 0
+    scalar: 0
+    maxCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    minCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+  moveWithTransform: 0
+  moveWithCustomTransform: {fileID: 0}
+  scalingMode: 1
+  randomSeed: 138096577
+  InitialModule:
+    serializedVersion: 3
+    enabled: 1
+    startLifetime:
+      minMaxState: 0
+      scalar: 5
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSpeed:
+      minMaxState: 0
+      scalar: 5
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startColor:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    startSize:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSizeY:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSizeZ:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotationX:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotationY:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotation:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    randomizeRotationDirection: 0
+    maxNumParticles: 1000
+    size3D: 0
+    rotation3D: 0
+    gravityModifier:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  ShapeModule:
+    serializedVersion: 5
+    enabled: 0
+    type: 4
+    angle: 25
+    length: 5
+    boxThickness: {x: 0, y: 0, z: 0}
+    radiusThickness: 1
+    donutRadius: 0.2
+    m_Position: {x: 0, y: 0, z: 0}
+    m_Rotation: {x: 0, y: 0, z: 0}
+    m_Scale: {x: 1, y: 1, z: 1}
+    placementMode: 0
+    m_Mesh: {fileID: 0}
+    m_MeshRenderer: {fileID: 0}
+    m_SkinnedMeshRenderer: {fileID: 0}
+    m_MeshMaterialIndex: 0
+    m_MeshNormalOffset: 0
+    m_UseMeshMaterialIndex: 0
+    m_UseMeshColors: 1
+    alignToDirection: 0
+    randomDirectionAmount: 0
+    sphericalDirectionAmount: 0
+    randomPositionAmount: 0
+    radius:
+      value: 1
+      mode: 0
+      spread: 0
+      speed:
+        minMaxState: 0
+        scalar: 1
+        maxCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+        minCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+    arc:
+      value: 360
+      mode: 0
+      spread: 0
+      speed:
+        minMaxState: 0
+        scalar: 1
+        maxCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+        minCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+  EmissionModule:
+    enabled: 0
+    serializedVersion: 4
+    rateOverTime:
+      minMaxState: 0
+      scalar: 10
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    rateOverDistance:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_BurstCount: 0
+    m_Bursts: []
+  SizeModule:
+    enabled: 0
+    curve:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+  RotationModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    curve:
+      minMaxState: 0
+      scalar: 0.7853982
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+  ColorModule:
+    enabled: 0
+    gradient:
+      serializedVersion: 2
+      minMaxState: 1
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+  UVModule:
+    enabled: 0
+    mode: 0
+    frameOverTime:
+      minMaxState: 1
+      scalar: 0.9999
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 1
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 1
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 1
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 1
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startFrame:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    tilesX: 1
+    tilesY: 1
+    animationType: 0
+    rowIndex: 0
+    cycles: 1
+    uvChannelMask: -1
+    flipU: 0
+    flipV: 0
+    randomRow: 1
+    sprites:
+    - sprite: {fileID: 0}
+  VelocityModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    inWorldSpace: 0
+  InheritVelocityModule:
+    enabled: 0
+    m_Mode: 0
+    m_Curve:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  ForceModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    inWorldSpace: 0
+    randomizePerFrame: 0
+  ExternalForcesModule:
+    enabled: 0
+    multiplier: 1
+  ClampVelocityModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    magnitude:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxis: 0
+    inWorldSpace: 0
+    dampen: 1
+  NoiseModule:
+    enabled: 0
+    strength:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    strengthY:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    strengthZ:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+    frequency: 0.5
+    damping: 1
+    octaves: 1
+    octaveMultiplier: 0.5
+    octaveScale: 2
+    quality: 2
+    scrollSpeed:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remap:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapY:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapZ:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapEnabled: 0
+    positionAmount:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    rotationAmount:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    sizeAmount:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  SizeBySpeedModule:
+    enabled: 0
+    curve:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    range: {x: 0, y: 1}
+    separateAxes: 0
+  RotationBySpeedModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    curve:
+      minMaxState: 0
+      scalar: 0.7853982
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+    range: {x: 0, y: 1}
+  ColorBySpeedModule:
+    enabled: 0
+    gradient:
+      serializedVersion: 2
+      minMaxState: 1
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    range: {x: 0, y: 1}
+  CollisionModule:
+    enabled: 0
+    serializedVersion: 3
+    type: 0
+    collisionMode: 0
+    colliderForce: 0
+    multiplyColliderForceByParticleSize: 0
+    multiplyColliderForceByParticleSpeed: 0
+    multiplyColliderForceByCollisionAngle: 1
+    plane0: {fileID: 0}
+    plane1: {fileID: 0}
+    plane2: {fileID: 0}
+    plane3: {fileID: 0}
+    plane4: {fileID: 0}
+    plane5: {fileID: 0}
+    m_Dampen:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_Bounce:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_EnergyLossOnCollision:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    minKillSpeed: 0
+    maxKillSpeed: 10000
+    radiusScale: 1
+    collidesWith:
+      serializedVersion: 2
+      m_Bits: 4294967295
+    maxCollisionShapes: 256
+    quality: 0
+    voxelSize: 0.5
+    collisionMessages: 0
+    collidesWithDynamic: 1
+    interiorCollisions: 0
+  TriggerModule:
+    enabled: 0
+    collisionShape0: {fileID: 0}
+    collisionShape1: {fileID: 0}
+    collisionShape2: {fileID: 0}
+    collisionShape3: {fileID: 0}
+    collisionShape4: {fileID: 0}
+    collisionShape5: {fileID: 0}
+    inside: 1
+    outside: 0
+    enter: 0
+    exit: 0
+    radiusScale: 1
+  SubModule:
+    serializedVersion: 2
+    enabled: 0
+    subEmitters:
+    - emitter: {fileID: 0}
+      type: 0
+      properties: 0
+  LightsModule:
+    enabled: 0
+    ratio: 0
+    light: {fileID: 0}
+    randomDistribution: 1
+    color: 1
+    range: 1
+    intensity: 1
+    rangeCurve:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    intensityCurve:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    maxLights: 20
+  TrailModule:
+    enabled: 0
+    ratio: 1
+    lifetime:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    minVertexDistance: 0.2
+    textureMode: 0
+    worldSpace: 0
+    dieWithParticles: 1
+    sizeAffectsWidth: 1
+    sizeAffectsLifetime: 0
+    inheritParticleColor: 1
+    generateLightingData: 0
+    colorOverLifetime:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    widthOverTrail:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    colorOverTrail:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+  CustomDataModule:
+    enabled: 0
+    mode0: 0
+    vectorComponentCount0: 4
+    color0:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    vector0_0:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_1:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_2:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_3:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    mode1: 0
+    vectorComponentCount1: 4
+    color1:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    vector1_0:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_1:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_2:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_3:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+--- !u!199 &199554783549644966
+ParticleSystemRenderer:
+  serializedVersion: 4
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1450711119300942}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 10301, guid: 0000000000000000f000000000000000, type: 0}
+  - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_RenderMode: 0
+  m_SortMode: 0
+  m_MinParticleSize: 0
+  m_MaxParticleSize: 0.5
+  m_CameraVelocityScale: 0
+  m_VelocityScale: 0
+  m_LengthScale: 2
+  m_SortingFudge: 0
+  m_NormalDirection: 1
+  m_RenderAlignment: 0
+  m_Pivot: {x: 0, y: 0, z: 0}
+  m_UseCustomVertexStreams: 0
+  m_VertexStreams: 00010304
+  m_Mesh: {fileID: 0}
+  m_Mesh1: {fileID: 0}
+  m_Mesh2: {fileID: 0}
+  m_Mesh3: {fileID: 0}
+  m_MaskInteraction: 0
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePainterPrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePainterPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8a86a28d6e9bd5c944c19d16f7a64ba485370947
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePainterPrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 200646a121c9c46f69245ca2c1b789ee
+timeCreated: 1494016471
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..f3ea353ae2a6b9a569101a49de3f7b7e4241a9ff
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePrefab.prefab
@@ -0,0 +1,3228 @@
+%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: 1780633876005026}
+  m_IsPrefabParent: 1
+--- !u!1 &1780633876005026
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4076562046720424}
+  - component: {fileID: 198314236125653888}
+  - component: {fileID: 199793676405310172}
+  m_Layer: 0
+  m_Name: ParticlePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4076562046720424
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780633876005026}
+  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}
+--- !u!198 &198314236125653888
+ParticleSystem:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780633876005026}
+  serializedVersion: 5
+  lengthInSec: 5
+  simulationSpeed: 1
+  looping: 0
+  prewarm: 0
+  playOnAwake: 0
+  useUnscaledTime: 0
+  autoRandomSeed: 1
+  startDelay:
+    minMaxState: 0
+    scalar: 0
+    maxCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    minCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+  moveWithTransform: 0
+  moveWithCustomTransform: {fileID: 0}
+  scalingMode: 1
+  randomSeed: 73567786
+  InitialModule:
+    serializedVersion: 3
+    enabled: 1
+    startLifetime:
+      minMaxState: 0
+      scalar: 5
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSpeed:
+      minMaxState: 0
+      scalar: 5
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startColor:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    startSize:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSizeY:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startSizeZ:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotationX:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotationY:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startRotation:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    randomizeRotationDirection: 0
+    maxNumParticles: 1000
+    size3D: 0
+    rotation3D: 0
+    gravityModifier:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  ShapeModule:
+    serializedVersion: 5
+    enabled: 0
+    type: 4
+    angle: 25
+    length: 5
+    boxThickness: {x: 0, y: 0, z: 0}
+    radiusThickness: 1
+    donutRadius: 0.2
+    m_Position: {x: 0, y: 0, z: 0}
+    m_Rotation: {x: 0, y: 0, z: 0}
+    m_Scale: {x: 1, y: 1, z: 1}
+    placementMode: 0
+    m_Mesh: {fileID: 0}
+    m_MeshRenderer: {fileID: 0}
+    m_SkinnedMeshRenderer: {fileID: 0}
+    m_MeshMaterialIndex: 0
+    m_MeshNormalOffset: 0
+    m_UseMeshMaterialIndex: 0
+    m_UseMeshColors: 1
+    alignToDirection: 0
+    randomDirectionAmount: 0
+    sphericalDirectionAmount: 0
+    randomPositionAmount: 0
+    radius:
+      value: 1
+      mode: 0
+      spread: 0
+      speed:
+        minMaxState: 0
+        scalar: 1
+        maxCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+        minCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+    arc:
+      value: 360
+      mode: 0
+      spread: 0
+      speed:
+        minMaxState: 0
+        scalar: 1
+        maxCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 1
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+        minCurve:
+          serializedVersion: 2
+          m_Curve:
+          - serializedVersion: 2
+            time: 0
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          - serializedVersion: 2
+            time: 1
+            value: 0
+            inSlope: 0
+            outSlope: 0
+            tangentMode: 0
+          m_PreInfinity: 2
+          m_PostInfinity: 2
+          m_RotationOrder: 4
+  EmissionModule:
+    enabled: 0
+    serializedVersion: 4
+    rateOverTime:
+      minMaxState: 0
+      scalar: 10
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    rateOverDistance:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_BurstCount: 0
+    m_Bursts: []
+  SizeModule:
+    enabled: 0
+    curve:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+  RotationModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    curve:
+      minMaxState: 0
+      scalar: 0.7853982
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+  ColorModule:
+    enabled: 0
+    gradient:
+      serializedVersion: 2
+      minMaxState: 1
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+  UVModule:
+    enabled: 0
+    mode: 0
+    frameOverTime:
+      minMaxState: 1
+      scalar: 0.9999
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 1
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 1
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 1
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 1
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    startFrame:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    tilesX: 1
+    tilesY: 1
+    animationType: 0
+    rowIndex: 0
+    cycles: 1
+    uvChannelMask: -1
+    flipU: 0
+    flipV: 0
+    randomRow: 1
+    sprites:
+    - sprite: {fileID: 0}
+  VelocityModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    inWorldSpace: 0
+  InheritVelocityModule:
+    enabled: 0
+    m_Mode: 0
+    m_Curve:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  ForceModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    inWorldSpace: 0
+    randomizePerFrame: 0
+  ExternalForcesModule:
+    enabled: 0
+    multiplier: 1
+  ClampVelocityModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    magnitude:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxis: 0
+    inWorldSpace: 0
+    dampen: 1
+  NoiseModule:
+    enabled: 0
+    strength:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    strengthY:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    strengthZ:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+    frequency: 0.5
+    damping: 1
+    octaves: 1
+    octaveMultiplier: 0.5
+    octaveScale: 2
+    quality: 2
+    scrollSpeed:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remap:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapY:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapZ:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: -1
+          inSlope: 0
+          outSlope: 2
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 2
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    remapEnabled: 0
+    positionAmount:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    rotationAmount:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    sizeAmount:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+  SizeBySpeedModule:
+    enabled: 0
+    curve:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    z:
+      minMaxState: 1
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    range: {x: 0, y: 1}
+    separateAxes: 0
+  RotationBySpeedModule:
+    enabled: 0
+    x:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    y:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    curve:
+      minMaxState: 0
+      scalar: 0.7853982
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    separateAxes: 0
+    range: {x: 0, y: 1}
+  ColorBySpeedModule:
+    enabled: 0
+    gradient:
+      serializedVersion: 2
+      minMaxState: 1
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    range: {x: 0, y: 1}
+  CollisionModule:
+    enabled: 0
+    serializedVersion: 3
+    type: 0
+    collisionMode: 0
+    colliderForce: 0
+    multiplyColliderForceByParticleSize: 0
+    multiplyColliderForceByParticleSpeed: 0
+    multiplyColliderForceByCollisionAngle: 1
+    plane0: {fileID: 0}
+    plane1: {fileID: 0}
+    plane2: {fileID: 0}
+    plane3: {fileID: 0}
+    plane4: {fileID: 0}
+    plane5: {fileID: 0}
+    m_Dampen:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_Bounce:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    m_EnergyLossOnCollision:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    minKillSpeed: 0
+    maxKillSpeed: 10000
+    radiusScale: 1
+    collidesWith:
+      serializedVersion: 2
+      m_Bits: 4294967295
+    maxCollisionShapes: 256
+    quality: 0
+    voxelSize: 0.5
+    collisionMessages: 0
+    collidesWithDynamic: 1
+    interiorCollisions: 0
+  TriggerModule:
+    enabled: 0
+    collisionShape0: {fileID: 0}
+    collisionShape1: {fileID: 0}
+    collisionShape2: {fileID: 0}
+    collisionShape3: {fileID: 0}
+    collisionShape4: {fileID: 0}
+    collisionShape5: {fileID: 0}
+    inside: 1
+    outside: 0
+    enter: 0
+    exit: 0
+    radiusScale: 1
+  SubModule:
+    serializedVersion: 2
+    enabled: 0
+    subEmitters:
+    - emitter: {fileID: 0}
+      type: 0
+      properties: 0
+  LightsModule:
+    enabled: 0
+    ratio: 0
+    light: {fileID: 0}
+    randomDistribution: 1
+    color: 1
+    range: 1
+    intensity: 1
+    rangeCurve:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    intensityCurve:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    maxLights: 20
+  TrailModule:
+    enabled: 0
+    ratio: 1
+    lifetime:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    minVertexDistance: 0.2
+    textureMode: 0
+    worldSpace: 0
+    dieWithParticles: 1
+    sizeAffectsWidth: 1
+    sizeAffectsLifetime: 0
+    inheritParticleColor: 1
+    generateLightingData: 0
+    colorOverLifetime:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    widthOverTrail:
+      minMaxState: 0
+      scalar: 1
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    colorOverTrail:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+  CustomDataModule:
+    enabled: 0
+    mode0: 0
+    vectorComponentCount0: 4
+    color0:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    vector0_0:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_1:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_2:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector0_3:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    mode1: 0
+    vectorComponentCount1: 4
+    color1:
+      serializedVersion: 2
+      minMaxState: 0
+      maxGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minGradient:
+        serializedVersion: 2
+        key0: {r: 1, g: 1, b: 1, a: 1}
+        key1: {r: 1, g: 1, b: 1, a: 1}
+        key2: {r: 0, g: 0, b: 0, a: 0}
+        key3: {r: 0, g: 0, b: 0, a: 0}
+        key4: {r: 0, g: 0, b: 0, a: 0}
+        key5: {r: 0, g: 0, b: 0, a: 0}
+        key6: {r: 0, g: 0, b: 0, a: 0}
+        key7: {r: 0, g: 0, b: 0, a: 0}
+        ctime0: 0
+        ctime1: 65535
+        ctime2: 0
+        ctime3: 0
+        ctime4: 0
+        ctime5: 0
+        ctime6: 0
+        ctime7: 0
+        atime0: 0
+        atime1: 65535
+        atime2: 0
+        atime3: 0
+        atime4: 0
+        atime5: 0
+        atime6: 0
+        atime7: 0
+        m_Mode: 0
+        m_NumColorKeys: 2
+        m_NumAlphaKeys: 2
+      minColor: {r: 1, g: 1, b: 1, a: 1}
+      maxColor: {r: 1, g: 1, b: 1, a: 1}
+    vector1_0:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_1:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_2:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    vector1_3:
+      minMaxState: 0
+      scalar: 0
+      maxCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+      minCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 2
+          time: 0
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        - serializedVersion: 2
+          time: 1
+          value: 0
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+--- !u!199 &199793676405310172
+ParticleSystemRenderer:
+  serializedVersion: 4
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1780633876005026}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 2100000, guid: f7cffc03fadd142ea81401e16399833e, type: 2}
+  - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_RenderMode: 0
+  m_SortMode: 0
+  m_MinParticleSize: 0
+  m_MaxParticleSize: 0.5
+  m_CameraVelocityScale: 0
+  m_VelocityScale: 0
+  m_LengthScale: 2
+  m_SortingFudge: 0
+  m_NormalDirection: 1
+  m_RenderAlignment: 0
+  m_Pivot: {x: 0, y: 0, z: 0}
+  m_UseCustomVertexStreams: 0
+  m_VertexStreams: 00010304
+  m_Mesh: {fileID: 0}
+  m_Mesh1: {fileID: 0}
+  m_Mesh2: {fileID: 0}
+  m_Mesh3: {fileID: 0}
+  m_MaskInteraction: 0
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c50263a3a65efdab3807b402404deecb3e8c21b4
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/ParticlePrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 87db9decf4b3e4cb8bf3eea22ccd37f5
+timeCreated: 1494009634
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/PointCloudPrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/PointCloudPrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..5be7a26c57c00f65b1b867935c1b1f6d50e6697f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/PointCloudPrefab.prefab
@@ -0,0 +1,95 @@
+%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: 1845574417345784}
+  m_IsPrefabParent: 1
+--- !u!1 &1845574417345784
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4456704908116418}
+  - component: {fileID: 33975515242258592}
+  - component: {fileID: 135719125020529502}
+  - component: {fileID: 23860415727414328}
+  m_Layer: 0
+  m_Name: PointCloudPrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4456704908116418
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845574417345784}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.005, y: 0.005, z: 0.005}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23860415727414328
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845574417345784}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 3a044f7471feb4bd4be40dcec09eae05, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33975515242258592
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845574417345784}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!135 &135719125020529502
+SphereCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1845574417345784}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/PointCloudPrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/PointCloudPrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8c027ef62a9a7157b786d615084b605e395b14a7
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/PointCloudPrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 02d2a544d8d594d30b790e76398d0873
+timeCreated: 1493917937
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/collisionPlanePrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/collisionPlanePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..37b3e0d31c2fa101125b92a64189aa3147c89375
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/collisionPlanePrefab.prefab
@@ -0,0 +1,93 @@
+%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: 1372998203143648}
+  m_IsPrefabParent: 1
+--- !u!1 &1243282721867180
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4459804331441636}
+  - component: {fileID: 33784412182206160}
+  - component: {fileID: 64007261467877126}
+  m_Layer: 0
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1372998203143648
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4787822665528772}
+  m_Layer: 0
+  m_Name: collisionPlanePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4459804331441636
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.125, y: 0.125, z: 0.125}
+  m_Children: []
+  m_Father: {fileID: 4787822665528772}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4787822665528772
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1372998203143648}
+  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:
+  - {fileID: 4459804331441636}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &33784412182206160
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64007261467877126
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/collisionPlanePrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/collisionPlanePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1d41738f7c598d65a25cf830aca5d7b65d0d087b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/collisionPlanePrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 813dd14a7826b4795823dd39ac4cc050
+timeCreated: 1492718811
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/debugPlanePrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/debugPlanePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..552c7258889f7ad8eb25879d04adb2b04cfe4f17
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/debugPlanePrefab.prefab
@@ -0,0 +1,139 @@
+%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: 1372998203143648}
+  m_IsPrefabParent: 1
+--- !u!1 &1243282721867180
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4459804331441636}
+  - component: {fileID: 33784412182206160}
+  - component: {fileID: 64007261467877126}
+  - component: {fileID: 23522069187022562}
+  - component: {fileID: 65567926102939020}
+  m_Layer: 10
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1372998203143648
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4787822665528772}
+  m_Layer: 0
+  m_Name: debugPlanePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4459804331441636
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4787822665528772}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4787822665528772
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1372998203143648}
+  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:
+  - {fileID: 4459804331441636}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23522069187022562
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: b36939cf153274ec29fbf2f10d0a49d7, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33784412182206160
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64007261467877126
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65567926102939020
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1243282721867180}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 10, y: 0.1, z: 10}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/debugPlanePrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/debugPlanePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..70895266301538a6a36d2e3971b2af4307c22981
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/debugPlanePrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f879aaf3eeb0c467eb22cbaf08dc97a4
+timeCreated: 1492718811
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/occlusionPlanePrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/occlusionPlanePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..588db3b8395887356963b5475f1862494b7d68fc
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/occlusionPlanePrefab.prefab
@@ -0,0 +1,139 @@
+%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: 1983520619281468}
+  m_IsPrefabParent: 1
+--- !u!1 &1835668619836898
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4301351458783932}
+  - component: {fileID: 33801103126895618}
+  - component: {fileID: 64514493211635788}
+  - component: {fileID: 23308608047570514}
+  - component: {fileID: 65158357074468436}
+  m_Layer: 0
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1983520619281468
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4023412880410692}
+  m_Layer: 0
+  m_Name: occlusionPlanePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4023412880410692
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1983520619281468}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: -0.173, z: 1.058}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4301351458783932}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4301351458783932
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4023412880410692}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23308608047570514
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 25eeebe0578974575aac9f24b4ede717, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33801103126895618
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64514493211635788
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65158357074468436
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 10, y: 0.1, z: 10}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/occlusionPlanePrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/occlusionPlanePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0cbebdee220a32012adbde36cf39a3f2421093e1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/occlusionPlanePrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 9eb96f002ffce4560879b18f2e0502e5
+timeCreated: 1497394239
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/shadowPlanePrefab.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/shadowPlanePrefab.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..41b4bf041be98281aa60ce8ad411b95cab636b23
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/shadowPlanePrefab.prefab
@@ -0,0 +1,139 @@
+%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: 1983520619281468}
+  m_IsPrefabParent: 1
+--- !u!1 &1835668619836898
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4301351458783932}
+  - component: {fileID: 33801103126895618}
+  - component: {fileID: 64514493211635788}
+  - component: {fileID: 23308608047570514}
+  - component: {fileID: 65158357074468436}
+  m_Layer: 0
+  m_Name: Plane
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1983520619281468
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4023412880410692}
+  m_Layer: 0
+  m_Name: shadowPlanePrefab
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4023412880410692
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1983520619281468}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: -0.173, z: 1.058}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4301351458783932}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4301351458783932
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children: []
+  m_Father: {fileID: 4023412880410692}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23308608047570514
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 16f11da3beeaf498f8526286a295a38e, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33801103126895618
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64514493211635788
+MeshCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Convex: 0
+  m_InflateMesh: 0
+  m_SkinWidth: 0.01
+  m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65158357074468436
+BoxCollider:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1835668619836898}
+  m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 10, y: 0.1, z: 10}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/shadowPlanePrefab.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/shadowPlanePrefab.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..91202c33765d24993e76ff091a93dd8656122521
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Prefabs/shadowPlanePrefab.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 696855730620a483c9ae4c242e312b28
+timeCreated: 1497394239
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 100100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders.meta
new file mode 100644
index 0000000000000000000000000000000000000000..321be64e04a0ac083c482e7b7904ab012ec80658
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 74f51f2576219447b8322610cbd17b01
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/InstancedSurfaceShader.shader b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/InstancedSurfaceShader.shader
new file mode 100644
index 0000000000000000000000000000000000000000..f1c613b329e118ddd24fbaa7e066a6c235aff54f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/InstancedSurfaceShader.shader
@@ -0,0 +1,52 @@
+// Upgrade NOTE: upgraded instancing buffer 'Props' to new syntax.
+
+Shader "Custom/InstancedSurfaceShader" {
+	Properties {
+		_Color ("Color", Color) = (1,1,1,1)
+		_MainTex ("Albedo (RGB)", 2D) = "white" {}
+		_Glossiness ("Smoothness", Range(0,1)) = 0.5
+		_Metallic ("Metallic", Range(0,1)) = 0.0
+	}
+	SubShader {
+		Tags { "RenderType"="Opaque" }
+		LOD 200
+		
+		CGPROGRAM
+		// Physically based Standard lighting model, and enable shadows on all light types
+		#pragma surface surf Standard fullforwardshadows
+
+		// Use shader model 3.0 target, to get nicer looking lighting
+		#pragma target 3.0
+
+		sampler2D _MainTex;
+
+		struct Input {
+			float2 uv_MainTex;
+		};
+
+		half _Glossiness;
+		half _Metallic;
+		fixed4 _Color;
+
+		// Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
+		// See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
+		// #pragma instancing_options assumeuniformscaling
+		UNITY_INSTANCING_BUFFER_START(Props)
+			// put more per-instance properties here
+			UNITY_DEFINE_INSTANCED_PROP (fixed4, _InstanceColor)
+#define _InstanceColor_arr Props
+		UNITY_INSTANCING_BUFFER_END(Props)
+
+		void surf (Input IN, inout SurfaceOutputStandard o) {
+			// Albedo comes from a texture tinted by color
+			fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * UNITY_ACCESS_INSTANCED_PROP (_InstanceColor_arr, _InstanceColor);
+			o.Albedo = c.rgb;
+			// Metallic and smoothness come from slider variables
+			o.Metallic = _Metallic;
+			o.Smoothness = _Glossiness;
+			o.Alpha = c.a;
+		}
+		ENDCG
+	}
+	FallBack "Diffuse"
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/InstancedSurfaceShader.shader.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/InstancedSurfaceShader.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f15bb97d128121a3305d784d448808e68962d3f0
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/InstancedSurfaceShader.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: aef340cb91e534f40870ff658a7aecee
+timeCreated: 1496974206
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileARShadow.shader b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileARShadow.shader
new file mode 100644
index 0000000000000000000000000000000000000000..7104bebe4ff5f76e99d8b21363207c9bff53c900
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileARShadow.shader
@@ -0,0 +1,73 @@
+//This is based on a shader from https://alastaira.wordpress.com/2014/12/30/adding-shadows-to-a-unity-vertexfragment-shader-in-7-easy-steps/
+
+Shader "Custom/MobileARShadow"
+{
+    SubShader {
+        Pass {
+         
+            // 1.) This will be the base forward rendering pass in which ambient, vertex, and
+            // main directional light will be applied. Additional lights will need additional passes
+            // using the "ForwardAdd" lightmode.
+            // see: http://docs.unity3d.com/Manual/SL-PassTags.html
+            Tags { "LightMode" = "ForwardBase" "RenderType"="Opaque" "Queue"="Geometry+1" "ForceNoShadowCasting"="True"  }
+			LOD 150
+			Blend Zero SrcColor
+			ZWrite On
+        
+            CGPROGRAM
+ 
+            #pragma vertex vert
+            #pragma fragment frag
+            #include "UnityCG.cginc"
+ 
+            // 2.) This matches the "forward base" of the LightMode tag to ensure the shader compiles
+            // properly for the forward bass pass. As with the LightMode tag, for any additional lights
+            // this would be changed from _fwdbase to _fwdadd.
+            #pragma multi_compile_fwdbase
+ 
+            // 3.) Reference the Unity library that includes all the lighting shadow macros
+            #include "AutoLight.cginc"
+ 
+ 
+            struct v2f
+            {
+                float4 pos : SV_POSITION;
+                 
+                // 4.) The LIGHTING_COORDS macro (defined in AutoLight.cginc) defines the parameters needed to sample 
+                // the shadow map. The (0,1) specifies which unused TEXCOORD semantics to hold the sampled values - 
+                // As I'm not using any texcoords in this shader, I can use TEXCOORD0 and TEXCOORD1 for the shadow 
+                // sampling. If I was already using TEXCOORD for UV coordinates, say, I could specify
+                // LIGHTING_COORDS(1,2) instead to use TEXCOORD1 and TEXCOORD2.
+                LIGHTING_COORDS(0,1)
+            };
+ 
+ 
+            v2f vert(appdata_base v) {
+                v2f o;
+                o.pos = UnityObjectToClipPos (v.vertex);
+                 
+                // 5.) The TRANSFER_VERTEX_TO_FRAGMENT macro populates the chosen LIGHTING_COORDS in the v2f structure
+                // with appropriate values to sample from the shadow/lighting map
+                TRANSFER_VERTEX_TO_FRAGMENT(o);
+                 
+                return o;
+            }
+ 
+            fixed4 frag(v2f i) : COLOR {
+             
+                // 6.) The LIGHT_ATTENUATION samples the shadowmap (using the coordinates calculated by TRANSFER_VERTEX_TO_FRAGMENT
+                // and stored in the structure defined by LIGHTING_COORDS), and returns the value as a float.
+                float attenuation = LIGHT_ATTENUATION(i);
+                return fixed4(1.0,1.0,1.0,1.0) * attenuation;
+            }
+ 
+            ENDCG
+        }
+    }
+     
+    // 7.) To receive or cast a shadow, shaders must implement the appropriate "Shadow Collector" or "Shadow Caster" pass.
+    // Although we haven't explicitly done so in this shader, if these passes are missing they will be read from a fallback
+    // shader instead, so specify one here to import the collector/caster passes used in that fallback.
+    Fallback "VertexLit"
+
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileARShadow.shader.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileARShadow.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..954faff65197810d139d53c50719c0d81373d701
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileARShadow.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: abcf973b8dc974208a882fe4b8c6b73f
+timeCreated: 1497394336
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileOcclusion.shader b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileOcclusion.shader
new file mode 100644
index 0000000000000000000000000000000000000000..e47ccaa07ec9c610cdf452a14a1f24ea6eaaf80a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileOcclusion.shader
@@ -0,0 +1,44 @@
+Shader "Custom/MobileOcclusion"
+{
+    SubShader {
+	    	Pass {
+	    		// Render the Occlusion shader before all
+				// opaque geometry to prime the depth buffer.
+				Tags { "Queue"="Geometry" }
+
+				ZWrite On
+				ZTest LEqual
+				ColorMask 0
+
+				CGPROGRAM
+				#pragma vertex vert
+				#pragma fragment frag
+
+				#include "UnityCG.cginc"
+
+				struct appdata
+				{
+					float4 vertex : POSITION;
+				};
+
+				struct v2f
+				{
+					float4 position : SV_POSITION;
+				};
+
+				v2f vert (appdata input)
+				{
+					v2f output;
+
+					output.position = UnityObjectToClipPos(input.vertex);
+					return output;
+				}
+
+				fixed4 frag (v2f input) : SV_Target
+				{
+					return fixed4(0.5, 0.3, 0.0, 1.0);
+				}
+				ENDCG
+	    	}
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileOcclusion.shader.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileOcclusion.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6c8b84a5b2d20db014edb4ffe9d3c13629dac193
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Shaders/MobileOcclusion.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1e5df5a56a7624e0981993663cf33154
+timeCreated: 1498679026
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6f9a40d9c545f90de6d93191cabe11b10e3c6f83
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 52d64d946d6be4c8aa622c3f5e6bf042
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerDiffuse.png b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerDiffuse.png
new file mode 100644
index 0000000000000000000000000000000000000000..711c6cf5243821f7a34d26d6815629f6d1121ab8
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerDiffuse.png differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerDiffuse.png.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerDiffuse.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..926c7410b3088bf9e0e1cf7db3bcf51c9a2ac5fe
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerDiffuse.png.meta
@@ -0,0 +1,52 @@
+fileFormatVersion: 2
+guid: a3cc890ba79fb47449fb51893aa9b363
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: .25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 8
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 1024
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: .5, y: .5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    sprites: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerNormals.png b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerNormals.png
new file mode 100644
index 0000000000000000000000000000000000000000..06b143f48441c11ceb9ab58f37390bb2faa3ffda
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerNormals.png differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerNormals.png.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerNormals.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c71477bb3232ccb076b9c359dab37941c42583bb
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerNormals.png.meta
@@ -0,0 +1,52 @@
+fileFormatVersion: 2
+guid: d98be175031405b4fb3f6a5f459a22e4
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 1
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 1
+    heightScale: .25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 8
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 1024
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: .5, y: .5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  textureType: 1
+  buildTargetSettings: []
+  spriteSheet:
+    sprites: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerOcclusion.png b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerOcclusion.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d9147b10e01b578a2c94a2244dc003bf956b35f
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerOcclusion.png differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerOcclusion.png.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerOcclusion.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b34c1584eafe80f9fee2094cd764cc63ad5c30c8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerOcclusion.png.meta
@@ -0,0 +1,52 @@
+fileFormatVersion: 2
+guid: 6ae2af98f5c9f0243806bfb6ccbbdd19
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: .25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 8
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 1024
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: .5, y: .5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    sprites: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerSpecular.tif b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerSpecular.tif
new file mode 100644
index 0000000000000000000000000000000000000000..b79174c79f638048c63d4972181e8e9c8393d561
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerSpecular.tif differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerSpecular.tif.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerSpecular.tif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3b5799ffda25fe386f5d1421c55581f8f243775a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/PlayerSpecular.tif.meta
@@ -0,0 +1,52 @@
+fileFormatVersion: 2
+guid: bc9b1c6383841ea4f9e532a49c651ff6
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 2
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    linearTexture: 0
+    correctGamma: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: .25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 8
+  cubemapConvolutionExponent: 1.5
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  rGBM: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: .5, y: .5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaIsTransparency: 0
+  textureType: -1
+  buildTargetSettings: []
+  spriteSheet:
+    sprites: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/checker_large UV.gif b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/checker_large UV.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dbdaec46efb1b05ac64902428c9a50391834c911
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/checker_large UV.gif differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/checker_large UV.gif.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/checker_large UV.gif.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f7d87c2b713bffb22f0280ba1985bba273557c0f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/checker_large UV.gif.meta	
@@ -0,0 +1,112 @@
+fileFormatVersion: 2
+guid: 70976333360a046c1bcf8dc7cb1f593c
+timeCreated: 1489788026
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 0
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 256
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 256
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 256
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: tvOS
+    maxTextureSize: 256
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 256
+    textureFormat: 4
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+  - buildTarget: WebGL
+    maxTextureSize: 256
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/debugPlaneTile.png b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/debugPlaneTile.png
new file mode 100644
index 0000000000000000000000000000000000000000..b72323fce476011d6510a3157bf8ac284b32e1f7
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/debugPlaneTile.png differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/debugPlaneTile.png.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/debugPlaneTile.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..60e574184d4fde0ed29b976961bb7b92acd97134
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/Common/Textures/debugPlaneTile.png.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: 5db0892a9f35841a1aafa4d2f617eaf3
+timeCreated: 1492718703
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare.meta
new file mode 100644
index 0000000000000000000000000000000000000000..50f53eb6f48a65bab82fabf7b12dc20857783319
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: af68919dbd7264d6584857ed14b907e6
+folderAsset: yes
+timeCreated: 1504390677
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquare.cs b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquare.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b100a5ebf44ee86ed381d8787e9dcdfdf73423bb
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquare.cs
@@ -0,0 +1,143 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+public class FocusSquare : MonoBehaviour {
+
+	public enum FocusState {
+		Initializing,
+		Finding,
+		Found
+	}
+
+	public GameObject findingSquare;
+	public GameObject foundSquare;
+
+	//for editor version
+	public float maxRayDistance = 30.0f;
+	public LayerMask collisionLayerMask;
+	public float findingSquareDist = 0.5f;
+
+	private FocusState squareState;
+	public FocusState SquareState { 
+		get {
+			return squareState;
+		}
+		set {
+			squareState = value;
+			foundSquare.SetActive (squareState == FocusState.Found);
+			findingSquare.SetActive (squareState != FocusState.Found);
+		} 
+	}
+
+	bool trackingInitialized;
+
+	// Use this for initialization
+	void Start () {
+		SquareState = FocusState.Initializing;
+		trackingInitialized = true;
+	}
+
+
+	bool HitTestWithResultType (ARPoint point, ARHitTestResultType resultTypes)
+	{
+		List<ARHitTestResult> hitResults = UnityARSessionNativeInterface.GetARSessionNativeInterface ().HitTest (point, resultTypes);
+		if (hitResults.Count > 0) {
+			foreach (var hitResult in hitResults) {
+				foundSquare.transform.position = UnityARMatrixOps.GetPosition (hitResult.worldTransform);
+				foundSquare.transform.rotation = UnityARMatrixOps.GetRotation (hitResult.worldTransform);
+				Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", foundSquare.transform.position.x, foundSquare.transform.position.y, foundSquare.transform.position.z));
+				return true;
+			}
+		}
+		return false;
+	}
+
+	// Update is called once per frame
+	void Update () {
+
+		//use center of screen for focusing
+		Vector3 center = new Vector3(Screen.width/2, Screen.height/2, findingSquareDist);
+
+		#if UNITY_EDITOR
+		Ray ray = Camera.main.ScreenPointToRay (center);
+		RaycastHit hit;
+
+		//we'll try to hit one of the plane collider gameobjects that were generated by the plugin
+		//effectively similar to calling HitTest with ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent
+		if (Physics.Raycast (ray, out hit, maxRayDistance, collisionLayerMask)) {
+			//we're going to get the position from the contact point
+			foundSquare.transform.position = hit.point;
+			Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", foundSquare.transform.position.x, foundSquare.transform.position.y, foundSquare.transform.position.z));
+
+			//and the rotation from the transform of the plane collider
+			SquareState = FocusState.Found;
+			foundSquare.transform.rotation = hit.transform.rotation;
+			return;
+		}
+
+
+		#else
+		var screenPosition = Camera.main.ScreenToViewportPoint(center);
+		ARPoint point = new ARPoint {
+			x = screenPosition.x,
+			y = screenPosition.y
+		};
+
+		// prioritize reults types
+		ARHitTestResultType[] resultTypes = {
+			ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent, 
+			// if you want to use infinite planes use this:
+			//ARHitTestResultType.ARHitTestResultTypeExistingPlane,
+			//ARHitTestResultType.ARHitTestResultTypeHorizontalPlane, 
+			//ARHitTestResultType.ARHitTestResultTypeFeaturePoint
+		}; 
+
+		foreach (ARHitTestResultType resultType in resultTypes)
+		{
+			if (HitTestWithResultType (point, resultType))
+			{
+				SquareState = FocusState.Found;
+				return;
+			}
+		}
+
+		#endif
+
+		//if you got here, we have not found a plane, so if camera is facing below horizon, display the focus "finding" square
+		if (trackingInitialized) {
+			SquareState = FocusState.Finding;
+
+			//check camera forward is facing downward
+			if (Vector3.Dot(Camera.main.transform.forward, Vector3.down) > 0)
+			{
+
+				//position the focus finding square a distance from camera and facing up
+				findingSquare.transform.position = Camera.main.ScreenToWorldPoint(center);
+
+				//vector from camera to focussquare
+				Vector3 vecToCamera = findingSquare.transform.position - Camera.main.transform.position;
+
+				//find vector that is orthogonal to camera vector and up vector
+				Vector3 vecOrthogonal = Vector3.Cross(vecToCamera, Vector3.up);
+
+				//find vector orthogonal to both above and up vector to find the forward vector in basis function
+				Vector3 vecForward = Vector3.Cross(vecOrthogonal, Vector3.up);
+
+
+				findingSquare.transform.rotation = Quaternion.LookRotation(vecForward,Vector3.up);
+
+			}
+			else
+			{
+				//we will not display finding square if camera is not facing below horizon
+				findingSquare.SetActive(false);
+			}
+
+		}
+
+	}
+
+
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquare.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquare.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7c3fc52b1bb927fd6593b22fcee33b0efd04cdd0
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquare.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 534fd29b1b9f645a28cf2f3deeaeda50
+timeCreated: 1504390678
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.controller b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.controller
new file mode 100644
index 0000000000000000000000000000000000000000..946e22a1d17b71e0cc284626138899dcea62303f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.controller
@@ -0,0 +1,67 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: FocusSquareFinding
+  serializedVersion: 5
+  m_AnimatorParameters: []
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: 1107000555576970242}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1102 &1102417429920230580
+AnimatorState:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: focuspulse
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: 30f10be4bda0f4d1bb27b0f1ef492dcc, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+--- !u!1107 &1107000555576970242
+AnimatorStateMachine:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: 1102417429920230580}
+    m_Position: {x: 200, y: 0, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: 1102417429920230580}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.controller.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.controller.meta
new file mode 100644
index 0000000000000000000000000000000000000000..52269058306f306966400c5a8705fa273d240dd6
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.controller.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: cca9b37da3e7e458fba02babd2ee71b9
+timeCreated: 1504634087
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 9100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.mat
new file mode 100644
index 0000000000000000000000000000000000000000..d6bfac2be41087c3a76be508a17ae93de4a4707a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.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: FocusSquareFinding
+  m_Shader: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 6f12b022b96934e8496f32281cfe574c, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5ff396f65e838d67a40dba3e7c31d88e57d6b1f5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bdec2f90bd7304fd7859a64780a6947e
+timeCreated: 1504393627
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..9e9de033e11a9c22d165a61add86803885914e58
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.prefab
@@ -0,0 +1,129 @@
+%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: 1079225684846008}
+  m_IsPrefabParent: 1
+--- !u!1 &1079225684846008
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4346840500143702}
+  - component: {fileID: 95971133279549186}
+  m_Layer: 0
+  m_Name: FocusSquareFinding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1914885197842632
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4521233104532860}
+  - component: {fileID: 33626701954220244}
+  - component: {fileID: 23099057984065350}
+  m_Layer: 0
+  m_Name: 'Quad '
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4346840500143702
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079225684846008}
+  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:
+  - {fileID: 4521233104532860}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4521233104532860
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1914885197842632}
+  m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.10000017, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4346840500143702}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!23 &23099057984065350
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1914885197842632}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: bdec2f90bd7304fd7859a64780a6947e, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33626701954220244
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1914885197842632}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!95 &95971133279549186
+Animator:
+  serializedVersion: 3
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1079225684846008}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: cca9b37da3e7e458fba02babd2ee71b9, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a72585ed59cb906e71829642870147d740b9d20c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFinding.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 455b404c52d7d4188bf02f3682baa204
+timeCreated: 1504390680
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFocused.prefab b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFocused.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..4e2219460103a37783e26cd1c8d22256ac1d52cb
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFocused.prefab
@@ -0,0 +1,111 @@
+%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: 1414772738660142}
+  m_IsPrefabParent: 1
+--- !u!1 &1414772738660142
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4266624117467130}
+  m_Layer: 0
+  m_Name: FocusSquareFocused
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1737289922828404
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4448547049399504}
+  - component: {fileID: 33099327791086394}
+  - component: {fileID: 23454377572920414}
+  m_Layer: 0
+  m_Name: Quad
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4266624117467130
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1414772738660142}
+  m_LocalRotation: {x: 0.00012207031, y: -0.013934742, z: -0, w: -0.9999029}
+  m_LocalPosition: {x: 0.33594143, y: -0.2882334, z: 0.38393554}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4448547049399504}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4448547049399504
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1737289922828404}
+  m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4266624117467130}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!23 &23454377572920414
+MeshRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1737289922828404}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 5dc9e0ae01c204ce7b7517c8d59713e6, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!33 &33099327791086394
+MeshFilter:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1737289922828404}
+  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFocused.prefab.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFocused.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d6391279c2685883daaa6a36ac9d785cfef7a543
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFocused.prefab.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ad2f8ea2bac7e4117ad509404bab9f73
+timeCreated: 1504390680
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFound.mat b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFound.mat
new file mode 100644
index 0000000000000000000000000000000000000000..2d2eecdda3d172e8ea66e10d22bd156246018da5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFound.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: FocusSquareFound
+  m_Shader: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 4e0e8b7bcde33420a8c2731e0f3fbd57, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFound.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFound.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fce958defb0263cd24166ac9110bb4250d738ae2
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareFound.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5dc9e0ae01c204ce7b7517c8d59713e6
+timeCreated: 1504393627
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareScene.unity b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareScene.unity
new file mode 100644
index 0000000000000000000000000000000000000000..59ba6ac4a699a51c324bbf2cd93d4048e97ba5b8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareScene.unity
@@ -0,0 +1,1005 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 0}
+  m_AmbientEquatorColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientGroundColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &4
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 9
+    m_Resolution: 1
+    m_BakeResolution: 50
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 1
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 0
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFiltering: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousColorSigma: 1
+    m_PVRFilteringAtrousNormalSigma: 1
+    m_PVRFilteringAtrousPositionSigma: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &5
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.4
+    agentHeight: 1.8
+    agentSlope: 45
+    agentClimb: 0.9
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.13333333
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &7
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 9}
+  - component: {fileID: 10}
+  - component: {fileID: 12}
+  - component: {fileID: 13}
+  - component: {fileID: 11}
+  - component: {fileID: 8}
+  - component: {fileID: 14}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &8
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!4 &9
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 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_Children: []
+  m_Father: {fileID: 229804521}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &10
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19788063, g: 0.2953552, b: 0.44852942, a: 0.019608}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.1
+  far clip plane: 30
+  field of view: 60
+  orthographic: 0
+  orthographic size: 100
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+  m_StereoMirrorMode: 0
+--- !u!81 &11
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+--- !u!92 &12
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+--- !u!124 &13
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+--- !u!114 &14
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce437cef046e841aabd6070890e79d41, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &16
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 20}
+  - component: {fileID: 29}
+  - component: {fileID: 17}
+  m_Layer: 0
+  m_Name: Directional light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &17
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 16}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5587c957048494a2f96db36e0995449e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!4 &20
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 16}
+  m_LocalRotation: {x: -0.31668198, y: -0.33227497, z: 0.119525984, w: -0.8803519}
+  m_LocalPosition: {x: -2.359002, y: 2.21, z: -3.580904}
+  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}
+--- !u!108 &29
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 16}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.997495, b: 0.955224, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 0
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 1
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_FalloffTable:
+    m_Table[0]: 0
+    m_Table[1]: 0
+    m_Table[2]: 0
+    m_Table[3]: 0
+    m_Table[4]: 0
+    m_Table[5]: 0
+    m_Table[6]: 0
+    m_Table[7]: 0
+    m_Table[8]: 0
+    m_Table[9]: 0
+    m_Table[10]: 0
+    m_Table[11]: 0
+    m_Table[12]: 0
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!1 &229804520
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 229804521}
+  m_Layer: 0
+  m_Name: CameraParent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &229804521
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 229804520}
+  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:
+  - {fileID: 9}
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &359685852
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 747402897}
+    m_Modifications:
+    - target: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 455b404c52d7d4188bf02f3682baa204, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &481742511
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 481742512}
+  - component: {fileID: 481742513}
+  m_Layer: 0
+  m_Name: PointCloudParticleExample
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &481742512
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 481742511}
+  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: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &481742513
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 481742511}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ec20d460fbb7e4f92b4d84a10da98cd9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  pointCloudParticlePrefab: {fileID: 198314236125653888, guid: 87db9decf4b3e4cb8bf3eea22ccd37f5,
+    type: 2}
+  maxPointsToShow: 10000
+  particleSize: 0.01
+--- !u!23 &732268494
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 922811256}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 66fbc43c67b564bb4a4c2c2dcd6c1970, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &732268495
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 922811256}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &732268496
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 922811256}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &732268497
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 922811256}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 1}
+  m_LocalScale: {x: 0.3058, y: 0.3058, z: 0.3058}
+  m_Children:
+  - {fileID: 1563586580}
+  - {fileID: 985089624}
+  - {fileID: 2134794027}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &747402895
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 747402897}
+  - component: {fileID: 747402896}
+  m_Layer: 0
+  m_Name: FocusSquare
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &747402896
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 747402895}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 534fd29b1b9f645a28cf2f3deeaeda50, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  findingSquare: {fileID: 1752990997}
+  foundSquare: {fileID: 2045406692}
+  maxRayDistance: 30
+  collisionLayerMask:
+    serializedVersion: 2
+    m_Bits: 1024
+  findingSquareDist: 0.5
+--- !u!4 &747402897
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 747402895}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0.17645001, y: 0.17645001, z: 1.17645}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 2045406693}
+  - {fileID: 1752990998}
+  m_Father: {fileID: 0}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &922811256
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 732268497}
+  - component: {fileID: 732268496}
+  - component: {fileID: 732268495}
+  - component: {fileID: 732268494}
+  m_Layer: 0
+  m_Name: RandomCube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &985089623
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 985089624}
+  - component: {fileID: 985089627}
+  - component: {fileID: 985089626}
+  - component: {fileID: 985089625}
+  m_Layer: 0
+  m_Name: XAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &985089624
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 985089623}
+  m_LocalRotation: {x: -0.0000037178397, y: 0.0000024586916, z: -0.7071033, w: -0.7071102}
+  m_LocalPosition: {x: 1, y: 0, z: 0}
+  m_LocalScale: {x: 0.03270111, y: 1.3080443, z: 0.03270111}
+  m_Children: []
+  m_Father: {fileID: 732268497}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 10.865001, y: 2.6820002, z: 90}
+--- !u!23 &985089625
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 985089623}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: aaae8be92ba59487a9946818d7a2017f, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &985089626
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 985089623}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &985089627
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 985089623}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1001 &1055835807
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4661046637869644, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+      propertyPath: m_RootOrder
+      value: 7
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: 8ce7d6271a01a4274a00066492aed04a, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1121666029
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1121666033}
+  - component: {fileID: 1121666030}
+  m_Layer: 0
+  m_Name: ARCameraManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1121666030
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1121666029}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_camera: {fileID: 10}
+  startAlignment: 0
+  planeDetection: 1
+  getPointCloud: 1
+  enableLightEstimation: 1
+--- !u!4 &1121666033
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1121666029}
+  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: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1308259102
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1308259104}
+  - component: {fileID: 1308259103}
+  m_Layer: 0
+  m_Name: GeneratePlanes
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1308259103
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1308259102}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31cac8edf84834043ac167deaeba16a9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  planePrefab: {fileID: 1372998203143648, guid: f879aaf3eeb0c467eb22cbaf08dc97a4,
+    type: 2}
+--- !u!4 &1308259104
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1308259102}
+  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: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1563586579
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1563586580}
+  - component: {fileID: 1563586583}
+  - component: {fileID: 1563586582}
+  - component: {fileID: 1563586581}
+  m_Layer: 0
+  m_Name: YAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1563586580
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1563586579}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: 0}
+  m_LocalScale: {x: 0.03270111, y: 1.3080444, z: 0.032701116}
+  m_Children: []
+  m_Father: {fileID: 732268497}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &1563586581
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1563586579}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 8fa2e9e7c08844dd4a8d581610839228, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &1563586582
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1563586579}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &1563586583
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1563586579}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1001 &1657884802
+Prefab:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 747402897}
+    m_Modifications:
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_LocalPosition.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 100100000, guid: ad2f8ea2bac7e4117ad509404bab9f73, type: 2}
+  m_IsPrefabParent: 0
+--- !u!1 &1752990997 stripped
+GameObject:
+  m_PrefabParentObject: {fileID: 1079225684846008, guid: 455b404c52d7d4188bf02f3682baa204,
+    type: 2}
+  m_PrefabInternal: {fileID: 359685852}
+--- !u!4 &1752990998 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4346840500143702, guid: 455b404c52d7d4188bf02f3682baa204,
+    type: 2}
+  m_PrefabInternal: {fileID: 359685852}
+--- !u!1 &2045406692 stripped
+GameObject:
+  m_PrefabParentObject: {fileID: 1414772738660142, guid: ad2f8ea2bac7e4117ad509404bab9f73,
+    type: 2}
+  m_PrefabInternal: {fileID: 1657884802}
+--- !u!4 &2045406693 stripped
+Transform:
+  m_PrefabParentObject: {fileID: 4266624117467130, guid: ad2f8ea2bac7e4117ad509404bab9f73,
+    type: 2}
+  m_PrefabInternal: {fileID: 1657884802}
+--- !u!1 &2134794026
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2134794027}
+  - component: {fileID: 2134794030}
+  - component: {fileID: 2134794029}
+  - component: {fileID: 2134794028}
+  m_Layer: 0
+  m_Name: ZAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2134794027
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2134794026}
+  m_LocalRotation: {x: 0.49999562, y: 0.5000044, z: 0.49999562, w: 0.5000044}
+  m_LocalPosition: {x: -0.05, y: 0, z: 1}
+  m_LocalScale: {x: 0.03270111, y: 1.3080443, z: 0.032701112}
+  m_Children: []
+  m_Father: {fileID: 732268497}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 90, z: 89.999}
+--- !u!23 &2134794028
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2134794026}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: d55ccb0db00e54a1696c1e96094d706d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &2134794029
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2134794026}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &2134794030
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2134794026}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareScene.unity.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareScene.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3a2976d941f28dd56abc00e821e213c5ddc81dd5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/FocusSquareScene.unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3c9ef824a7b95400bade362484e9b6af
+timeCreated: 1504393453
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focuspulse.anim b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focuspulse.anim
new file mode 100644
index 0000000000000000000000000000000000000000..f4afacb267bc437dea34feeb6d98e72b01ba4d1a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focuspulse.anim
@@ -0,0 +1,169 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_Name: focuspulse
+  serializedVersion: 6
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: {x: 1, y: 1, z: 1}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 0.5
+        value: {x: 0.5, y: 0.5, z: 0.5}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+      - serializedVersion: 2
+        time: 1
+        value: {x: 1, y: 1, z: 1}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    path: 
+  m_FloatCurves: []
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 0.5
+        value: 0.5
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.x
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 0.5
+        value: 0.5
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.y
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 2
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 0.5
+        value: 0.5
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      - serializedVersion: 2
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.z
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_GenerateMotionCurves: 0
+  m_Events: []
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focuspulse.anim.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focuspulse.anim.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c28182d78d14dcc0f396853c505aa71173323d8e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focuspulse.anim.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 30f10be4bda0f4d1bb27b0f1ef492dcc
+timeCreated: 1504634087
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 7400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquare.png b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquare.png
new file mode 100644
index 0000000000000000000000000000000000000000..81d80fb84f20f6c30a63ffcd756565e75385d628
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquare.png differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquare.png.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquare.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6448295f84793fcd965923554945eab5b1da5456
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquare.png.meta
@@ -0,0 +1,98 @@
+fileFormatVersion: 2
+guid: 6f12b022b96934e8496f32281cfe574c
+timeCreated: 1504393650
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Standalone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: iPhone
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  - buildTarget: Android
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c33ddccf124029932df3e8401248d9d6b0b189e
Binary files /dev/null and b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png differ
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..570790f98d9bd30527bcc4215bb5ac8342fe4196
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/FocusSquare/focussquarefound.png.meta
@@ -0,0 +1,74 @@
+fileFormatVersion: 2
+guid: 4e0e8b7bcde33420a8c2731e0f3fbd57
+timeCreated: 1504402917
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6633ba58db4160c14710596905401b93749cac9a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 81c8e3240e6624a1c9c093d35f99d1cf
+folderAsset: yes
+timeCreated: 1503626045
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene/UnityARKitScene.unity b/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene/UnityARKitScene.unity
new file mode 100644
index 0000000000000000000000000000000000000000..b36ae1287b77012e816ebb2d120bdb9493ed8653
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene/UnityARKitScene.unity
@@ -0,0 +1,1036 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 8
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 0}
+  m_AmbientEquatorColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientGroundColor: {r: 0.098908, g: 0.100485, b: 0.119403, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 3
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &4
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_TemporalCoherenceThreshold: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 8
+    m_Resolution: 1
+    m_BakeResolution: 50
+    m_TextureWidth: 1024
+    m_TextureHeight: 1024
+    m_AO: 1
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 0
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 1
+    m_BakeBackend: 0
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 500
+    m_PVRBounces: 2
+    m_PVRFiltering: 0
+    m_PVRFilteringMode: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousColorSigma: 1
+    m_PVRFilteringAtrousNormalSigma: 1
+    m_PVRFilteringAtrousPositionSigma: 1
+  m_LightingDataAsset: {fileID: 0}
+  m_ShadowMaskMode: 2
+--- !u!196 &5
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.4
+    agentHeight: 1.8
+    agentSlope: 45
+    agentClimb: 0.9
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.13333333
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &7
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 9}
+  - component: {fileID: 10}
+  - component: {fileID: 12}
+  - component: {fileID: 13}
+  - component: {fileID: 11}
+  - component: {fileID: 8}
+  - component: {fileID: 14}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &8
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!4 &9
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 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_Children: []
+  m_Father: {fileID: 229804521}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &10
+Camera:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 3
+  m_BackGroundColor: {r: 0.19788063, g: 0.2953552, b: 0.44852942, a: 0.019608}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.1
+  far clip plane: 30
+  field of view: 60
+  orthographic: 0
+  orthographic size: 100
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 0
+  m_AllowMSAA: 1
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+  m_StereoMirrorMode: 0
+--- !u!81 &11
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+--- !u!92 &12
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+--- !u!124 &13
+Behaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+--- !u!114 &14
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 7}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ce437cef046e841aabd6070890e79d41, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &16
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 20}
+  - component: {fileID: 29}
+  - component: {fileID: 17}
+  m_Layer: 0
+  m_Name: Directional light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &17
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 16}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5587c957048494a2f96db36e0995449e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!4 &20
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 16}
+  m_LocalRotation: {x: -0.31668198, y: -0.33227497, z: 0.119525984, w: -0.8803519}
+  m_LocalPosition: {x: -2.359002, y: 2.21, z: -3.580904}
+  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}
+--- !u!108 &29
+Light:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 16}
+  m_Enabled: 1
+  serializedVersion: 8
+  m_Type: 1
+  m_Color: {r: 1, g: 0.997495, b: 0.955224, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 0
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_Lightmapping: 1
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!1 &229804520
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 229804521}
+  m_Layer: 0
+  m_Name: CameraParent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &229804521
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 229804520}
+  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:
+  - {fileID: 9}
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &481742511
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 481742512}
+  - component: {fileID: 481742513}
+  m_Layer: 0
+  m_Name: PointCloudParticleExample
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &481742512
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 481742511}
+  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: 8
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &481742513
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 481742511}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ec20d460fbb7e4f92b4d84a10da98cd9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  pointCloudParticlePrefab: {fileID: 198314236125653888, guid: 87db9decf4b3e4cb8bf3eea22ccd37f5,
+    type: 2}
+  maxPointsToShow: 10000
+  particleSize: 0.01
+--- !u!1 &555720247
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 555720248}
+  - component: {fileID: 555720249}
+  m_Layer: 0
+  m_Name: AR3DOFCameraManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &555720248
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 555720247}
+  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: 9
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &555720249
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 555720247}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0ff614c6973544218b2c1e3036b8de0a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_camera: {fileID: 10}
+--- !u!23 &732268494
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 922811256}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 66fbc43c67b564bb4a4c2c2dcd6c1970, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &732268495
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 922811256}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &732268496
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 922811256}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &732268497
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 922811256}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 1}
+  m_LocalScale: {x: 0.3058, y: 0.3058, z: 0.3058}
+  m_Children:
+  - {fileID: 1563586580}
+  - {fileID: 985089624}
+  - {fileID: 2134794027}
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &922811256
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 732268497}
+  - component: {fileID: 732268496}
+  - component: {fileID: 732268495}
+  - component: {fileID: 732268494}
+  m_Layer: 0
+  m_Name: RandomCube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &985089623
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 985089624}
+  - component: {fileID: 985089627}
+  - component: {fileID: 985089626}
+  - component: {fileID: 985089625}
+  m_Layer: 0
+  m_Name: XAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &985089624
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 985089623}
+  m_LocalRotation: {x: -0.0000037178397, y: 0.0000024586916, z: -0.7071033, w: -0.7071102}
+  m_LocalPosition: {x: 1, y: 0, z: 0}
+  m_LocalScale: {x: 0.03270111, y: 1.3080443, z: 0.03270111}
+  m_Children: []
+  m_Father: {fileID: 732268497}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 10.865001, y: 2.6820002, z: 90}
+--- !u!23 &985089625
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 985089623}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: aaae8be92ba59487a9946818d7a2017f, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &985089626
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 985089623}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &985089627
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 985089623}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1052679867
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1052679871}
+  - component: {fileID: 1052679870}
+  - component: {fileID: 1052679869}
+  - component: {fileID: 1052679868}
+  - component: {fileID: 1052679872}
+  m_Layer: 0
+  m_Name: HitCube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!23 &1052679868
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1052679867}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &1052679869
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1052679867}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &1052679870
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1052679867}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1052679871
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1052679867}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.5, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 1286139108}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1052679872
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1052679867}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6941ec02ead994c9b848d640887441f1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HitTransform: {fileID: 1286139108}
+--- !u!1 &1121666029
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1121666033}
+  - component: {fileID: 1121666030}
+  m_Layer: 0
+  m_Name: ARCameraManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1121666030
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1121666029}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_camera: {fileID: 10}
+--- !u!4 &1121666033
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1121666029}
+  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: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1153389248
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1153389250}
+  - component: {fileID: 1153389249}
+  m_Layer: 0
+  m_Name: ARKitControl
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1153389249
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1153389248}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4977b930c0f8843c8b8a101ba5bf3c8f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!4 &1153389250
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1153389248}
+  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: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1286139107
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1286139108}
+  m_Layer: 0
+  m_Name: HitCubeParent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1286139108
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1286139107}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: -0, z: -2.98}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_Children:
+  - {fileID: 1052679871}
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1308259102
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1308259104}
+  - component: {fileID: 1308259103}
+  m_Layer: 0
+  m_Name: GeneratePlanes
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1308259103
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1308259102}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31cac8edf84834043ac167deaeba16a9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  planePrefab: {fileID: 1372998203143648, guid: f879aaf3eeb0c467eb22cbaf08dc97a4,
+    type: 2}
+--- !u!4 &1308259104
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1308259102}
+  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: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1563586579
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 1563586580}
+  - component: {fileID: 1563586583}
+  - component: {fileID: 1563586582}
+  - component: {fileID: 1563586581}
+  m_Layer: 0
+  m_Name: YAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1563586580
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1563586579}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: 0}
+  m_LocalScale: {x: 0.03270111, y: 1.3080444, z: 0.032701116}
+  m_Children: []
+  m_Father: {fileID: 732268497}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &1563586581
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1563586579}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: 8fa2e9e7c08844dd4a8d581610839228, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &1563586582
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1563586579}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &1563586583
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 1563586579}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &2101518924
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2101518926}
+  - component: {fileID: 2101518925}
+  m_Layer: 0
+  m_Name: PointCloudExample
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!114 &2101518925
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2101518924}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c5ab0fdfbf2334e8dbbcdda6ceada7e3, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  numPointsToShow: 400
+  PointCloudPrefab: {fileID: 1845574417345784, guid: 02d2a544d8d594d30b790e76398d0873,
+    type: 2}
+--- !u!4 &2101518926
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2101518924}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0.16720128, y: 0.18012214, z: 1.1454113}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2134794026
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 2134794027}
+  - component: {fileID: 2134794030}
+  - component: {fileID: 2134794029}
+  - component: {fileID: 2134794028}
+  m_Layer: 0
+  m_Name: ZAxis
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2134794027
+Transform:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2134794026}
+  m_LocalRotation: {x: 0.49999562, y: 0.5000044, z: 0.49999562, w: 0.5000044}
+  m_LocalPosition: {x: -0.05, y: 0, z: 1}
+  m_LocalScale: {x: 0.03270111, y: 1.3080443, z: 0.032701112}
+  m_Children: []
+  m_Father: {fileID: 732268497}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 90, z: 89.999}
+--- !u!23 &2134794028
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2134794026}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_Materials:
+  - {fileID: 2100000, guid: d55ccb0db00e54a1696c1e96094d706d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 1
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+--- !u!65 &2134794029
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2134794026}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &2134794030
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 2134794026}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene/UnityARKitScene.unity.meta b/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene/UnityARKitScene.unity.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1830f73ede57a9134d55ac2ab62b5f63164848fb
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Examples/UnityARKitScene/UnityARKitScene.unity.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: c159f2591a9b5c843b0a0442451f78f8
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a919bb362e557c5ef3f872a431b7e7373526a781
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 05a89afb32ff4cd48a0278f931aa903b
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c567747f6fb2bcee1c0f172ff43b20223de9461b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 20ca1a77fe0cf4e049dac6d2a8afd62e
+folderAsset: yes
+timeCreated: 1492036260
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5253052ce3faa29fb9620b8f1b273988dcf275c1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b8fd2eea89786441a84b5c25c1d48982
+folderAsset: yes
+timeCreated: 1492103332
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b4efc4e68ad22ae782f718e49ec1d5abe3a82b87
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor.meta
@@ -0,0 +1,5 @@
+fileFormatVersion: 2
+guid: 085eeda524261654b88f97ea61b33090
+folderAsset: yes
+DefaultImporter:
+  userData: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..299f941b0179586e3fe84cfb7b4ec7aad74aa215
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs
@@ -0,0 +1,132 @@
+using UnityEngine;
+using UnityEditor;
+using UnityEditor.Callbacks;
+#if UNITY_IOS
+using UnityEditor.iOS.Xcode;
+#endif
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.RegularExpressions;
+using System;
+
+public class UnityARBuildPostprocessor
+{
+	// Build postprocessor. Currently only needed on:
+	// - iOS: no dynamic libraries, so plugin source files have to be copied into Xcode project
+	[PostProcessBuild]
+	public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
+	{
+		if (target == BuildTarget.iOS)
+			OnPostprocessBuildIOS(pathToBuiltProject);
+	}
+
+	private static UnityARKitPluginSettings LoadSettings()
+	{
+		UnityARKitPluginSettings loadedSettings = Resources.Load<UnityARKitPluginSettings> ("UnityARKitPlugin/ARKitSettings");
+		if (loadedSettings == null) {
+			loadedSettings = ScriptableObject.CreateInstance<UnityARKitPluginSettings> ();
+		}
+		return loadedSettings;
+	}
+
+	// Replaces the first C++ macro with the given name in the source file. Only changes
+	// single-line macro declarations, if multi-line macro declaration is detected, the
+	// function returns without changing it. Macro name must be a valid C++ identifier.
+	internal static bool ReplaceCppMacro(string[] lines, string name, string newValue)
+	{
+		bool replaced = false;
+		Regex matchRegex = new Regex(@"^.*#\s*define\s+" + name);
+		Regex replaceRegex = new Regex(@"^.*#\s*define\s+" + name + @"(:?|\s|\s.*[^\\])$");
+		for (int i = 0; i < lines.Count(); i++)
+		{
+			if (matchRegex.Match (lines [i]).Success) {
+				lines [i] = replaceRegex.Replace (lines [i], "#define " + name + " " + newValue);
+				replaced = true;
+			}
+		}
+		return replaced;
+	}
+
+	internal static void AddOrReplaceCppMacro(ref string[] lines, string name, string newValue)
+	{
+		if (ReplaceCppMacro (lines, name, newValue) == false) {
+			Array.Resize(ref lines, lines.Length + 1);
+			lines[lines.Length - 1] = "#define " + name + " " + newValue;
+		}
+	}
+
+	static void UpdateDefinesInFile(string file, Dictionary<string, bool> valuesToUpdate)
+	{
+		string[] src = File.ReadAllLines(file);
+		var copy = (string[])src.Clone();
+
+		foreach (var kvp in valuesToUpdate)
+			AddOrReplaceCppMacro(ref copy, kvp.Key, kvp.Value ? "1" : "0");
+
+		if (!copy.SequenceEqual(src))
+			File.WriteAllLines(file, copy);
+	}
+
+	private static void OnPostprocessBuildIOS(string pathToBuiltProject)
+	{
+		// We use UnityEditor.iOS.Xcode API which only exists in iOS editor module
+		#if UNITY_IOS
+
+		string projPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
+
+		UnityEditor.iOS.Xcode.PBXProject proj = new UnityEditor.iOS.Xcode.PBXProject();
+		proj.ReadFromString(File.ReadAllText(projPath));
+		proj.AddFrameworkToProject(proj.TargetGuidByName("Unity-iPhone"), "ARKit.framework", false);
+		string target = proj.TargetGuidByName("Unity-iPhone");
+		Directory.CreateDirectory(Path.Combine(pathToBuiltProject, "Libraries/Unity"));
+
+		// Check UnityARKitPluginSettings
+		UnityARKitPluginSettings ps = LoadSettings();
+		string plistPath = Path.Combine(pathToBuiltProject, "Info.plist");
+		PlistDocument plist = new PlistDocument();
+		plist.ReadFromString(File.ReadAllText(plistPath));
+		PlistElementDict rootDict = plist.root;
+
+		// Get or create array to manage device capabilities
+		const string capsKey = "UIRequiredDeviceCapabilities";
+		PlistElementArray capsArray;
+		PlistElement pel;
+		if (rootDict.values.TryGetValue(capsKey, out pel)) {
+			capsArray = pel.AsArray();
+		}
+		else {
+			capsArray = rootDict.CreateArray(capsKey);
+		}
+		// Remove any existing "arkit" plist entries
+		const string arkitStr = "arkit";
+		capsArray.values.RemoveAll(x => arkitStr.Equals(x.AsString()));
+		if (ps.AppRequiresARKit) {
+			// Add "arkit" plist entry
+			capsArray.AddString(arkitStr);
+		}
+		File.WriteAllText(plistPath, plist.WriteToString());
+
+		// Add or replace define for facetracking
+		UpdateDefinesInFile(pathToBuiltProject + "/Classes/Preprocessor.h", new Dictionary<string, bool>() {
+			{ "ARKIT_USES_FACETRACKING", ps.m_ARKitUsesFacetracking }
+		});
+
+		string[] filesToCopy = new string[]
+		{
+			
+		};
+
+		for(int i = 0 ; i < filesToCopy.Length ; ++i)
+		{
+			var srcPath = Path.Combine("../PluginSource/source", filesToCopy[i]);
+			var dstLocalPath = "Libraries/" + filesToCopy[i];
+			var dstPath = Path.Combine(pathToBuiltProject, dstLocalPath);
+			File.Copy(srcPath, dstPath, true);
+			proj.AddFileToBuild(target, proj.AddFile(dstLocalPath, dstLocalPath));
+		}
+
+		File.WriteAllText(projPath, proj.WriteToString());
+		#endif // #if UNITY_IOS
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..19bb10b7118761679fc01cc8a34011888459b2fa
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a56f8b807c15f4cf3a44275a5e5f89f3
+timeCreated: 1492795428
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ebbfde229c3f3fb70a75c7437e443960ea6fcf57
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1e4b720fdfe6441c280f3288bdb93c0d
+folderAsset: yes
+timeCreated: 1503626042
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9c93caf14b292a28611d987aeb67ef57656316da
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs
@@ -0,0 +1,74 @@
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+public class AR3DOFCameraManager : MonoBehaviour {
+
+    public Camera m_camera;
+    private UnityARSessionNativeInterface m_session;
+    private Material savedClearMaterial;
+
+    // Use this for initialization
+    void Start () {
+#if !UNITY_EDITOR
+        Application.targetFrameRate = 60;
+        m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+        ARKitSessionConfiguration config = new ARKitSessionConfiguration();
+        config.alignment = UnityARAlignment.UnityARAlignmentGravity;
+        config.getPointCloudData = true;
+        config.enableLightEstimation = true;
+        m_session.RunWithConfig(config);
+
+        if (m_camera == null) {
+            m_camera = Camera.main;
+        }
+#endif
+    }
+
+    public void SetCamera(Camera newCamera)
+    {
+        if (m_camera != null) {
+            UnityARVideo oldARVideo = m_camera.gameObject.GetComponent<UnityARVideo> ();
+            if (oldARVideo != null) {
+                savedClearMaterial = oldARVideo.m_ClearMaterial;
+                Destroy (oldARVideo);
+            }
+        }
+        SetupNewCamera (newCamera);
+    }
+
+    private void SetupNewCamera(Camera newCamera)
+    {
+        m_camera = newCamera;
+
+        if (m_camera != null) {
+            UnityARVideo unityARVideo = m_camera.gameObject.GetComponent<UnityARVideo> ();
+            if (unityARVideo != null) {
+                savedClearMaterial = unityARVideo.m_ClearMaterial;
+                Destroy (unityARVideo);
+            }
+            unityARVideo = m_camera.gameObject.AddComponent<UnityARVideo> ();
+            unityARVideo.m_ClearMaterial = savedClearMaterial;
+        }
+    }
+
+    // Update is called once per frame
+
+#if !UNITY_EDITOR
+    void Update () {
+
+        if (m_camera != null)
+        {
+            // JUST WORKS!
+            Matrix4x4 matrix = m_session.GetCameraPose();
+            m_camera.transform.localPosition = UnityARMatrixOps.GetPosition(matrix);
+            m_camera.transform.localRotation = UnityARMatrixOps.GetRotation (matrix);
+            m_camera.projectionMatrix = m_session.GetCameraProjection ();
+        }
+
+    }
+#endif
+
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ec8ad35219886e354db23d290e09e4a41fd25899
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0ff614c6973544218b2c1e3036b8de0a
+timeCreated: 1494626284
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3aee8d6029ab3a61e80b4ee1c911d77533f340a3
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public class ARPlaneAnchorGameObject
+	{
+		public GameObject gameObject;
+		public ARPlaneAnchor planeAnchor;
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..26a06e47c51e9b43392c0f6559d6076baa7e716f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6a07258b16ace4bf1a395aa0a80f2135
+timeCreated: 1493059957
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs
new file mode 100644
index 0000000000000000000000000000000000000000..40741387f95d1a53094cbef5d62d4a7534d6b0e6
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs
@@ -0,0 +1,16 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class DontDestroyOnLoad : MonoBehaviour {
+
+	// Use this for initialization
+	void Start () {
+        DontDestroyOnLoad (gameObject);
+	}
+	
+	// Update is called once per frame
+	void Update () {
+		
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b6401748c00e48ea292ecbfd1a32b77a6ff4bd04
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 562a9fe49bfc2418099790a804f22711
+timeCreated: 1493408595
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f770e1bba2e642c71676b9498b8dc60852dfedbf
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs
@@ -0,0 +1,50 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+public class PointCloudParticleExample : MonoBehaviour {
+    public ParticleSystem pointCloudParticlePrefab;
+    public int maxPointsToShow;
+    public float particleSize = 1.0f;
+    private Vector3[] m_PointCloudData;
+    private bool frameUpdated = false;
+    private ParticleSystem currentPS;
+    private ParticleSystem.Particle [] particles;
+
+	// Use this for initialization
+	void Start () {
+        UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+        currentPS = Instantiate (pointCloudParticlePrefab);
+        frameUpdated = false;
+	}
+	
+    public void ARFrameUpdated(UnityARCamera camera)
+    {
+        m_PointCloudData = camera.pointCloudData;
+        frameUpdated = true;
+    }
+
+	// Update is called once per frame
+	void Update () {
+        if (frameUpdated) {
+            if (m_PointCloudData != null && m_PointCloudData.Length > 0) {
+                int numParticles = Mathf.Min (m_PointCloudData.Length, maxPointsToShow);
+                ParticleSystem.Particle[] particles = new ParticleSystem.Particle[numParticles];
+                int index = 0;
+                foreach (Vector3 currentPoint in m_PointCloudData) {     
+                    particles [index].position = currentPoint;
+                    particles [index].startColor = new Color (1.0f, 1.0f, 1.0f);
+                    particles [index].startSize = particleSize;
+                    index++;
+                }
+                currentPS.SetParticles (particles, numParticles);
+            } else {
+                ParticleSystem.Particle[] particles = new ParticleSystem.Particle[1];
+                particles [0].startSize = 0.0f;
+                currentPS.SetParticles (particles, 1);
+            }
+            frameUpdated = false;
+        }
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3eefcb18e10abb7baefe10edbe1f5f1bd4952b84
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ec20d460fbb7e4f92b4d84a10da98cd9
+timeCreated: 1494006942
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c2419e73d83d1e1a0318208a9b7262496cc1da74
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs
@@ -0,0 +1,36 @@
+using System.Runtime.InteropServices;
+using UnityEngine.XR.iOS;
+
+namespace UnityEngine.XR.iOS
+{
+    public class UnityARAmbient : MonoBehaviour
+    {
+
+        private Light l;
+
+        public void Start()
+        {
+            l = GetComponent<Light>();
+			UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateLightEstimation;
+        }
+
+		void UpdateLightEstimation(UnityARCamera camera)
+		{
+			if (camera.lightData.arLightingType == LightDataType.LightEstimate) {
+				// Convert ARKit intensity to Unity intensity
+				// ARKit ambient intensity ranges 0-2000
+				// Unity ambient intensity ranges 0-8 (for over-bright lights)
+				float newai = camera.lightData.arLightEstimate.ambientIntensity;
+				l.intensity = newai / 1000.0f;
+
+				//Unity Light has functionality to filter the light color to correct temperature
+				//https://docs.unity3d.com/ScriptReference/Light-colorTemperature.html
+				l.colorTemperature = camera.lightData.arLightEstimate.ambientColorTemperature;
+			}
+		}
+
+		void OnDestroy() {
+			UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateLightEstimation;
+		}
+    }
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..342d9762ce9ecb27d833134b7c7fcc8799dcf10f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 5587c957048494a2f96db36e0995449e
+timeCreated: 1492805300
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAnchorManager.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAnchorManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..503551383dc8dba8d5f346c98734e7affe68fbea
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAnchorManager.cs
@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace UnityEngine.XR.iOS
+{
+	public class UnityARAnchorManager 
+	{
+
+
+		private Dictionary<string, ARPlaneAnchorGameObject> planeAnchorMap;
+
+
+        public UnityARAnchorManager ()
+		{
+			planeAnchorMap = new Dictionary<string,ARPlaneAnchorGameObject> ();
+			UnityARSessionNativeInterface.ARAnchorAddedEvent += AddAnchor;
+			UnityARSessionNativeInterface.ARAnchorUpdatedEvent += UpdateAnchor;
+			UnityARSessionNativeInterface.ARAnchorRemovedEvent += RemoveAnchor;
+
+		}
+
+
+		public void AddAnchor(ARPlaneAnchor arPlaneAnchor)
+		{
+			GameObject go = UnityARUtility.CreatePlaneInScene (arPlaneAnchor);
+			go.AddComponent<DontDestroyOnLoad> ();  //this is so these GOs persist across scene loads
+			ARPlaneAnchorGameObject arpag = new ARPlaneAnchorGameObject ();
+			arpag.planeAnchor = arPlaneAnchor;
+			arpag.gameObject = go;
+			planeAnchorMap.Add (arPlaneAnchor.identifier, arpag);
+		}
+
+		public void RemoveAnchor(ARPlaneAnchor arPlaneAnchor)
+		{
+			if (planeAnchorMap.ContainsKey (arPlaneAnchor.identifier)) {
+				ARPlaneAnchorGameObject arpag = planeAnchorMap [arPlaneAnchor.identifier];
+				GameObject.Destroy (arpag.gameObject);
+				planeAnchorMap.Remove (arPlaneAnchor.identifier);
+			}
+		}
+
+		public void UpdateAnchor(ARPlaneAnchor arPlaneAnchor)
+		{
+			if (planeAnchorMap.ContainsKey (arPlaneAnchor.identifier)) {
+				ARPlaneAnchorGameObject arpag = planeAnchorMap [arPlaneAnchor.identifier];
+				UnityARUtility.UpdatePlaneWithAnchorTransform (arpag.gameObject, arPlaneAnchor);
+				arpag.planeAnchor = arPlaneAnchor;
+				planeAnchorMap [arPlaneAnchor.identifier] = arpag;
+			}
+		}
+
+        public void UnsubscribeEvents()
+        {
+            UnityARSessionNativeInterface.ARAnchorAddedEvent -= AddAnchor;
+            UnityARSessionNativeInterface.ARAnchorUpdatedEvent -= UpdateAnchor;
+            UnityARSessionNativeInterface.ARAnchorRemovedEvent -= RemoveAnchor;
+        }
+
+        public void Destroy()
+        {
+            foreach (ARPlaneAnchorGameObject arpag in GetCurrentPlaneAnchors()) {
+                GameObject.Destroy (arpag.gameObject);
+            }
+
+            planeAnchorMap.Clear ();
+            UnsubscribeEvents();
+        }
+
+		public List<ARPlaneAnchorGameObject> GetCurrentPlaneAnchors()
+		{
+			return planeAnchorMap.Values.ToList ();
+		}
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAnchorManager.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAnchorManager.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b5de8fa90ff521fe32dcf1e3207a04328f394a83
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAnchorManager.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 00b197bb73412448e9a5e14be146aaeb
+timeCreated: 1492557010
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..439df9f42cea01c440bbc19641ccc3cc5b6d4081
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs
@@ -0,0 +1,90 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+public class UnityARCameraManager : MonoBehaviour {
+
+    public Camera m_camera;
+    private UnityARSessionNativeInterface m_session;
+	private Material savedClearMaterial;
+
+	[Header("AR Config Options")]
+	public UnityARAlignment startAlignment = UnityARAlignment.UnityARAlignmentGravity;
+	public UnityARPlaneDetection planeDetection = UnityARPlaneDetection.Horizontal;
+	public bool getPointCloud = true;
+	public bool enableLightEstimation = true;
+
+	// Use this for initialization
+	void Start () {
+
+		m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+
+#if !UNITY_EDITOR
+		Application.targetFrameRate = 60;
+        ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration();
+		config.planeDetection = planeDetection;
+		config.alignment = startAlignment;
+		config.getPointCloudData = getPointCloud;
+		config.enableLightEstimation = enableLightEstimation;
+        m_session.RunWithConfig(config);
+
+		if (m_camera == null) {
+			m_camera = Camera.main;
+		}
+#else
+		//put some defaults so that it doesnt complain
+		UnityARCamera scamera = new UnityARCamera ();
+		scamera.worldTransform = new UnityARMatrix4x4 (new Vector4 (1, 0, 0, 0), new Vector4 (0, 1, 0, 0), new Vector4 (0, 0, 1, 0), new Vector4 (0, 0, 0, 1));
+		Matrix4x4 projMat = Matrix4x4.Perspective (60.0f, 1.33f, 0.1f, 30.0f);
+		scamera.projectionMatrix = new UnityARMatrix4x4 (projMat.GetColumn(0),projMat.GetColumn(1),projMat.GetColumn(2),projMat.GetColumn(3));
+
+		UnityARSessionNativeInterface.SetStaticCamera (scamera);
+
+#endif
+	}
+
+	public void SetCamera(Camera newCamera)
+	{
+		if (m_camera != null) {
+			UnityARVideo oldARVideo = m_camera.gameObject.GetComponent<UnityARVideo> ();
+			if (oldARVideo != null) {
+				savedClearMaterial = oldARVideo.m_ClearMaterial;
+				Destroy (oldARVideo);
+			}
+		}
+		SetupNewCamera (newCamera);
+	}
+
+	private void SetupNewCamera(Camera newCamera)
+	{
+		m_camera = newCamera;
+
+        if (m_camera != null) {
+            UnityARVideo unityARVideo = m_camera.gameObject.GetComponent<UnityARVideo> ();
+            if (unityARVideo != null) {
+                savedClearMaterial = unityARVideo.m_ClearMaterial;
+                Destroy (unityARVideo);
+            }
+            unityARVideo = m_camera.gameObject.AddComponent<UnityARVideo> ();
+            unityARVideo.m_ClearMaterial = savedClearMaterial;
+        }
+	}
+
+	// Update is called once per frame
+
+	void Update () {
+		
+        if (m_camera != null)
+        {
+            // JUST WORKS!
+            Matrix4x4 matrix = m_session.GetCameraPose();
+			m_camera.transform.localPosition = UnityARMatrixOps.GetPosition(matrix);
+			m_camera.transform.localRotation = UnityARMatrixOps.GetRotation (matrix);
+
+            m_camera.projectionMatrix = m_session.GetCameraProjection ();
+        }
+
+	}
+
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..72b75395d921ad3e39555180ff052e4a25e81d02
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 462d46d2423bb4f738d2497a397b1590
+timeCreated: 1493058653
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7a3fa155588cd3c5cac496cef329d827f285edb8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs
@@ -0,0 +1,32 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+[RequireComponent(typeof(Camera))]
+public class UnityARCameraNearFar : MonoBehaviour {
+
+	private Camera attachedCamera;
+	private float currentNearZ;
+	private float currentFarZ;
+
+	// Use this for initialization
+	void Start () {
+		attachedCamera = GetComponent<Camera> ();
+		UpdateCameraClipPlanes ();
+	}
+
+	void UpdateCameraClipPlanes()
+	{
+		currentNearZ = attachedCamera.nearClipPlane;
+		currentFarZ = attachedCamera.farClipPlane;
+		UnityARSessionNativeInterface.GetARSessionNativeInterface ().SetCameraClipPlanes (currentNearZ, currentFarZ);
+	}
+	
+	// Update is called once per frame
+	void Update () {
+		if (currentNearZ != attachedCamera.nearClipPlane || currentFarZ != attachedCamera.farClipPlane) {
+			UpdateCameraClipPlanes ();
+		}
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8614b2f11c6e9a0ad963e790ec2aa432915bd237
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ce437cef046e841aabd6070890e79d41
+timeCreated: 1496930896
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARGeneratePlane.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARGeneratePlane.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ab4534a7a5f2cf807c2a7f5805c3cd13eb7ea0e5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARGeneratePlane.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+
+namespace UnityEngine.XR.iOS
+{
+	public class UnityARGeneratePlane : MonoBehaviour
+	{
+		public GameObject planePrefab;
+        private UnityARAnchorManager unityARAnchorManager;
+
+		// Use this for initialization
+		void Start () {
+            unityARAnchorManager = new UnityARAnchorManager();
+			UnityARUtility.InitializePlanePrefab (planePrefab);
+		}
+
+        void OnDestroy()
+        {
+            unityARAnchorManager.Destroy ();
+        }
+
+        void OnGUI()
+        {
+            List<ARPlaneAnchorGameObject> arpags = unityARAnchorManager.GetCurrentPlaneAnchors ();
+            if (arpags.Count >= 1) {
+                //ARPlaneAnchor ap = arpags [0].planeAnchor;
+                //GUI.Box (new Rect (100, 100, 800, 60), string.Format ("Center: x:{0}, y:{1}, z:{2}", ap.center.x, ap.center.y, ap.center.z));
+                //GUI.Box(new Rect(100, 200, 800, 60), string.Format ("Extent: x:{0}, y:{1}, z:{2}", ap.extent.x, ap.extent.y, ap.extent.z));
+            }
+        }
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARGeneratePlane.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARGeneratePlane.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d1b20feab93578279dc6b17afb53a7bc325894b4
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARGeneratePlane.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 31cac8edf84834043ac167deaeba16a9
+timeCreated: 1493058396
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..07a9afc1b974269c2703079e8bf1f110d8cfa9f0
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs
@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+
+namespace UnityEngine.XR.iOS
+{
+	public class UnityARHitTestExample : MonoBehaviour
+	{
+		public Transform m_HitTransform;
+
+        bool HitTestWithResultType (ARPoint point, ARHitTestResultType resultTypes)
+        {
+            List<ARHitTestResult> hitResults = UnityARSessionNativeInterface.GetARSessionNativeInterface ().HitTest (point, resultTypes);
+            if (hitResults.Count > 0) {
+                foreach (var hitResult in hitResults) {
+                    Debug.Log ("Got hit!");
+                    m_HitTransform.position = UnityARMatrixOps.GetPosition (hitResult.worldTransform);
+                    m_HitTransform.rotation = UnityARMatrixOps.GetRotation (hitResult.worldTransform);
+                    Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", m_HitTransform.position.x, m_HitTransform.position.y, m_HitTransform.position.z));
+                    return true;
+                }
+            }
+            return false;
+        }
+		
+		// Update is called once per frame
+		void Update () {
+			if (Input.touchCount > 0 && m_HitTransform != null)
+			{
+				var touch = Input.GetTouch(0);
+				if (touch.phase == TouchPhase.Began || touch.phase == TouchPhase.Moved)
+				{
+					var screenPosition = Camera.main.ScreenToViewportPoint(touch.position);
+					ARPoint point = new ARPoint {
+						x = screenPosition.x,
+						y = screenPosition.y
+					};
+
+                    // prioritize reults types
+                    ARHitTestResultType[] resultTypes = {
+                        ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent, 
+                        // if you want to use infinite planes use this:
+                        //ARHitTestResultType.ARHitTestResultTypeExistingPlane,
+                        ARHitTestResultType.ARHitTestResultTypeHorizontalPlane, 
+                        ARHitTestResultType.ARHitTestResultTypeFeaturePoint
+                    }; 
+					
+                    foreach (ARHitTestResultType resultType in resultTypes)
+                    {
+                        if (HitTestWithResultType (point, resultType))
+                        {
+                            return;
+                        }
+                    }
+				}
+			}
+		}
+
+	
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..065d7b078d6acdd271ece30d4c136930ec5f1155
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6941ec02ead994c9b848d640887441f1
+timeCreated: 1492806244
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6a565cdd0fac61e29f4cf1f665625e6fc85205b2
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs
@@ -0,0 +1,72 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityEngine.XR.iOS
+{
+    public class UnityARKitControl : MonoBehaviour {
+
+        UnityARSessionRunOption [] runOptions = new UnityARSessionRunOption[4];
+        UnityARAlignment [] alignmentOptions = new UnityARAlignment[3];
+        UnityARPlaneDetection [] planeOptions = new UnityARPlaneDetection[4];
+
+        int currentOptionIndex = 0;
+        int currentAlignmentIndex = 0;
+        int currentPlaneIndex = 0;
+
+    	// Use this for initialization
+    	void Start () {
+            runOptions [0] = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors | UnityARSessionRunOption.ARSessionRunOptionResetTracking;
+            runOptions [1] = UnityARSessionRunOption.ARSessionRunOptionResetTracking;
+            runOptions [2] = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors;
+            runOptions [3] = 0;
+
+            alignmentOptions [0] = UnityARAlignment.UnityARAlignmentCamera;
+            alignmentOptions [1] = UnityARAlignment.UnityARAlignmentGravity;
+            alignmentOptions [2] = UnityARAlignment.UnityARAlignmentGravityAndHeading;
+
+            planeOptions [0] = UnityARPlaneDetection.Horizontal;
+            planeOptions [1] = UnityARPlaneDetection.None;
+
+    	}
+    	
+    	// Update is called once per frame
+    	void Update () {
+    		
+    	}
+
+        void OnGUI()
+        {
+            if (GUI.Button (new Rect (100, 100, 200, 50), "Stop")) {
+                UnityARSessionNativeInterface.GetARSessionNativeInterface ().Pause ();
+            }
+
+            if (GUI.Button (new Rect (300, 100, 200, 50), "Start")) {
+                ARKitWorldTrackingSessionConfiguration sessionConfig = new ARKitWorldTrackingSessionConfiguration (alignmentOptions [currentAlignmentIndex], planeOptions[currentPlaneIndex]);
+                UnityARSessionNativeInterface.GetARSessionNativeInterface ().RunWithConfigAndOptions (sessionConfig, runOptions[currentOptionIndex]);
+            }
+
+
+            if (GUI.Button (new Rect (100, 300, 200, 100), "Start Non-WT Session")) {
+                ARKitSessionConfiguration sessionConfig = new ARKitSessionConfiguration (alignmentOptions [currentAlignmentIndex], true, true);
+                UnityARSessionNativeInterface.GetARSessionNativeInterface ().RunWithConfig (sessionConfig);
+            }
+
+
+            string runOptionStr = (currentOptionIndex == 0 ? "Full" : (currentOptionIndex == 1 ? "Tracking" : (currentOptionIndex == 2 ? "Anchors" : "None")));
+            if (GUI.Button (new Rect (100, 200, 150, 50), "RunOption:" + runOptionStr)) {
+                currentOptionIndex = (currentOptionIndex + 1) % 4;
+            }
+
+            string alignmentOptionStr = (currentAlignmentIndex == 0 ? "Camera" : (currentAlignmentIndex == 1 ? "Gravity" :  "GravityAndHeading"));
+            if (GUI.Button (new Rect (300, 200, 150, 50), "AlignOption:" + alignmentOptionStr)) {
+                currentAlignmentIndex = (currentAlignmentIndex + 1) % 3;
+            }
+
+			string planeOptionStr = currentPlaneIndex == 0 ? "Horizontal":  "None";
+            if (GUI.Button (new Rect (500, 200, 150, 50), "PlaneOption:" + planeOptionStr)) {
+                currentPlaneIndex = (currentPlaneIndex + 1) % 2;
+            }
+        }
+    }
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1f53e03c8f6286866cc10c7e5423469d0cbc5e47
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4977b930c0f8843c8b8a101ba5bf3c8f
+timeCreated: 1493240142
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..efc4111da6a78604ea7da598fbf2b58a29ea628e
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs
@@ -0,0 +1,94 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+using UnityEngine.Rendering;
+
+public class UnityARKitLightManager : MonoBehaviour {
+
+	Light [] lightsInScene;
+	SphericalHarmonicsL2 shl;
+
+	// Use this for initialization
+	void Start () {
+		//find all the lights in the scene
+		lightsInScene = FindAllLights();
+		shl = new SphericalHarmonicsL2 ();
+
+		//subscribe to event informing us of light changes from AR
+		UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateLightEstimations;
+
+	}
+
+	void OnDestroy()
+	{
+		UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateLightEstimations;
+	}
+		
+
+	Light []  FindAllLights()
+	{
+		return FindObjectsOfType<Light> ();
+	}
+
+
+
+	void UpdateLightEstimations(UnityARCamera camera)
+	{
+		if (camera.lightData.arLightingType == LightDataType.LightEstimate) {
+			UpdateBasicLightEstimation (camera.lightData.arLightEstimate);
+		} 
+		else if (camera.lightData.arLightingType == LightDataType.DirectionalLightEstimate) 
+		{
+			UpdateDirectionalLightEstimation (camera.lightData.arDirectonalLightEstimate);
+		}
+	}
+
+	void UpdateBasicLightEstimation(UnityARLightEstimate uarle)
+	{
+		foreach (Light l in lightsInScene)
+		{
+			//fix ambient light
+			// Convert ARKit intensity to Unity intensity
+			// ARKit ambient intensity ranges 0-2000
+			// Unity ambient intensity ranges 0-8 (for over-bright lights)
+			float newai = uarle.ambientIntensity;
+			l.intensity = newai / 1000.0f;
+
+			//Unity Light has functionality to filter the light color to correct temperature
+			//https://docs.unity3d.com/ScriptReference/Light-colorTemperature.html
+			l.colorTemperature = uarle.ambientColorTemperature;
+		}
+
+
+	
+	}
+
+	void UpdateDirectionalLightEstimation(UnityARDirectionalLightEstimate uardle)
+	{
+		for (int colorChannel = 0; colorChannel < 3; colorChannel++) {
+			for (int index = 0; index < 9; index++) {
+				shl [colorChannel, index] = uardle.sphericalHarmonicsCoefficients [(colorChannel * 9) + index];
+			}
+		}
+
+		if (LightmapSettings.lightProbes != null) {
+			int probeCount = LightmapSettings.lightProbes.count;
+
+			//we have at least one light probe in the scene
+			if (probeCount > 0) {
+
+				//Replace all the baked probes in the scene with our generated Spherical Harmonics
+				SphericalHarmonicsL2[] bakedProbes = LightmapSettings.lightProbes.bakedProbes;
+
+				for (int i = 0; i < probeCount; i++) {
+					bakedProbes [i] = shl;
+				}
+			}
+		}
+
+		//for objects unaffected by any lightprobes, set up ambient probe
+		RenderSettings.ambientProbe = shl;
+		RenderSettings.ambientMode = AmbientMode.Custom;
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..83b643dec8ee770bc8eebf83d3a076480538bfc1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d0b95baf0d5f840f4bd22de86c996c08
+timeCreated: 1506357597
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7d5c000cb4b5cf50f661df6d5fe403e238faa865
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs
@@ -0,0 +1,45 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public class UnityARMatrixOps
+	{
+
+		public static Vector3 GetPosition(Matrix4x4 matrix)
+		{
+			// Convert from ARKit's right-handed coordinate
+			// system to Unity's left-handed
+			Vector3 position = matrix.GetColumn(3);
+			position.z = -position.z;
+
+			return position;
+		}
+
+		public static Quaternion GetRotation(Matrix4x4 matrix)
+		{
+			// Convert from ARKit's right-handed coordinate
+			// system to Unity's left-handed
+			Quaternion rotation = QuaternionFromMatrix(matrix);
+			rotation.z = -rotation.z;
+			rotation.w = -rotation.w;
+
+			return rotation;
+		}
+
+
+		static Quaternion QuaternionFromMatrix(Matrix4x4 m) {
+			// Adapted from: http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm
+			Quaternion q = new Quaternion();
+			q.w = Mathf.Sqrt( Mathf.Max( 0, 1 + m[0,0] + m[1,1] + m[2,2] ) ) / 2; 
+			q.x = Mathf.Sqrt( Mathf.Max( 0, 1 + m[0,0] - m[1,1] - m[2,2] ) ) / 2; 
+			q.y = Mathf.Sqrt( Mathf.Max( 0, 1 - m[0,0] + m[1,1] - m[2,2] ) ) / 2; 
+			q.z = Mathf.Sqrt( Mathf.Max( 0, 1 - m[0,0] - m[1,1] + m[2,2] ) ) / 2; 
+			q.x *= Mathf.Sign( q.x * ( m[2,1] - m[1,2] ) );
+			q.y *= Mathf.Sign( q.y * ( m[0,2] - m[2,0] ) );
+			q.z *= Mathf.Sign( q.z * ( m[1,0] - m[0,1] ) );
+			return q;
+		}
+
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..35f294797a0594433bc6c68ede48617702babba1
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 37808a86538754725a15d36128fd2afc
+timeCreated: 1492800582
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c1b3695c9996e42135233f8139a2ecb91046b3fc
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+namespace UnityEngine.XR.iOS
+{
+public class UnityARUserAnchorComponent : MonoBehaviour {
+
+    private string m_AnchorId;
+
+	public string AnchorId  { get { return m_AnchorId; } }
+
+	void Awake()
+	{
+		UnityARSessionNativeInterface.ARUserAnchorUpdatedEvent += GameObjectAnchorUpdated;
+		UnityARSessionNativeInterface.ARUserAnchorRemovedEvent += AnchorRemoved;
+		this.m_AnchorId = UnityARSessionNativeInterface.GetARSessionNativeInterface ().AddUserAnchorFromGameObject(this.gameObject).identifierStr; 
+	}
+	void Start () {
+
+	}
+
+	public void AnchorRemoved(ARUserAnchor anchor)
+	{
+		if (anchor.identifier.Equals(m_AnchorId))
+		{
+			Destroy(this.gameObject);
+		}
+	}
+
+    void OnDestroy() {
+		UnityARSessionNativeInterface.ARUserAnchorUpdatedEvent -= GameObjectAnchorUpdated;
+		UnityARSessionNativeInterface.ARUserAnchorRemovedEvent -= AnchorRemoved;
+		UnityARSessionNativeInterface.GetARSessionNativeInterface ().RemoveUserAnchor(this.m_AnchorId); 
+    }
+
+	private void GameObjectAnchorUpdated(ARUserAnchor anchor)
+	{
+		
+	}
+}
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7671fd670b99bd75acb33ab394d326d797a12e0d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4d24244ceb54d42ca92481ba81c45056
+timeCreated: 1499372973
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUtility.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUtility.cs
new file mode 100644
index 0000000000000000000000000000000000000000..558946285a9be135f883e9f2e4ba87bb49804528
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUtility.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace UnityEngine.XR.iOS
+{
+	public class UnityARUtility
+	{
+		private MeshCollider meshCollider; //declared to avoid code stripping of class
+		private MeshFilter meshFilter; //declared to avoid code stripping of class
+		private static GameObject planePrefab = null;
+
+		public static void InitializePlanePrefab(GameObject go)
+		{
+			planePrefab = go;
+		}
+		
+		public static GameObject CreatePlaneInScene(ARPlaneAnchor arPlaneAnchor)
+		{
+			GameObject plane;
+			if (planePrefab != null) {
+				plane = GameObject.Instantiate(planePrefab);
+			} else {
+				plane = new GameObject (); //put in a blank gameObject to get at least a transform to manipulate
+			}
+
+			plane.name = arPlaneAnchor.identifier;
+
+			return UpdatePlaneWithAnchorTransform(plane, arPlaneAnchor);
+
+		}
+
+		public static GameObject UpdatePlaneWithAnchorTransform(GameObject plane, ARPlaneAnchor arPlaneAnchor)
+		{
+			
+			//do coordinate conversion from ARKit to Unity
+			plane.transform.position = UnityARMatrixOps.GetPosition (arPlaneAnchor.transform);
+			plane.transform.rotation = UnityARMatrixOps.GetRotation (arPlaneAnchor.transform);
+
+			MeshFilter mf = plane.GetComponentInChildren<MeshFilter> ();
+
+			if (mf != null) {
+                //since our plane mesh is actually 10mx10m in the world, we scale it here by 0.1f
+                mf.gameObject.transform.localScale = new Vector3(arPlaneAnchor.extent.x * 0.1f ,arPlaneAnchor.extent.y * 0.1f ,arPlaneAnchor.extent.z * 0.1f );
+
+                //convert our center position to unity coords
+                mf.gameObject.transform.localPosition = new Vector3(arPlaneAnchor.center.x,arPlaneAnchor.center.y, -arPlaneAnchor.center.z);
+			}
+
+			return plane;
+		}
+
+
+
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUtility.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUtility.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..9de43b4e04150f03969640b5c6188ff421c4bff9
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUtility.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9736aad5d8518481ab7e8d1d0b0e6e36
+timeCreated: 1492800582
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f9b2f846701388b0b6dbda8f85a70c70940fe2ee
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs
@@ -0,0 +1,117 @@
+using System;
+using System.Runtime.InteropServices;
+using UnityEngine;
+using UnityEngine.Rendering;
+
+namespace UnityEngine.XR.iOS
+{
+
+    public class UnityARVideo : MonoBehaviour
+    {
+        public Material m_ClearMaterial;
+
+        private CommandBuffer m_VideoCommandBuffer;
+        private Texture2D _videoTextureY;
+        private Texture2D _videoTextureCbCr;
+		private Matrix4x4 _displayTransform;
+
+		private bool bCommandBufferInitialized;
+
+		public void Start()
+		{
+			UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateFrame;
+			bCommandBufferInitialized = false;
+		}
+
+		void UpdateFrame(UnityARCamera cam)
+		{
+			_displayTransform = new Matrix4x4();
+			_displayTransform.SetColumn(0, cam.displayTransform.column0);
+			_displayTransform.SetColumn(1, cam.displayTransform.column1);
+			_displayTransform.SetColumn(2, cam.displayTransform.column2);
+			_displayTransform.SetColumn(3, cam.displayTransform.column3);		
+		}
+
+		void InitializeCommandBuffer()
+		{
+			m_VideoCommandBuffer = new CommandBuffer(); 
+			m_VideoCommandBuffer.Blit(null, BuiltinRenderTextureType.CurrentActive, m_ClearMaterial);
+			GetComponent<Camera>().AddCommandBuffer(CameraEvent.BeforeForwardOpaque, m_VideoCommandBuffer);
+			bCommandBufferInitialized = true;
+
+		}
+
+		void OnDestroy()
+		{
+			GetComponent<Camera>().RemoveCommandBuffer(CameraEvent.BeforeForwardOpaque, m_VideoCommandBuffer);
+			UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateFrame;
+			bCommandBufferInitialized = false;
+		}
+
+#if !UNITY_EDITOR
+
+        public void OnPreRender()
+        {
+			ARTextureHandles handles = UnityARSessionNativeInterface.GetARSessionNativeInterface ().GetARVideoTextureHandles();
+            if (handles.textureY == System.IntPtr.Zero || handles.textureCbCr == System.IntPtr.Zero)
+            {
+                return;
+            }
+
+            if (!bCommandBufferInitialized) {
+                InitializeCommandBuffer ();
+            }
+
+            Resolution currentResolution = Screen.currentResolution;
+
+            // Texture Y
+            if (_videoTextureY == null) {
+              _videoTextureY = Texture2D.CreateExternalTexture(currentResolution.width, currentResolution.height,
+                  TextureFormat.R8, false, false, (System.IntPtr)handles.textureY);
+              _videoTextureY.filterMode = FilterMode.Bilinear;
+              _videoTextureY.wrapMode = TextureWrapMode.Repeat;
+              m_ClearMaterial.SetTexture("_textureY", _videoTextureY);
+            }
+
+            // Texture CbCr
+            if (_videoTextureCbCr == null) {
+              _videoTextureCbCr = Texture2D.CreateExternalTexture(currentResolution.width, currentResolution.height,
+                  TextureFormat.RG16, false, false, (System.IntPtr)handles.textureCbCr);
+              _videoTextureCbCr.filterMode = FilterMode.Bilinear;
+              _videoTextureCbCr.wrapMode = TextureWrapMode.Repeat;
+              m_ClearMaterial.SetTexture("_textureCbCr", _videoTextureCbCr);
+            }
+
+            _videoTextureY.UpdateExternalTexture(handles.textureY);
+            _videoTextureCbCr.UpdateExternalTexture(handles.textureCbCr);
+
+			m_ClearMaterial.SetMatrix("_DisplayTransform", _displayTransform);
+        }
+#else
+
+		public void SetYTexure(Texture2D YTex)
+		{
+			_videoTextureY = YTex;
+		}
+
+		public void SetUVTexure(Texture2D UVTex)
+		{
+			_videoTextureCbCr = UVTex;
+		}
+
+		public void OnPreRender()
+		{
+
+			if (!bCommandBufferInitialized) {
+				InitializeCommandBuffer ();
+			}
+
+			m_ClearMaterial.SetTexture("_textureY", _videoTextureY);
+			m_ClearMaterial.SetTexture("_textureCbCr", _videoTextureCbCr);
+
+			m_ClearMaterial.SetMatrix("_DisplayTransform", _displayTransform);
+		}
+ 
+#endif
+    }
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..05ab96b929dac31d7cd18db97c401f15c7a42b00
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b58ecea7a196242dd879c814ac05084c
+timeCreated: 1492796577
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs
new file mode 100644
index 0000000000000000000000000000000000000000..07243f02968c7bc043f765d40fbe71c953914fc9
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs
@@ -0,0 +1,45 @@
+using System;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+public class UnityPointCloudExample : MonoBehaviour
+{
+    public uint numPointsToShow = 100;
+    public GameObject PointCloudPrefab = null;
+    private List<GameObject> pointCloudObjects;
+    private Vector3[] m_PointCloudData;
+
+    public void Start()
+    {
+        UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+        if (PointCloudPrefab != null)
+        {
+            pointCloudObjects = new List<GameObject> ();
+            for (int i =0; i < numPointsToShow; i++)
+            {
+                pointCloudObjects.Add (Instantiate (PointCloudPrefab));
+            }
+        }
+    }
+
+    public void ARFrameUpdated(UnityARCamera camera)
+    {
+        m_PointCloudData = camera.pointCloudData;
+    }
+
+    public void Update()
+    {
+        if (PointCloudPrefab != null && m_PointCloudData != null)
+        {
+            for (int count = 0; count < Math.Min (m_PointCloudData.Length, numPointsToShow); count++)
+            {
+                Vector4 vert = m_PointCloudData [count];
+                GameObject point = pointCloudObjects [count];
+                point.transform.position = new Vector3(vert.x, vert.y, vert.z);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..818e6990a174c4bbca3f94c53cb0693513185a6d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c5ab0fdfbf2334e8dbbcdda6ceada7e3
+timeCreated: 1493835634
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1b15efe84d9c96978301a5fbc05c18509ae90eec
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b97b0ebd5e0d84160a0b477bf246c1e1
+folderAsset: yes
+timeCreated: 1492792741
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat
new file mode 100644
index 0000000000000000000000000000000000000000..964adb8e44f5c4f7878b9f64661d4dbcef63d416
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat
@@ -0,0 +1,90 @@
+%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: YUVMaterial
+  m_Shader: {fileID: 4800000, guid: ef7b8eec959eb4f1e9fa97bc86273848, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureCbCr:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureCrCb:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureY:
+        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: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    - _isPortrait: 0
+    - _texCoordScale: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4ca8608977028eb87287cabd6100f543065b5c7d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f1d9352050a75486f878ab19fa578f16
+timeCreated: 1492641356
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat
new file mode 100644
index 0000000000000000000000000000000000000000..b890a268b7bd439c012d504d194a9f3fc9bc1b9f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat
@@ -0,0 +1,90 @@
+%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: YUVMaterialLinear
+  m_Shader: {fileID: 4800000, guid: 57c2c07a0719d4fafab7a4f8a84d1767, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureCbCr:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 2, y: 2}
+        m_Offset: {x: -1, y: -1}
+    - _textureCrCb:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _textureY:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 2, y: 2}
+        m_Offset: {x: -1, y: -1}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    - _isPortrait: 0
+    - _texCoordScale: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat.meta
new file mode 100644
index 0000000000000000000000000000000000000000..595a6548ccf7b676c2fe13343fbf2641a00304ad
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 2081057c5ab9b4b20a1a1c4efdace299
+timeCreated: 1492641356
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface.meta
new file mode 100644
index 0000000000000000000000000000000000000000..feefcbbce1af846f70d15b111ca203f5e2df691a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 6930a53974b964a77bb66c8a01551eaa
+folderAsset: yes
+timeCreated: 1492795798
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..590794e69ace35df22c99e06db3009afbcde35fd
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs
@@ -0,0 +1,15 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARAnchor
+	{
+		public string identifier;
+
+		/**
+ 		The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+		 */
+		public Matrix4x4 transform;
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8d9bf2f4837013e45ee7076233cfbcd0318eb219
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 79ff8feee38c24e158252a971d93a42a
+timeCreated: 1492118050
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dcfd5891137e013f5ae434fb037428a06452244f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs
@@ -0,0 +1,50 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARCamera
+	{
+		/**
+		 The transformation matrix that defines the camera's rotation and translation in world coordinates.
+ 		*/
+
+		public Matrix4x4 worldTransform;
+
+		/**
+		 The camera's orientation defined as Euler angles.
+		 
+		 @dicussion The order of components in this vector matches the axes of rotation:
+		               1. Pitch (the x component) is the rotation about the node's x-axis (in radians)
+		               2. Yaw   (the y component) is the rotation about the node's y-axis (in radians)
+		               3. Roll  (the z component) is the rotation about the node's z-axis (in radians)
+		            ARKit applies these rotations in the reverse order of the components:
+		               1. first roll
+		               2. then yaw
+		               3. then pitch
+		 */
+
+		public Vector3 eulerAngles;
+
+		public ARTrackingQuality trackingQuality;
+
+		/**
+		 The camera intrinsics.
+		 @discussion The matrix has the following contents:
+		 fx 0   px
+		 0  fy  py
+		 0  0   1
+		 fx and fy are the focal length in pixels.
+		 px and py are the coordinates of the principal point in pixels.
+		 The origin is at the center of the upper-left pixel.
+		 */
+
+		public Vector3 intrinsics_row1;
+		public Vector3 intrinsics_row2;
+		public Vector3 intrinsics_row3;
+
+		public ARSize imageResolution;
+	
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bcb49ba608bd324db1c6c46c63ef42b0f33c759f
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f7914788e42e54a09ac79ed2629dfb48
+timeCreated: 1492103364
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b6b6b7e2a160995a3ba8f4498e2da130e4b7747d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs
@@ -0,0 +1,21 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public enum ARErrorCode : long
+	{
+		/** Unsupported session configuration. */
+		ARErrorCodeUnsupportedConfiguration   = 100,
+
+		/** A sensor required to run the session is not available. */
+		ARErrorCodeSensorUnavailable          = 101,
+
+		/** A sensor failed to provide the required input. */
+		ARErrorCodeSensorFailed               = 102,
+
+		/** World tracking has encountered a fatal error. */
+		ARErrorCodeWorldTrackingFailed        = 200,
+
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b348c2fe425d9d1fdae456cd8ca030b6fbeaed17
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 094318df5b9084291abdf9a768914ab7
+timeCreated: 1492118622
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2e38f75ce822f8297095ae27084c053cda0bd3e5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs
@@ -0,0 +1,220 @@
+using UnityEngine;
+using System.Collections;
+using System.Runtime.InteropServices;
+using System;
+using System.Collections.Generic;
+using AOT;
+
+namespace UnityEngine.XR.iOS
+{
+
+	public static class ARBlendShapeLocation
+	{
+		 public const string  BrowDownLeft        =   "browDown_L";
+	 	 public const string  BrowDownRight       =   "browDown_R";
+		 public const string  BrowInnerUp         =   "browInnerUp";
+		 public const string  BrowOuterUpLeft     =   "browOuterUp_L";
+		 public const string  BrowOuterUpRight    =   "browOuterUp_R";
+		 public const string  CheekPuff           =   "cheekPuff";
+		 public const string  CheekSquintLeft     =   "cheekSquint_L";
+		 public const string  CheekSquintRight    =   "cheekSquint_R";
+		 public const string  EyeBlinkLeft        =   "eyeBlink_L";
+		 public const string  EyeBlinkRight       =   "eyeBlink_R";
+		 public const string  EyeLookDownLeft     =   "eyeLookDown_L";
+		 public const string  EyeLookDownRight    =   "eyeLookDown_R";
+		 public const string  EyeLookInLeft       =   "eyeLookIn_L";
+		 public const string  EyeLookInRight      =   "eyeLookIn_R";
+		 public const string  EyeLookOutLeft      =   "eyeLookOut_L";
+		 public const string  EyeLookOutRight     =   "eyeLookOut_R";
+		 public const string  EyeLookUpLeft       =   "eyeLookUp_L";
+		 public const string  EyeLookUpRight      =   "eyeLookUp_R";
+		 public const string  EyeSquintLeft       =   "eyeSquint_L";
+		 public const string  EyeSquintRight      =   "eyeSquint_R";
+		 public const string  EyeWideLeft         =   "eyeWide_L";
+		 public const string  EyeWideRight        =   "eyeWide_R";
+		 public const string  JawForward          =   "jawForward";
+		 public const string  JawLeft             =   "jawLeft";
+		 public const string  JawOpen             =   "jawOpen";
+		 public const string  JawRight            =   "jawRight";
+		 public const string  MouthClose          =   "mouthClose";
+		 public const string  MouthDimpleLeft     =   "mouthDimple_L";
+		 public const string  MouthDimpleRight    =   "mouthDimple_R";
+		 public const string  MouthFrownLeft      =   "mouthFrown_L";
+		 public const string  MouthFrownRight     =   "mouthFrown_R";
+		 public const string  MouthFunnel         =   "mouthFunnel";
+		 public const string  MouthLeft           =   "mouthLeft";
+		 public const string  MouthLowerDownLeft  =   "mouthLowerDown_L";
+		 public const string  MouthLowerDownRight =   "mouthLowerDown_R";
+		 public const string  MouthPressLeft      =   "mouthPress_L";
+		 public const string  MouthPressRight     =   "mouthPress_R";
+		 public const string  MouthPucker         =   "mouthPucker";
+		 public const string  MouthRight          =   "mouthRight";
+		 public const string  MouthRollLower      =   "mouthRollLower";
+		 public const string  MouthRollUpper      =   "mouthRollUpper";
+		 public const string  MouthShrugLower     =   "mouthShrugLower";
+		 public const string  MouthShrugUpper     =   "mouthShrugUpper";
+		 public const string  MouthSmileLeft      =   "mouthSmile_L";
+		 public const string  MouthSmileRight     =   "mouthSmile_R";
+		 public const string  MouthStretchLeft    =   "mouthStretch_L";
+		 public const string  MouthStretchRight   =   "mouthStretch_R";
+		 public const string  MouthUpperUpLeft    =   "mouthUpperUp_L";
+		 public const string  MouthUpperUpRight   =   "mouthUpperUp_R";
+		 public const string  NoseSneerLeft       =   "noseSneer_L";
+		 public const string  NoseSneerRight      =   "noseSneer_R";
+	}
+
+
+	public struct UnityARFaceGeometry
+	{
+		public int vertexCount;
+		public IntPtr vertices;
+		public int textureCoordinateCount;
+		public IntPtr textureCoordinates;
+		public int triangleCount;
+		public IntPtr triangleIndices;
+
+	}
+
+	public struct UnityARFaceAnchorData 
+	{
+
+		public IntPtr ptrIdentifier;
+
+		/**
+ 		The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+		 */
+		public UnityARMatrix4x4 transform;
+
+		public string identifierStr { get { return Marshal.PtrToStringAuto(this.ptrIdentifier); } }
+
+		public UnityARFaceGeometry faceGeometry;
+		public IntPtr blendShapes;
+
+	};
+
+
+	public class ARFaceGeometry
+	{
+		private UnityARFaceGeometry uFaceGeometry;
+
+		public ARFaceGeometry (UnityARFaceGeometry ufg)
+		{
+			uFaceGeometry = ufg;
+		}
+
+		public int vertexCount { get { return uFaceGeometry.vertexCount; } }
+		public int triangleCount {  get  { return uFaceGeometry.triangleCount; } }
+		public int textureCoordinateCount { get { return uFaceGeometry.textureCoordinateCount; } }
+
+		public Vector3 [] vertices { get { return MarshalVertices(uFaceGeometry.vertices,vertexCount); } }
+
+		public Vector2 [] textureCoordinates { get { return MarshalTexCoords(uFaceGeometry.textureCoordinates, textureCoordinateCount); } }
+
+		public int [] triangleIndices { get { return MarshalIndices(uFaceGeometry.triangleIndices, triangleCount); } }
+
+		Vector3 [] MarshalVertices(IntPtr ptrFloatArray, int vertCount)
+		{
+			int numFloats = vertCount * 4;
+			float [] workVerts = new float[numFloats];
+			Marshal.Copy (ptrFloatArray, workVerts, 0, (int)(numFloats)); 
+
+			Vector3[] verts = new Vector3[vertCount];
+
+			for (int count = 0; count < numFloats; count++)
+			{
+				verts [count / 4].x = workVerts[count++];
+				verts [count / 4].y = workVerts[count++];
+				verts [count / 4].z = -workVerts[count++];
+			}
+
+			return verts;
+		}
+
+		int [] MarshalIndices(IntPtr ptrIndices, int triCount)
+		{
+			int numIndices = triCount * 3;
+			short [] workIndices = new short[numIndices];  //since ARKit returns Int16
+			Marshal.Copy (ptrIndices, workIndices, 0, numIndices);
+
+			int[] triIndices = new int[numIndices];
+			for (int count = 0; count < numIndices; count+=3) {
+				//reverse winding order
+				triIndices [count] = workIndices [count];
+				triIndices [count + 1] = workIndices [count + 2];
+				triIndices [count + 2] = workIndices [count + 1];
+			}
+
+			return triIndices;
+		}
+
+		Vector2 [] MarshalTexCoords(IntPtr ptrTexCoords, int texCoordCount)
+		{
+			int numFloats = texCoordCount * 2;
+			float [] workTexCoords = new float[numFloats];
+			Marshal.Copy (ptrTexCoords, workTexCoords, 0, (int)(numFloats)); 
+
+			Vector2[] texCoords = new Vector2[texCoordCount];
+
+			for (int count = 0; count < numFloats; count++)
+			{
+				texCoords [count / 2].x = workTexCoords[count++];
+				texCoords [count / 2].y = workTexCoords[count];
+			}
+
+			return texCoords;
+
+		}
+	}
+
+
+	public class ARFaceAnchor 
+	{
+		private UnityARFaceAnchorData faceAnchorData;
+		private static Dictionary<string, float> blendshapesDictionary;
+
+		public ARFaceAnchor (UnityARFaceAnchorData ufad)
+		{
+			faceAnchorData = ufad;
+			if (blendshapesDictionary == null) {
+				blendshapesDictionary = new Dictionary<string, float> ();
+			}
+		}
+		
+
+		public string identifierStr { get { return faceAnchorData.identifierStr; } }
+
+		public Matrix4x4 transform { 
+			get { 
+				Matrix4x4 matrix = new Matrix4x4 ();
+				matrix.SetColumn (0, faceAnchorData.transform.column0);
+				matrix.SetColumn (1, faceAnchorData.transform.column1);
+				matrix.SetColumn (2, faceAnchorData.transform.column2);
+				matrix.SetColumn (3, faceAnchorData.transform.column3);
+				return matrix;
+			}
+		}
+
+		public ARFaceGeometry faceGeometry { get { return new ARFaceGeometry (faceAnchorData.faceGeometry);	} }
+
+		public Dictionary<string, float> blendShapes { get { return GetBlendShapesFromNative(faceAnchorData.blendShapes); } }
+
+		delegate void DictionaryVisitorHandler(IntPtr keyPtr, float value);
+
+		[DllImport("__Internal")]
+		private static extern void GetBlendShapesInfo(IntPtr ptrDic, DictionaryVisitorHandler handler);
+
+		Dictionary<string, float> GetBlendShapesFromNative(IntPtr blendShapesPtr)
+		{
+			blendshapesDictionary.Clear ();
+			GetBlendShapesInfo (blendShapesPtr, AddElementToManagedDictionary);
+			return blendshapesDictionary;
+		}
+
+		[MonoPInvokeCallback(typeof(DictionaryVisitorHandler))]
+		static void AddElementToManagedDictionary(IntPtr keyPtr, float value)
+		{
+			string key = Marshal.PtrToStringAuto(keyPtr);
+			blendshapesDictionary.Add(key, value);
+		}
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..02b97bc0a415e8bd6022c0d485bb7e0940e5a339
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6bd5d00d33612415b85197cd523a21e6
+timeCreated: 1505528974
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d8eb94ad2fb472df53f82e126463bf427d16403b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs
@@ -0,0 +1,36 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARFrame
+	{
+		/**
+		 A timestamp identifying the frame.
+		 */
+		public double timestamp;
+
+		/**
+ 		The frame's captured image.
+ 		*/
+		public IntPtr capturedImage;
+
+		/**
+		 The camera used to capture the frame's image.
+		 @discussion The camera provides the device's position and orientation as well as camera parameters.
+		 */
+		public ARCamera camera;
+
+		/**
+ 		A list of anchors in the scene.
+ 		*/
+		//List<ARAnchor> anchors;
+
+		/**
+ 		A light estimate representing the light in the scene.
+ 		@discussion Returns nil if there is no light estimation.
+		 */
+		ARLightEstimate lightEstimate;
+
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..98bf8772efaf926dc9146748170606c77e3f2b1a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b8b915b5e16c84740b940efc7a7e2821
+timeCreated: 1492118050
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs
new file mode 100644
index 0000000000000000000000000000000000000000..08fa5aae5aa97fe0c9a9b9b7dda933f5984442b6
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs
@@ -0,0 +1,40 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARHitTestResult
+	{
+		/**
+		 The type of the hit-test result.
+		 */
+		public ARHitTestResultType type;
+
+		/**
+ 		The distance from the camera to the intersection in meters.
+		*/
+		public double distance;
+
+		/**
+ 		The transformation matrix that defines the intersection's rotation, translation and scale
+ 		relative to the anchor or nearest feature point.
+ 		*/
+		public Matrix4x4 localTransform;
+
+		/**
+ 		The transformation matrix that defines the intersection's rotation, translation and scale
+ 		relative to the world.
+ 		*/
+		public Matrix4x4 worldTransform;
+
+		/**
+ 		The anchor that the hit-test intersected.
+ 		*/
+		public string anchorIdentifier;
+
+		/**
+		True if the test represents a valid hit test. Data is undefined otherwise.
+		*/
+		public bool isValid;
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0a61a15ae736ae33ebaac8d38b4b50ac6aae64cb
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 048b3fa7b70bb49689905314375cd7c3
+timeCreated: 1492121726
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs
new file mode 100644
index 0000000000000000000000000000000000000000..fbb67dee7526bf980812c91b65eba186192a115a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs
@@ -0,0 +1,25 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	[Flags]
+    public enum ARHitTestResultType : long
+	{
+		/** Result type from intersecting the nearest feature point. */
+		ARHitTestResultTypeFeaturePoint     = (1 << 0),
+
+		/** Result type from detecting and intersecting a new horizontal plane. */
+		ARHitTestResultTypeHorizontalPlane  = (1 << 1),
+
+		/** Result type from detecting and intersecting a new vertical plane. */
+		ARHitTestResultTypeVerticalPlane    = (1 << 2),
+
+		/** Result type from intersecting with an existing plane anchor. */
+        ARHitTestResultTypeExistingPlane    = (1 << 3),
+
+        /** Result type from intersecting with an existing plane anchor, taking into account the plane's extent. */
+        ARHitTestResultTypeExistingPlaneUsingExtent  = ( 1 << 4)
+
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d1bb2f51e32dd841827666411b5d5a40673bcaa2
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1d70fc085339c436b848c46340250a29
+timeCreated: 1492121726
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3cf9a7ee655353da732baa1fa5b74780b75b3091
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs
@@ -0,0 +1,142 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARLightEstimate
+	{
+		public float ambientIntensity;
+	}
+
+	[Serializable]
+	public struct UnityARLightEstimate
+	{
+		public float ambientIntensity;
+		public float ambientColorTemperature;
+
+		public UnityARLightEstimate(float intensity, float temperature)
+		{
+			ambientIntensity = intensity;
+			ambientColorTemperature = temperature;
+		}
+	};
+
+
+	public struct MarshalDirectionalLightEstimate
+	{
+		public Vector4 primaryDirAndIntensity;
+		public IntPtr  sphericalHarmonicCoefficientsPtr;
+
+		public float [] SphericalHarmonicCoefficients { get { return MarshalCoefficients(sphericalHarmonicCoefficientsPtr); } } 
+
+		float [] MarshalCoefficients(IntPtr ptrFloats)
+		{
+			int numFloats = 27;
+			float [] workCoefficients = new float[numFloats];
+			Marshal.Copy (ptrFloats, workCoefficients, 0, (int)(numFloats)); 
+			RotateForUnity (ref workCoefficients, 0);
+			RotateForUnity (ref workCoefficients, 9);
+			RotateForUnity (ref workCoefficients, 18);
+			return workCoefficients;
+
+		}
+
+		void RotateForUnity(ref float[] shc, int startIndex)
+		{
+			//from observation, it looks like top, bottom and left,right are flipped (x,y)
+
+			// we got this info:
+			// Lets assume Unity uses the same convention for spherical harmonics (yzx) wrt its own coordinate system as scenekit. 
+			// (This could be another source of error).
+			// To tackle a constant transform between the unity and scenekit world coordinate system conventions:
+
+			// Axis flips work as follows for the 9 components of the sh vector:
+
+			//	0-component: no change
+
+			//	1-component: negate if y is supposed to be flipped
+			//	2-component: negate if z is supposed to be flipped
+			//	3-component: negate if x is supposed to be flipped
+
+			//	4-component: negate if x or y are supposed to be flipped, but not both!
+			//	5-component: negate if y or z are supposed to be flipped, but not both!
+			//	6-component: no change
+			//	7-component: negate if x or z are supposed to be flipped, but not both!
+			//	8-component: no change
+
+			shc [startIndex+1] = -shc [startIndex+1];
+			shc [startIndex+3] = -shc [startIndex+3];
+
+			shc [startIndex + 5] = -shc [startIndex + 5];				
+			shc [startIndex + 7] = -shc [startIndex + 7];
+				
+
+		}
+	}
+
+	public class UnityARDirectionalLightEstimate
+	{
+		public Vector3 primaryLightDirection;
+		public float primaryLightIntensity;
+		public float [] sphericalHarmonicsCoefficients;
+
+		public UnityARDirectionalLightEstimate (float [] SHC, Vector3 direction, float intensity)
+		{
+			sphericalHarmonicsCoefficients = SHC;
+			primaryLightDirection = direction;
+			primaryLightIntensity = intensity;
+		}
+	};
+
+	public enum LightDataType
+	{
+		LightEstimate,
+		DirectionalLightEstimate
+	}
+
+	public struct UnityMarshalLightData
+	{
+		public LightDataType arLightingType;
+		public UnityARLightEstimate arLightEstimate;
+		public MarshalDirectionalLightEstimate arDirectonalLightEstimate;
+
+		public UnityMarshalLightData(LightDataType ldt, UnityARLightEstimate ule, MarshalDirectionalLightEstimate mdle)
+		{
+			arLightingType = ldt;
+			arLightEstimate = ule;
+			arDirectonalLightEstimate = mdle;
+		}
+
+		public static implicit operator UnityARLightData(UnityMarshalLightData rValue)
+		{
+			UnityARDirectionalLightEstimate udle = null;
+			if (rValue.arLightingType == LightDataType.DirectionalLightEstimate) {
+				Vector4 lightDirAndIntensity = rValue.arDirectonalLightEstimate.primaryDirAndIntensity;
+				Vector3 lightDir = new Vector3 (lightDirAndIntensity.x, lightDirAndIntensity.y, lightDirAndIntensity.z);
+				float[] shc = rValue.arDirectonalLightEstimate.SphericalHarmonicCoefficients;
+				udle = new UnityARDirectionalLightEstimate (shc, lightDir, lightDirAndIntensity.w);
+			}
+			return new UnityARLightData(rValue.arLightingType, rValue.arLightEstimate, udle);
+		}
+
+	}
+
+	public struct UnityARLightData
+	{
+		public LightDataType arLightingType;
+		public UnityARLightEstimate arLightEstimate;
+		public UnityARDirectionalLightEstimate arDirectonalLightEstimate;
+
+		public UnityARLightData(LightDataType ldt, UnityARLightEstimate ule, UnityARDirectionalLightEstimate udle)
+		{
+			arLightingType = ldt;
+			arLightEstimate = ule;
+			arDirectonalLightEstimate = udle;
+		}
+
+
+	}
+
+
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..32eceeb10d453a9f9e6b540db3b8cccdf9576875
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c1f2e6c89195544de943f77cd419d81d
+timeCreated: 1492118050
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5e7531ce46ba5ea3762b3a071c1dad48131d3a96
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs
@@ -0,0 +1,35 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARPlaneAnchor 
+	{
+
+		public string identifier;
+
+		/**
+ 		The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+		 */
+		public Matrix4x4 transform;
+
+		/**
+		 The alignment of the plane.
+		 */
+
+		public ARPlaneAnchorAlignment alignment;
+
+        /**
+        The center of the plane in the anchor’s coordinate space.
+        */
+
+        public Vector3 center;
+
+        /**
+        The extent of the plane in the anchor’s coordinate space.
+         */
+        public Vector3 extent;
+
+
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..52c9c5ac163f76b01f83dbb7f365205e40796a8c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4a7917e69c7bc43ad8879cc6d58266fc
+timeCreated: 1492119200
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d2961748d3dfca2b00251c3d02ca59c8a99c0b30
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public enum ARPlaneAnchorAlignment : long
+	{
+		/** A plane that is horizontal with respect to gravity. */
+		ARPlaneAnchorAlignmentHorizontal
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ab62bd4e0cb2c164c88266b642a94fc6d5f4d7a8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f8d5557085c2d4e3e8ac43f5694ea8c8
+timeCreated: 1492119200
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ddfc9798a1417e31e2b81828f08b4e9575cdd88c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARPoint
+	{
+		public double x;
+		public double y;
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..cb774e09786258c1247da7a610520823dc0565bf
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 91d28e0ba93314b2298e88a73bf448d3
+timeCreated: 1492119200
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4a744a4abfd95e5e25cb7fa5451c902a3bcdcf03
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARRect
+	{
+		public ARPoint origin;
+		public ARSize  size;
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7f4af1fc63077fa5bf0a8171792d0c83b112ca79
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 1b78ac1873b934b6497aa4404b460655
+timeCreated: 1492120116
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm
new file mode 100644
index 0000000000000000000000000000000000000000..c57208f55810638cbd046e9e0c7e25b4fea90597
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm
@@ -0,0 +1,1120 @@
+#import <ARKit/ARKit.h>
+#import <CoreVideo/CoreVideo.h>
+#include "stdlib.h"
+#include "UnityAppController.h"
+
+
+typedef struct
+{
+    float x,y,z,w;
+} UnityARVector4;
+
+typedef struct
+{
+    UnityARVector4 column0;
+    UnityARVector4 column1;
+    UnityARVector4 column2;
+    UnityARVector4 column3;
+} UnityARMatrix4x4;
+
+enum UnityARAlignment
+{
+    UnityARAlignmentGravity,
+    UnityARAlignmentGravityAndHeading,
+    UnityARAlignmentCamera
+};
+
+enum UnityARPlaneDetection
+{
+    UnityARPlaneDetectionNone = 0,
+    UnityARPlaneDetectionHorizontal = (1 << 0),
+    UnityARPlaneDetectionVertical = (1 << 1)
+};
+
+
+typedef struct
+{
+    UnityARAlignment alignment;
+    uint32_t getPointCloudData;
+    uint32_t enableLightEstimation;
+    
+} ARKitSessionConfiguration;
+
+typedef struct
+{
+    UnityARAlignment alignment;
+    UnityARPlaneDetection planeDetection;
+    uint32_t getPointCloudData;
+    uint32_t enableLightEstimation;
+
+} ARKitWorldTrackingSessionConfiguration;
+
+typedef struct
+{
+    UnityARAlignment alignment;
+    uint32_t enableLightEstimation;
+    
+} ARKitFaceTrackingConfiguration;
+
+enum UnityARSessionRunOptions
+{
+    UnityARSessionRunOptionsNone = 0,
+    UnityARSessionRunOptionResetTracking           = (1 << 0),
+    UnityARSessionRunOptionRemoveExistingAnchors   = (1 << 1)
+
+};
+
+typedef struct
+{
+    void* identifier;
+    UnityARMatrix4x4 transform;
+    ARPlaneAnchorAlignment alignment;
+    UnityARVector4 center;
+    UnityARVector4 extent;
+} UnityARAnchorData;
+
+typedef struct
+{
+    void* identifier;
+    UnityARMatrix4x4 transform;
+} UnityARUserAnchorData;
+
+typedef struct
+{
+    NSUInteger vertexCount;
+    float *vertices;
+    NSUInteger textureCoordinateCount;
+    float *textureCoordinates;
+    NSUInteger triangleCount;
+    int *triangleIndices;
+} UnityARFaceGeometry;
+
+typedef struct
+{
+    void *identifier;
+    UnityARMatrix4x4 transform;
+    UnityARFaceGeometry faceGeometry;
+    void *blendShapes;  //NSDictionary<ARBlendShapeLocation, NSNumber*> *
+} UnityARFaceAnchorData;
+
+
+enum UnityARTrackingState
+{
+    UnityARTrackingStateNotAvailable,
+    UnityARTrackingStateLimited,
+    UnityARTrackingStateNormal,
+};
+
+enum UnityARTrackingReason
+{
+    UnityARTrackingStateReasonNone,
+    UnityARTrackingStateReasonInitializing,
+    UnityARTrackingStateReasonExcessiveMotion,
+    UnityARTrackingStateReasonInsufficientFeatures,
+};
+
+typedef struct
+{
+    uint32_t yWidth;
+    uint32_t yHeight;
+    uint32_t screenOrientation;
+    float texCoordScale;
+    void* cvPixelBufferPtr;
+}UnityVideoParams;
+
+typedef struct
+{
+    float ambientIntensity;
+    float ambientColorTemperature;
+}UnityARLightEstimation;
+
+typedef struct
+{
+    UnityARVector4 primaryLightDirectionAndIntensity;
+    float *sphericalHarmonicsCoefficients;
+}UnityARDirectionalLightEstimate;
+
+enum UnityLightDataType
+{
+    LightEstimate,
+    DirectionalLightEstimate
+};
+
+typedef struct
+{
+    UnityLightDataType arLightingType;
+    UnityARLightEstimation arLightEstimate;
+    UnityARDirectionalLightEstimate arDirectionalLightEstimate;
+}UnityLightData;
+
+typedef struct
+{
+    UnityARMatrix4x4 worldTransform;
+    UnityARMatrix4x4 projectionMatrix;
+    UnityARTrackingState trackingState;
+    UnityARTrackingReason trackingReason;
+    UnityVideoParams videoParams;
+    UnityLightData lightData;
+    UnityARMatrix4x4 displayTransform;
+    uint32_t getPointCloudData;
+} UnityARCamera;
+
+typedef struct
+{
+    vector_float3* pointCloud;
+    NSUInteger pointCloudSize;
+} UnityARPointCloudData;
+
+typedef struct
+{
+    void* pYPixelBytes;
+    void* pUVPixelBytes;
+    BOOL bEnable;
+}UnityPixelBuffer;
+
+
+
+typedef void (*UNITY_AR_FRAME_CALLBACK)(UnityARCamera camera);
+typedef void (*UNITY_AR_ANCHOR_CALLBACK)(UnityARAnchorData anchorData);
+typedef void (*UNITY_AR_USER_ANCHOR_CALLBACK)(UnityARUserAnchorData anchorData);
+typedef void (*UNITY_AR_FACE_ANCHOR_CALLBACK)(UnityARFaceAnchorData anchorData);
+typedef void (*UNITY_AR_SESSION_FAILED_CALLBACK)(const void* error);
+typedef void (*UNITY_AR_SESSION_VOID_CALLBACK)(void);
+typedef void (*UNITY_AR_SESSION_TRACKING_CHANGED)(UnityARCamera camera);
+
+// These don't all need to be static data, but no other better place for them at the moment.
+static id <MTLTexture> s_CapturedImageTextureY;
+static id <MTLTexture> s_CapturedImageTextureCbCr;
+static UnityARMatrix4x4 s_CameraProjectionMatrix;
+
+static float s_AmbientIntensity;
+static int s_TrackingQuality;
+static float s_ShaderScale;
+static const vector_float3* s_PointCloud;
+static NSUInteger s_PointCloudSize;
+
+static float unityCameraNearZ;
+static float unityCameraFarZ;
+
+static inline ARWorldAlignment GetARWorldAlignmentFromUnityARAlignment(UnityARAlignment& unityAlignment)
+{
+    switch (unityAlignment)
+    {
+        case UnityARAlignmentGravity:
+            return ARWorldAlignmentGravity;
+        case UnityARAlignmentGravityAndHeading:
+            return ARWorldAlignmentGravityAndHeading;
+        case UnityARAlignmentCamera:
+            return ARWorldAlignmentCamera;
+    }
+}
+
+static inline ARPlaneDetection GetARPlaneDetectionFromUnityARPlaneDetection(UnityARPlaneDetection planeDetection)
+{
+    ARPlaneDetection ret = ARPlaneDetectionNone;
+    if ((planeDetection & UnityARPlaneDetectionNone) != 0)
+        ret |= ARPlaneDetectionNone;
+    if ((planeDetection & UnityARPlaneDetectionHorizontal) != 0)
+        ret |= ARPlaneDetectionHorizontal;
+    return ret;
+}
+
+static inline UnityARTrackingState GetUnityARTrackingStateFromARTrackingState(ARTrackingState trackingState)
+{
+    switch (trackingState) {
+        case ARTrackingStateNormal:
+            return UnityARTrackingStateNormal;
+        case ARTrackingStateLimited:
+            return UnityARTrackingStateLimited;
+        case ARTrackingStateNotAvailable:
+            return UnityARTrackingStateNotAvailable;
+        default:
+            [NSException raise:@"UnrecognizedARTrackingState" format:@"Unrecognized ARTrackingState: %ld", (long)trackingState];
+            break;
+    }
+}
+
+static inline UnityARTrackingReason GetUnityARTrackingReasonFromARTrackingReason(ARTrackingStateReason trackingReason)
+{
+    switch (trackingReason)
+    {
+        case ARTrackingStateReasonNone:
+            return UnityARTrackingStateReasonNone;
+        case ARTrackingStateReasonInitializing:
+            return UnityARTrackingStateReasonInitializing;
+        case ARTrackingStateReasonExcessiveMotion:
+            return UnityARTrackingStateReasonExcessiveMotion;
+        case ARTrackingStateReasonInsufficientFeatures:
+            return UnityARTrackingStateReasonInsufficientFeatures;
+        default:
+            [NSException raise:@"UnrecognizedARTrackingStateReason" format:@"Unrecognized ARTrackingStateReason: %ld", (long)trackingReason];
+            break;
+    }
+}
+
+inline ARSessionRunOptions GetARSessionRunOptionsFromUnityARSessionRunOptions(UnityARSessionRunOptions runOptions)
+{
+    ARSessionRunOptions ret = 0;
+    if ((runOptions & UnityARSessionRunOptionResetTracking) != 0)
+        ret |= ARSessionRunOptionResetTracking;
+    if ((runOptions & UnityARSessionRunOptionRemoveExistingAnchors) != 0)
+        ret |= ARSessionRunOptionRemoveExistingAnchors;
+    return ret;
+}
+
+inline void GetARSessionConfigurationFromARKitWorldTrackingSessionConfiguration(ARKitWorldTrackingSessionConfiguration& unityConfig, ARWorldTrackingConfiguration* appleConfig)
+{
+    appleConfig.planeDetection = GetARPlaneDetectionFromUnityARPlaneDetection(unityConfig.planeDetection);
+    appleConfig.worldAlignment = GetARWorldAlignmentFromUnityARAlignment(unityConfig.alignment);
+    appleConfig.lightEstimationEnabled = (BOOL)unityConfig.enableLightEstimation;
+}
+
+inline void GetARSessionConfigurationFromARKitSessionConfiguration(ARKitSessionConfiguration& unityConfig, ARConfiguration* appleConfig)
+{
+    appleConfig.worldAlignment = GetARWorldAlignmentFromUnityARAlignment(unityConfig.alignment);
+    appleConfig.lightEstimationEnabled = (BOOL)unityConfig.enableLightEstimation;
+}
+
+inline void GetARFaceConfigurationFromARKitFaceConfiguration(ARKitFaceTrackingConfiguration& unityConfig, ARConfiguration* appleConfig)
+{
+    appleConfig.worldAlignment = GetARWorldAlignmentFromUnityARAlignment(unityConfig.alignment);
+    appleConfig.lightEstimationEnabled = (BOOL)unityConfig.enableLightEstimation;
+}
+
+inline void ARKitMatrixToUnityARMatrix4x4(const matrix_float4x4& matrixIn, UnityARMatrix4x4* matrixOut)
+{
+    vector_float4 c0 = matrixIn.columns[0];
+    matrixOut->column0.x = c0.x;
+    matrixOut->column0.y = c0.y;
+    matrixOut->column0.z = c0.z;
+    matrixOut->column0.w = c0.w;
+
+    vector_float4 c1 = matrixIn.columns[1];
+    matrixOut->column1.x = c1.x;
+    matrixOut->column1.y = c1.y;
+    matrixOut->column1.z = c1.z;
+    matrixOut->column1.w = c1.w;
+
+    vector_float4 c2 = matrixIn.columns[2];
+    matrixOut->column2.x = c2.x;
+    matrixOut->column2.y = c2.y;
+    matrixOut->column2.z = c2.z;
+    matrixOut->column2.w = c2.w;
+
+    vector_float4 c3 = matrixIn.columns[3];
+    matrixOut->column3.x = c3.x;
+    matrixOut->column3.y = c3.y;
+    matrixOut->column3.z = c3.z;
+    matrixOut->column3.w = c3.w;
+}
+
+
+static inline void GetUnityARCameraDataFromCamera(UnityARCamera& unityARCamera, ARCamera* camera, BOOL getPointCloudData)
+{
+    CGSize nativeSize = GetAppController().rootView.bounds.size;
+    matrix_float4x4 projectionMatrix = [camera projectionMatrixForOrientation:[[UIApplication sharedApplication] statusBarOrientation] viewportSize:nativeSize zNear:(CGFloat)unityCameraNearZ zFar:(CGFloat)unityCameraFarZ];
+    
+    ARKitMatrixToUnityARMatrix4x4(projectionMatrix, &s_CameraProjectionMatrix);
+    ARKitMatrixToUnityARMatrix4x4(projectionMatrix, &unityARCamera.projectionMatrix);
+    
+    unityARCamera.trackingState = GetUnityARTrackingStateFromARTrackingState(camera.trackingState);
+    unityARCamera.trackingReason = GetUnityARTrackingReasonFromARTrackingReason(camera.trackingStateReason);
+    unityARCamera.getPointCloudData = getPointCloudData;
+}
+
+inline void UnityARAnchorDataFromARAnchorPtr(UnityARAnchorData& anchorData, ARPlaneAnchor* nativeAnchor)
+{
+    anchorData.identifier = (void*)[nativeAnchor.identifier.UUIDString UTF8String];
+    ARKitMatrixToUnityARMatrix4x4(nativeAnchor.transform, &anchorData.transform);
+    anchorData.alignment = nativeAnchor.alignment;
+    anchorData.center.x = nativeAnchor.center.x;
+    anchorData.center.y = nativeAnchor.center.y;
+    anchorData.center.z = nativeAnchor.center.z;
+    anchorData.extent.x = nativeAnchor.extent.x;
+    anchorData.extent.y = nativeAnchor.extent.y;
+    anchorData.extent.z = nativeAnchor.extent.z;
+}
+
+inline void UnityARMatrix4x4FromCGAffineTransform(UnityARMatrix4x4& outMatrix, CGAffineTransform displayTransform, BOOL isLandscape)
+{
+    if (isLandscape)
+    {
+        outMatrix.column0.x = displayTransform.a;
+        outMatrix.column0.y = displayTransform.c;
+        outMatrix.column0.z = displayTransform.tx;
+        outMatrix.column1.x = displayTransform.b;
+        outMatrix.column1.y = -displayTransform.d;
+        outMatrix.column1.z = 1.0f - displayTransform.ty;
+        outMatrix.column2.z = 1.0f;
+        outMatrix.column3.w = 1.0f; 
+    }
+    else
+    {
+        outMatrix.column0.x = displayTransform.a;
+        outMatrix.column0.y = -displayTransform.c;
+        outMatrix.column0.z = 1.0f - displayTransform.tx;
+        outMatrix.column1.x = displayTransform.b;
+        outMatrix.column1.y = displayTransform.d;
+        outMatrix.column1.z = displayTransform.ty;
+        outMatrix.column2.z = 1.0f;
+        outMatrix.column3.w = 1.0f;
+    }
+}
+
+inline void UnityARUserAnchorDataFromARAnchorPtr(UnityARUserAnchorData& anchorData, ARAnchor* nativeAnchor)
+{
+    anchorData.identifier = (void*)[nativeAnchor.identifier.UUIDString UTF8String];
+    ARKitMatrixToUnityARMatrix4x4(nativeAnchor.transform, &anchorData.transform);
+}
+
+#if ARKIT_USES_FACETRACKING
+inline void UnityARFaceGeometryFromARFaceGeometry(UnityARFaceGeometry& faceGeometry, ARFaceGeometry *arFaceGeometry)
+{
+    faceGeometry.vertexCount = arFaceGeometry.vertexCount;
+    faceGeometry.triangleCount = arFaceGeometry.triangleCount;
+    faceGeometry.textureCoordinateCount = arFaceGeometry.textureCoordinateCount;
+    faceGeometry.vertices = (float *) arFaceGeometry.vertices;
+    faceGeometry.triangleIndices = (int *) arFaceGeometry.triangleIndices;
+    faceGeometry.textureCoordinates = (float *) arFaceGeometry.textureCoordinates;
+}
+
+inline void UnityARFaceAnchorDataFromARFaceAnchorPtr(UnityARFaceAnchorData& anchorData, ARFaceAnchor* nativeAnchor)
+{
+    anchorData.identifier = (void*)[nativeAnchor.identifier.UUIDString UTF8String];
+    ARKitMatrixToUnityARMatrix4x4(nativeAnchor.transform, &anchorData.transform);
+    UnityARFaceGeometryFromARFaceGeometry(anchorData.faceGeometry, nativeAnchor.geometry);
+    anchorData.blendShapes = (__bridge void *) nativeAnchor.blendShapes;
+}
+#endif
+
+inline void UnityLightDataFromARFrame(UnityLightData& lightData, ARFrame *arFrame)
+{
+    if (arFrame.lightEstimate != NULL)
+    {
+#if ARKIT_USES_FACETRACKING
+        if ([arFrame.lightEstimate class] == [ARDirectionalLightEstimate class])
+        {
+            lightData.arLightingType = DirectionalLightEstimate;
+            ARDirectionalLightEstimate *dirLightEst = (ARDirectionalLightEstimate *) arFrame.lightEstimate;
+            lightData.arDirectionalLightEstimate.sphericalHarmonicsCoefficients = (float *) dirLightEst.sphericalHarmonicsCoefficients.bytes;
+
+            //[dirLightEst.sphericalHarmonicsCoefficients getBytes:lightData.arDirectionalLightEstimate.sphericalHarmonicsCoefficients length:sizeof(float)*27 ];
+
+            UnityARVector4 dirAndIntensity;
+            dirAndIntensity.x = dirLightEst.primaryLightDirection.x;
+            dirAndIntensity.y = dirLightEst.primaryLightDirection.y;
+            dirAndIntensity.z = dirLightEst.primaryLightDirection.z;
+            dirAndIntensity.w = dirLightEst.primaryLightIntensity;
+            lightData.arDirectionalLightEstimate.primaryLightDirectionAndIntensity = dirAndIntensity;
+        }
+        else
+#endif
+        {
+            lightData.arLightingType = LightEstimate;
+            lightData.arLightEstimate.ambientIntensity = arFrame.lightEstimate.ambientIntensity;
+            lightData.arLightEstimate.ambientColorTemperature = arFrame.lightEstimate.ambientColorTemperature;
+        }
+    }
+    
+}
+
+@protocol UnityARAnchorEventDispatcher
+@required
+    -(void)sendAnchorAddedEvent:(ARAnchor*)anchor;
+    -(void)sendAnchorRemovedEvent:(ARAnchor*)anchor;
+    -(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor;
+@end
+
+@interface UnityARAnchorCallbackWrapper : NSObject <UnityARAnchorEventDispatcher>
+{
+@public
+    UNITY_AR_ANCHOR_CALLBACK _anchorAddedCallback;
+    UNITY_AR_ANCHOR_CALLBACK _anchorUpdatedCallback;
+    UNITY_AR_ANCHOR_CALLBACK _anchorRemovedCallback;
+}
+@end
+
+@implementation UnityARAnchorCallbackWrapper
+
+    -(void)sendAnchorAddedEvent:(ARAnchor*)anchor
+    {
+        UnityARAnchorData data;
+        UnityARAnchorDataFromARAnchorPtr(data, (ARPlaneAnchor*)anchor);
+       _anchorAddedCallback(data);
+    }
+
+    -(void)sendAnchorRemovedEvent:(ARAnchor*)anchor
+    {
+        UnityARAnchorData data;
+        UnityARAnchorDataFromARAnchorPtr(data, (ARPlaneAnchor*)anchor);
+       _anchorRemovedCallback(data);
+    }
+
+    -(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor
+    {
+        UnityARAnchorData data;
+        UnityARAnchorDataFromARAnchorPtr(data, (ARPlaneAnchor*)anchor);
+       _anchorUpdatedCallback(data);
+    }
+
+@end
+
+@interface UnityARUserAnchorCallbackWrapper : NSObject <UnityARAnchorEventDispatcher>
+{
+@public
+    UNITY_AR_USER_ANCHOR_CALLBACK _anchorAddedCallback;
+    UNITY_AR_USER_ANCHOR_CALLBACK _anchorUpdatedCallback;
+    UNITY_AR_USER_ANCHOR_CALLBACK _anchorRemovedCallback;
+}
+@end
+
+@implementation UnityARUserAnchorCallbackWrapper
+
+    -(void)sendAnchorAddedEvent:(ARAnchor*)anchor
+    {
+        UnityARUserAnchorData data;
+        UnityARUserAnchorDataFromARAnchorPtr(data, anchor);
+       _anchorAddedCallback(data);
+    }
+
+    -(void)sendAnchorRemovedEvent:(ARAnchor*)anchor
+    {
+        UnityARUserAnchorData data;
+        UnityARUserAnchorDataFromARAnchorPtr(data, anchor);
+       _anchorRemovedCallback(data);
+    }
+
+    -(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor
+    {
+        UnityARUserAnchorData data;
+        UnityARUserAnchorDataFromARAnchorPtr(data, anchor);
+       _anchorUpdatedCallback(data);
+    }
+
+@end
+
+@interface UnityARFaceAnchorCallbackWrapper : NSObject <UnityARAnchorEventDispatcher>
+{
+@public
+    UNITY_AR_FACE_ANCHOR_CALLBACK _anchorAddedCallback;
+    UNITY_AR_FACE_ANCHOR_CALLBACK _anchorUpdatedCallback;
+    UNITY_AR_FACE_ANCHOR_CALLBACK _anchorRemovedCallback;
+}
+@end
+
+@implementation UnityARFaceAnchorCallbackWrapper
+
+-(void)sendAnchorAddedEvent:(ARAnchor*)anchor
+{
+#if ARKIT_USES_FACETRACKING
+    UnityARFaceAnchorData data;
+    UnityARFaceAnchorDataFromARFaceAnchorPtr(data, (ARFaceAnchor*)anchor);
+    _anchorAddedCallback(data);
+#endif
+}
+
+-(void)sendAnchorRemovedEvent:(ARAnchor*)anchor
+{
+#if ARKIT_USES_FACETRACKING
+    UnityARFaceAnchorData data;
+    UnityARFaceAnchorDataFromARFaceAnchorPtr(data, (ARFaceAnchor*)anchor);
+    _anchorRemovedCallback(data);
+#endif
+}
+
+-(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor
+{
+#if ARKIT_USES_FACETRACKING
+    UnityARFaceAnchorData data;
+    UnityARFaceAnchorDataFromARFaceAnchorPtr(data, (ARFaceAnchor*)anchor);
+    _anchorUpdatedCallback(data);
+#endif
+}
+
+@end
+
+static UnityPixelBuffer s_UnityPixelBuffers;
+
+@interface UnityARSession : NSObject <ARSessionDelegate>
+{
+@public
+    ARSession* _session;
+    UNITY_AR_FRAME_CALLBACK _frameCallback;
+    UNITY_AR_SESSION_FAILED_CALLBACK _arSessionFailedCallback;
+    UNITY_AR_SESSION_VOID_CALLBACK _arSessionInterrupted;
+    UNITY_AR_SESSION_VOID_CALLBACK _arSessionInterruptionEnded;
+    UNITY_AR_SESSION_TRACKING_CHANGED _arSessionTrackingChanged;
+
+    NSMutableDictionary* _classToCallbackMap;
+    
+    id <MTLDevice> _device;
+    CVMetalTextureCacheRef _textureCache;
+    BOOL _getPointCloudData;
+}
+@end
+
+@implementation UnityARSession
+
+- (id)init
+{
+    if (self = [super init])
+    {
+        _classToCallbackMap = [[NSMutableDictionary alloc] init];
+    }
+    return self;
+}
+
+- (void)setupMetal
+{
+    _device = MTLCreateSystemDefaultDevice();
+    CVMetalTextureCacheCreate(NULL, NULL, _device, NULL, &_textureCache);
+}
+
+- (void)teardownMetal
+{
+    if (_textureCache) {
+        CFRelease(_textureCache);
+    }
+}
+
+static CGAffineTransform s_CurAffineTransform;
+
+- (void)session:(ARSession *)session didUpdateFrame:(ARFrame *)frame
+{
+    s_AmbientIntensity = frame.lightEstimate.ambientIntensity;
+    s_TrackingQuality = (int)frame.camera.trackingState;
+    s_PointCloud = frame.rawFeaturePoints.points;
+    s_PointCloudSize = frame.rawFeaturePoints.count;
+
+    UIInterfaceOrientation orient = [[UIApplication sharedApplication] statusBarOrientation];
+
+    CGRect nativeBounds = [[UIScreen mainScreen] nativeBounds];
+    CGSize nativeSize = GetAppController().rootView.bounds.size;
+    UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
+    s_CurAffineTransform = CGAffineTransformInvert([frame displayTransformForOrientation:orientation viewportSize:nativeSize]);
+
+    UnityARCamera unityARCamera;
+
+    GetUnityARCameraDataFromCamera(unityARCamera, frame.camera, _getPointCloudData);
+
+    
+    CVPixelBufferRef pixelBuffer = frame.capturedImage;
+    
+    size_t imageWidth = CVPixelBufferGetWidth(pixelBuffer);
+    size_t imageHeight = CVPixelBufferGetHeight(pixelBuffer);
+    
+    float imageAspect = (float)imageWidth / (float)imageHeight;
+    float screenAspect = nativeBounds.size.height / nativeBounds.size.width;
+    unityARCamera.videoParams.texCoordScale =  screenAspect / imageAspect;
+    s_ShaderScale = screenAspect / imageAspect;
+    
+    UnityLightDataFromARFrame(unityARCamera.lightData, frame);
+
+    unityARCamera.videoParams.yWidth = (uint32_t)imageWidth;
+    unityARCamera.videoParams.yHeight = (uint32_t)imageHeight;
+    unityARCamera.videoParams.cvPixelBufferPtr = (void *) pixelBuffer;
+    UnityARMatrix4x4 displayTransform;
+    memset(&displayTransform, 0, sizeof(UnityARMatrix4x4));
+    UnityARMatrix4x4FromCGAffineTransform(displayTransform, s_CurAffineTransform, UIInterfaceOrientationIsLandscape(orientation));
+    unityARCamera.displayTransform = displayTransform;
+
+    if (_frameCallback != NULL)
+    {
+
+        matrix_float4x4 rotatedMatrix = matrix_identity_float4x4;
+        unityARCamera.videoParams.screenOrientation = 3;
+
+        // rotation  matrix
+        // [ cos    -sin]
+        // [ sin     cos]
+        switch (orient) {
+            case UIInterfaceOrientationPortrait:
+                rotatedMatrix.columns[0][0] = 0;
+                rotatedMatrix.columns[0][1] = 1;
+                rotatedMatrix.columns[1][0] = -1;
+                rotatedMatrix.columns[1][1] = 0;
+                unityARCamera.videoParams.screenOrientation = 1;
+                break;
+            case UIInterfaceOrientationLandscapeLeft:
+                rotatedMatrix.columns[0][0] = -1;
+                rotatedMatrix.columns[0][1] = 0;
+                rotatedMatrix.columns[1][0] = 0;
+                rotatedMatrix.columns[1][1] = -1;
+                unityARCamera.videoParams.screenOrientation = 4;
+                break;
+            case UIInterfaceOrientationPortraitUpsideDown:
+                rotatedMatrix.columns[0][0] = 0;
+                rotatedMatrix.columns[0][1] = -1;
+                rotatedMatrix.columns[1][0] = 1;
+                rotatedMatrix.columns[1][1] = 0;
+                unityARCamera.videoParams.screenOrientation = 2;
+                break;
+            default:
+                break;
+        }
+
+        matrix_float4x4 matrix = matrix_multiply(frame.camera.transform, rotatedMatrix);
+
+        ARKitMatrixToUnityARMatrix4x4(matrix, &unityARCamera.worldTransform);
+
+        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+            _frameCallback(unityARCamera);
+        });
+    }
+
+    
+    if (CVPixelBufferGetPlaneCount(pixelBuffer) < 2 || CVPixelBufferGetPixelFormatType(pixelBuffer) != kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) {
+        return;
+    }
+    
+    if (s_UnityPixelBuffers.bEnable)
+    {
+        
+        CVPixelBufferLockBaseAddress(pixelBuffer, kCVPixelBufferLock_ReadOnly);
+        
+        if (s_UnityPixelBuffers.pYPixelBytes)
+        {
+            unsigned long numBytes = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 0) * CVPixelBufferGetHeightOfPlane(pixelBuffer,0);
+            void* baseAddress = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer,0);
+            memcpy(s_UnityPixelBuffers.pYPixelBytes, baseAddress, numBytes);
+        }
+        if (s_UnityPixelBuffers.pUVPixelBytes)
+        {
+            unsigned long numBytes = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 1) * CVPixelBufferGetHeightOfPlane(pixelBuffer,1);
+            void* baseAddress = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer,1);
+            memcpy(s_UnityPixelBuffers.pUVPixelBytes, baseAddress, numBytes);
+        }
+        
+        CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);
+    }
+    
+    id<MTLTexture> textureY = nil;
+    id<MTLTexture> textureCbCr = nil;
+
+    // textureY
+    {
+        const size_t width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 0);
+        const size_t height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 0);
+        MTLPixelFormat pixelFormat = MTLPixelFormatR8Unorm;
+        
+        
+        CVMetalTextureRef texture = NULL;
+        CVReturn status = CVMetalTextureCacheCreateTextureFromImage(NULL, _textureCache, pixelBuffer, NULL, pixelFormat, width, height, 0, &texture);
+        if(status == kCVReturnSuccess)
+        {
+            textureY = CVMetalTextureGetTexture(texture);
+            CFRelease(texture);
+        }
+    }
+
+    // textureCbCr
+    {
+        const size_t width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 1);
+        const size_t height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 1);
+        MTLPixelFormat pixelFormat = MTLPixelFormatRG8Unorm;
+
+        CVMetalTextureRef texture = NULL;
+        CVReturn status = CVMetalTextureCacheCreateTextureFromImage(NULL, _textureCache, pixelBuffer, NULL, pixelFormat, width, height, 1, &texture);
+        if(status == kCVReturnSuccess)
+        {
+            textureCbCr = CVMetalTextureGetTexture(texture);
+            CFRelease(texture);
+        }
+    }
+
+    if (textureY != nil && textureCbCr != nil) {
+        dispatch_async(dispatch_get_main_queue(), ^{
+            // always assign the textures atomic
+            s_CapturedImageTextureY = textureY;
+            s_CapturedImageTextureCbCr = textureCbCr;
+        });
+    }
+}
+
+- (void)session:(ARSession *)session didFailWithError:(NSError *)error
+{
+    if (_arSessionFailedCallback != NULL)
+    {
+        _arSessionFailedCallback(static_cast<const void*>([[error localizedDescription] UTF8String]));
+    }
+}
+
+- (void)session:(ARSession *)session didAddAnchors:(NSArray<ARAnchor*>*)anchors
+{
+    [self sendAnchorAddedEventToUnity:anchors];
+}
+
+- (void)session:(ARSession *)session didUpdateAnchors:(NSArray<ARAnchor*>*)anchors
+{
+   [self sendAnchorUpdatedEventToUnity:anchors];
+}
+
+- (void)session:(ARSession *)session didRemoveAnchors:(NSArray<ARAnchor*>*)anchors
+{
+   [self sendAnchorRemovedEventToUnity:anchors];
+}
+
+- (void) sendAnchorAddedEventToUnity:(NSArray<ARAnchor*>*)anchors
+{
+    for (ARAnchor* anchorPtr in anchors)
+    {
+        id<UnityARAnchorEventDispatcher> dispatcher = [_classToCallbackMap objectForKey:[anchorPtr class]];
+        [dispatcher sendAnchorAddedEvent:anchorPtr];
+    }
+}
+
+- (void)session:(ARSession *)session cameraDidChangeTrackingState:(ARCamera *)camera
+{
+    if (_arSessionTrackingChanged != NULL)
+    {
+        UnityARCamera unityCamera;
+        GetUnityARCameraDataFromCamera(unityCamera, camera, _getPointCloudData);
+        _arSessionTrackingChanged(unityCamera);
+    }
+}
+
+- (void)sessionWasInterrupted:(ARSession *)session
+{
+    if (_arSessionInterrupted != NULL)
+    {
+        _arSessionInterrupted();
+
+    }
+}
+
+- (void)sessionInterruptionEnded:(ARSession *)session
+{
+    if (_arSessionInterruptionEnded != NULL)
+    {
+        _arSessionInterruptionEnded();
+    }
+}
+
+- (void) sendAnchorRemovedEventToUnity:(NSArray<ARAnchor*>*)anchors
+{
+    for (ARAnchor* anchorPtr in anchors)
+    {
+        id<UnityARAnchorEventDispatcher> dispatcher = [_classToCallbackMap objectForKey:[anchorPtr class]];
+        [dispatcher sendAnchorRemovedEvent:anchorPtr];
+    }
+}
+
+- (void) sendAnchorUpdatedEventToUnity:(NSArray<ARAnchor*>*)anchors
+{
+    for (ARAnchor* anchorPtr in anchors)
+    {
+        id<UnityARAnchorEventDispatcher> dispatcher = [_classToCallbackMap objectForKey:[anchorPtr class]];
+        [dispatcher sendAnchorUpdatedEvent:anchorPtr];
+    }
+}
+
+@end
+
+/// Create the native mirror to the C# ARSession object
+
+extern "C" void* unity_CreateNativeARSession()
+{
+    UnityARSession *nativeSession = [[UnityARSession alloc] init];
+    nativeSession->_session = [ARSession new];
+    nativeSession->_session.delegate = nativeSession;
+    unityCameraNearZ = .01;
+    unityCameraFarZ = 30;
+    s_UnityPixelBuffers.bEnable = false;
+    return (__bridge_retained void*)nativeSession;
+}
+
+extern "C" void session_SetSessionCallbacks(const void* session, UNITY_AR_FRAME_CALLBACK frameCallback,
+                                            UNITY_AR_SESSION_FAILED_CALLBACK sessionFailed,
+                                            UNITY_AR_SESSION_VOID_CALLBACK sessionInterrupted,
+                                            UNITY_AR_SESSION_VOID_CALLBACK sessionInterruptionEnded,
+                                            UNITY_AR_SESSION_TRACKING_CHANGED trackingChanged)
+{
+    UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+    nativeSession->_frameCallback = frameCallback; 
+    nativeSession->_arSessionFailedCallback = sessionFailed;
+    nativeSession->_arSessionInterrupted = sessionInterrupted;
+    nativeSession->_arSessionInterruptionEnded = sessionInterruptionEnded;
+    nativeSession->_arSessionTrackingChanged = trackingChanged;
+}
+
+extern "C" void session_SetPlaneAnchorCallbacks(const void* session, UNITY_AR_ANCHOR_CALLBACK anchorAddedCallback, 
+                                            UNITY_AR_ANCHOR_CALLBACK anchorUpdatedCallback, 
+                                            UNITY_AR_ANCHOR_CALLBACK anchorRemovedCallback)
+{
+    UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+    UnityARAnchorCallbackWrapper* anchorCallbacks = [[UnityARAnchorCallbackWrapper alloc] init];
+    anchorCallbacks->_anchorAddedCallback = anchorAddedCallback;
+    anchorCallbacks->_anchorUpdatedCallback = anchorUpdatedCallback;
+    anchorCallbacks->_anchorRemovedCallback = anchorRemovedCallback;
+    [nativeSession->_classToCallbackMap setObject:anchorCallbacks forKey:[ARPlaneAnchor class]];
+}
+
+extern "C" void session_SetUserAnchorCallbacks(const void* session, UNITY_AR_USER_ANCHOR_CALLBACK userAnchorAddedCallback, 
+                                            UNITY_AR_USER_ANCHOR_CALLBACK userAnchorUpdatedCallback, 
+                                            UNITY_AR_USER_ANCHOR_CALLBACK userAnchorRemovedCallback)
+{
+    UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+    UnityARUserAnchorCallbackWrapper* userAnchorCallbacks = [[UnityARUserAnchorCallbackWrapper alloc] init];
+    userAnchorCallbacks->_anchorAddedCallback = userAnchorAddedCallback;
+    userAnchorCallbacks->_anchorUpdatedCallback = userAnchorUpdatedCallback;
+    userAnchorCallbacks->_anchorRemovedCallback = userAnchorRemovedCallback;
+    [nativeSession->_classToCallbackMap setObject:userAnchorCallbacks forKey:[ARAnchor class]];
+}
+
+extern "C" void session_SetFaceAnchorCallbacks(const void* session, UNITY_AR_FACE_ANCHOR_CALLBACK faceAnchorAddedCallback,
+                                               UNITY_AR_FACE_ANCHOR_CALLBACK faceAnchorUpdatedCallback,
+                                               UNITY_AR_FACE_ANCHOR_CALLBACK faceAnchorRemovedCallback)
+{
+#if ARKIT_USES_FACETRACKING
+    UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+    UnityARFaceAnchorCallbackWrapper* faceAnchorCallbacks = [[UnityARFaceAnchorCallbackWrapper alloc] init];
+    faceAnchorCallbacks->_anchorAddedCallback = faceAnchorAddedCallback;
+    faceAnchorCallbacks->_anchorUpdatedCallback = faceAnchorUpdatedCallback;
+    faceAnchorCallbacks->_anchorRemovedCallback = faceAnchorRemovedCallback;
+    [nativeSession->_classToCallbackMap setObject:faceAnchorCallbacks forKey:[ARFaceAnchor class]];
+#endif
+}
+
+extern "C" void StartWorldTrackingSessionWithOptions(void* nativeSession, ARKitWorldTrackingSessionConfiguration unityConfig, UnityARSessionRunOptions runOptions)
+{
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    ARWorldTrackingConfiguration* config = [ARWorldTrackingConfiguration new];
+    ARSessionRunOptions runOpts = GetARSessionRunOptionsFromUnityARSessionRunOptions(runOptions);
+    GetARSessionConfigurationFromARKitWorldTrackingSessionConfiguration(unityConfig, config);
+    session->_getPointCloudData = (BOOL) unityConfig.getPointCloudData;
+    [session->_session runWithConfiguration:config options:runOpts ];
+    [session setupMetal];
+}
+
+
+
+extern "C" void StartWorldTrackingSession(void* nativeSession, ARKitWorldTrackingSessionConfiguration unityConfig)
+{
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    ARWorldTrackingConfiguration* config = [ARWorldTrackingConfiguration new];
+    GetARSessionConfigurationFromARKitWorldTrackingSessionConfiguration(unityConfig, config);
+    session->_getPointCloudData = (BOOL) unityConfig.getPointCloudData;
+    [session->_session runWithConfiguration:config];
+    [session setupMetal];
+}
+
+extern "C" void StartSessionWithOptions(void* nativeSession, ARKitSessionConfiguration unityConfig, UnityARSessionRunOptions runOptions)
+{
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    ARConfiguration* config = [AROrientationTrackingConfiguration new];
+    ARSessionRunOptions runOpts = GetARSessionRunOptionsFromUnityARSessionRunOptions(runOptions);
+    GetARSessionConfigurationFromARKitSessionConfiguration(unityConfig, config);
+    session->_getPointCloudData = (BOOL) unityConfig.getPointCloudData;
+    [session->_session runWithConfiguration:config options:runOpts ];
+    [session setupMetal];
+}
+
+
+
+extern "C" void StartSession(void* nativeSession, ARKitSessionConfiguration unityConfig)
+{
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    ARConfiguration* config = [AROrientationTrackingConfiguration new];
+    GetARSessionConfigurationFromARKitSessionConfiguration(unityConfig, config);
+    session->_getPointCloudData = (BOOL) unityConfig.getPointCloudData;
+    [session->_session runWithConfiguration:config];
+    [session setupMetal];
+}
+
+extern "C" void StartFaceTrackingSessionWithOptions(void* nativeSession, ARKitFaceTrackingConfiguration unityConfig, UnityARSessionRunOptions runOptions)
+{
+#if ARKIT_USES_FACETRACKING
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    ARConfiguration* config = [ARFaceTrackingConfiguration new];
+    ARSessionRunOptions runOpts = GetARSessionRunOptionsFromUnityARSessionRunOptions(runOptions);
+    GetARFaceConfigurationFromARKitFaceConfiguration(unityConfig, config);
+    [session->_session runWithConfiguration:config options:runOpts ];
+    [session setupMetal];
+#else
+    [NSException raise:@"UnityARKitPluginFaceTrackingNotEnabled" format:@"UnityARKitPlugin: Trying to start FaceTracking session without enabling it in settings."];
+#endif
+}
+
+extern "C" void StartFaceTrackingSession(void* nativeSession, ARKitFaceTrackingConfiguration unityConfig)
+{
+    StartFaceTrackingSessionWithOptions(nativeSession, unityConfig, UnityARSessionRunOptionsNone);
+}
+
+extern "C" void PauseSession(void* nativeSession)
+{
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    [session->_session pause];
+}
+
+extern "C" void StopSession(void* nativeSession)
+{
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    [session teardownMetal];
+}
+
+extern "C" UnityARUserAnchorData SessionAddUserAnchor(void* nativeSession, UnityARUserAnchorData anchorData)
+{
+    // create a native ARAnchor and add it to the session
+    // then return the data back to the user that they will
+    // need in case they want to remove it
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    ARAnchor *newAnchor = [[ARAnchor alloc] initWithTransform:matrix_identity_float4x4];
+    
+    [session->_session addAnchor:newAnchor];
+    UnityARUserAnchorData returnAnchorData;
+    UnityARUserAnchorDataFromARAnchorPtr(returnAnchorData, newAnchor);
+    return returnAnchorData;
+}
+
+extern "C" void SessionRemoveUserAnchor(void* nativeSession, const char * anchorIdentifier)
+{
+    // go through anchors and find the right one
+    // then remove it from the session
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    for (ARAnchor* a in session->_session.currentFrame.anchors)
+    {
+        if ([[a.identifier UUIDString] isEqualToString:[NSString stringWithUTF8String:anchorIdentifier]])
+        {
+            [session->_session removeAnchor:a];
+            return;
+        }
+    }
+}
+
+extern "C" void SetCameraNearFar (float nearZ, float farZ)
+{
+    unityCameraNearZ = nearZ;
+    unityCameraFarZ = farZ;
+}
+
+extern "C" void CapturePixelData (uint32_t enable, void* pYPixelBytes, void *pUVPixelBytes)
+{
+    s_UnityPixelBuffers.bEnable = (BOOL) enable;
+    if (s_UnityPixelBuffers.bEnable)
+    {
+        s_UnityPixelBuffers.pYPixelBytes = pYPixelBytes;
+        s_UnityPixelBuffers.pUVPixelBytes = pUVPixelBytes;
+    } else {
+        s_UnityPixelBuffers.pYPixelBytes = NULL;
+        s_UnityPixelBuffers.pUVPixelBytes = NULL;
+    }
+}
+
+extern "C" struct HitTestResult
+{
+    void* ptr;
+    int count;
+};
+
+// Must match ARHitTestResult in ARHitTestResult.cs
+extern "C" struct UnityARHitTestResult
+{
+    ARHitTestResultType type;
+    double distance;
+    UnityARMatrix4x4 localTransform;
+    UnityARMatrix4x4 worldTransform;
+    void* anchorPtr;
+    bool isValid;
+};
+
+// Must match ARTextureHandles in UnityARSession.cs
+extern "C" struct UnityARTextureHandles
+{
+    void* textureY;
+    void* textureCbCr;
+};
+
+// Cache results locally
+static NSArray<ARHitTestResult *>* s_LastHitTestResults;
+
+// Returns the number of hits and caches the results internally
+extern "C" int HitTest(void* nativeSession, CGPoint point, ARHitTestResultType types)
+{
+    UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+    point = CGPointApplyAffineTransform(CGPointMake(point.x, 1.0f - point.y), CGAffineTransformInvert(CGAffineTransformInvert(s_CurAffineTransform)));
+    s_LastHitTestResults = [session->_session.currentFrame hitTest:point types:types];
+
+    return (int)[s_LastHitTestResults count];
+}
+extern "C" UnityARHitTestResult GetLastHitTestResult(int index)
+{
+    UnityARHitTestResult unityResult;
+    memset(&unityResult, 0, sizeof(UnityARHitTestResult));
+
+    if (s_LastHitTestResults != nil && index >= 0 && index < [s_LastHitTestResults count])
+    {
+        ARHitTestResult* hitResult = s_LastHitTestResults[index];
+        unityResult.type = hitResult.type;
+        unityResult.distance = hitResult.distance;
+        ARKitMatrixToUnityARMatrix4x4(hitResult.localTransform, &unityResult.localTransform);
+        ARKitMatrixToUnityARMatrix4x4(hitResult.worldTransform, &unityResult.worldTransform);
+        unityResult.anchorPtr = (void*)[hitResult.anchor.identifier.UUIDString UTF8String];
+        unityResult.isValid = true;
+    }
+
+    return unityResult;
+}
+
+extern "C" UnityARTextureHandles GetVideoTextureHandles()
+{
+    UnityARTextureHandles handles;
+    handles.textureY = (__bridge_retained void*)s_CapturedImageTextureY;
+    handles.textureCbCr = (__bridge_retained void*)s_CapturedImageTextureCbCr;
+
+    return handles;
+}
+
+extern "C" bool GetARPointCloud(float** verts, unsigned int* vertLength)
+{
+    *verts = (float*)s_PointCloud;
+    *vertLength = (unsigned int)s_PointCloudSize * 4;
+    return YES;
+}
+
+extern "C" UnityARMatrix4x4 GetCameraProjectionMatrix()
+{
+    return s_CameraProjectionMatrix;
+}
+
+extern "C" float GetAmbientIntensity()
+{
+    return s_AmbientIntensity;
+}
+
+extern "C" int GetTrackingQuality()
+{
+    return s_TrackingQuality;
+}
+
+extern "C" bool IsARKitWorldTrackingSessionConfigurationSupported()
+{
+    return ARWorldTrackingConfiguration.isSupported;
+}
+
+extern "C" bool IsARKitSessionConfigurationSupported()
+{
+    return AROrientationTrackingConfiguration.isSupported;
+}
+
+extern "C" bool IsARKitFaceTrackingConfigurationSupported()
+{
+#if ARKIT_USES_FACETRACKING
+    return ARFaceTrackingConfiguration.isSupported;
+#else
+    [NSException raise:@"UnityARKitPluginFaceTrackingNotEnabled" format:@"UnityARKitPlugin: Checking FaceTracking device support without enabling it in settings."];
+#endif
+}
+
+extern "C" void GetBlendShapesInfo(void* ptrDictionary, void (*visitorFn)(const char* key, const float value))
+{
+#if ARKIT_USES_FACETRACKING
+    // Get your NSDictionary
+    NSDictionary<ARBlendShapeLocation, NSNumber*> * dictionary = (__bridge NSDictionary<ARBlendShapeLocation, NSNumber*> *) ptrDictionary;
+    
+    for(NSString* key in dictionary)
+    {
+        NSNumber* value = [dictionary objectForKey:key];
+        visitorFn([key UTF8String], [value floatValue]);
+    }
+#endif
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3feac2220b5ec50c86c4f3174f913d94b5ac1997
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 9ecd21425b31a46ef9abc90a0516e9a1
+timeCreated: 1492108287
+licenseType: Pro
+PluginImporter:
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  isPreloaded: 0
+  isOverridable: 0
+  platformData:
+    data:
+      first:
+        Any: 
+      second:
+        enabled: 0
+        settings: {}
+    data:
+      first:
+        Editor: Editor
+      second:
+        enabled: 0
+        settings:
+          DefaultValueInitialized: true
+    data:
+      first:
+        iPhone: iOS
+      second:
+        enabled: 1
+        settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bf48f23728248b5dbe7cb99ad3a6da06dd80de47
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARSize
+	{
+		public double width;
+		public double height;
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ba4081b785607ecd356ba34896ec374ab78efbd8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c72e6d3d39c0b495ba3d40c3cbd3a8ca
+timeCreated: 1492114222
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a30f588468303ec386a2f351eac1acb2e8a58457
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARTextureHandles
+	{
+		// Native (Metal) texture handles for the device camera buffer
+		public IntPtr textureY;
+		public IntPtr textureCbCr;
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..03f61df4ad7b9ba848cc661c510c1eb8b9480514
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 223ca11cf486046fe9c3740ee69b7a27
+timeCreated: 1493064086
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs
new file mode 100644
index 0000000000000000000000000000000000000000..31dde33c4f286f61efc3f79e60fc7073c132e939
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs
@@ -0,0 +1,21 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public enum ARTrackingQuality : long
+	{
+		/** The tracking quality is not available. */
+		ARTrackingQualityNotAvailable,
+
+		/** The tracking quality is limited, relying only on the device's motion. */
+		ARTrackingQualityLimited,
+
+		/** The tracking quality is poor. */
+		ARTrackingQualityPoor,
+
+		/** The tracking quality is good. */
+		ARTrackingQualityGood
+
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..4d12088eca88223a6fb9845500f3043e914eaf3a
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 70419166c9be04782bc37a66aa7ead0a
+timeCreated: 1492114222
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d1b309e6be470c4d38360f0c1af4df4731e434aa
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs
@@ -0,0 +1,17 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+    public enum ARTrackingState
+    {
+        /** Tracking is not available. */
+        ARTrackingStateNotAvailable,
+
+        /** Tracking is limited. See tracking reason for details. */
+        ARTrackingStateLimited,
+
+        /** Tracking is Normal. */
+        ARTrackingStateNormal,
+    }
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..781522e7c4c3be5bbcbf6546f830edf910d06be8
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 3c8e21e94c4944a7eb5202db41d4bce0
+timeCreated: 1493767524
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs
new file mode 100644
index 0000000000000000000000000000000000000000..98eeabfeba562bc876b9e8e1052154ee33346102
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs
@@ -0,0 +1,20 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+    public enum ARTrackingStateReason
+    {
+        /** Tracking is not limited. */
+        ARTrackingStateReasonNone,
+
+        /** Tracking is limited due to initialization in progress. */
+        ARTrackingStateReasonInitializing,
+
+        /** Tracking is limited due to a excessive motion of the camera. */
+        ARTrackingStateReasonExcessiveMotion,
+
+        /** Tracking is limited due to a lack of features visible to the camera. */
+        ARTrackingStateReasonInsufficientFeatures,
+    }
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..70d2842330e4ff1d56779746a60544ba115ce088
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b76c532f89f25411ca5c1d82cd7a5367
+timeCreated: 1493767524
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs
new file mode 100644
index 0000000000000000000000000000000000000000..15cd01ed21d9abd38890034df4491f7e73086c53
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs
@@ -0,0 +1,16 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+	public struct ARUserAnchor 
+	{
+
+		public string identifier;
+
+		/**
+ 		The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+		 */
+		public Matrix4x4 transform;
+	}
+}
+
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..99ec493a95eb3e638e6d35a4b72f2105be680852
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e8271a80f6d6245a4bf920bbe514bbc0
+timeCreated: 1500325731
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs
new file mode 100644
index 0000000000000000000000000000000000000000..584a8305c7b5c3e885e668e8cc40dc8ae237afa4
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs
@@ -0,0 +1,853 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using System.Runtime.InteropServices;
+using AOT;
+
+namespace UnityEngine.XR.iOS {
+
+    /// <summary>
+    /// A struct that allows us go from native Matrix4x4 to managed
+    /// </summary>
+    public struct UnityARMatrix4x4
+    {
+        public Vector4 column0;
+        public Vector4 column1;
+        public Vector4 column2;
+        public Vector4 column3;
+
+		public UnityARMatrix4x4(Vector4 c0, Vector4 c1, Vector4 c2, Vector4 c3)
+		{
+			column0 = c0; column1 = c1; column2 = c2; column3 = c3;
+		}
+    };
+
+	[Serializable]
+	public struct UnityVideoParams
+	{
+		public int yWidth;
+		public int yHeight;
+		public int screenOrientation;
+		public float texCoordScale;
+		public IntPtr cvPixelBufferPtr;
+	};
+
+    struct internal_UnityARCamera
+    {
+        public UnityARMatrix4x4 worldTransform;
+        public UnityARMatrix4x4 projectionMatrix;
+        public ARTrackingState trackingState;
+        public ARTrackingStateReason trackingReason;
+		public UnityVideoParams videoParams;
+		public UnityMarshalLightData lightData;
+        public UnityARMatrix4x4 displayTransform;
+        public uint getPointCloudData;
+    };
+
+    public struct UnityARCamera
+    {
+        public UnityARMatrix4x4 worldTransform;
+        public UnityARMatrix4x4 projectionMatrix;
+        public ARTrackingState trackingState;
+        public ARTrackingStateReason trackingReason;
+		public UnityVideoParams videoParams;
+		public UnityARLightData lightData;
+        public UnityARMatrix4x4 displayTransform;
+        public Vector3[] pointCloudData;
+
+		public UnityARCamera(UnityARMatrix4x4 wt, UnityARMatrix4x4 pm, ARTrackingState ats, ARTrackingStateReason atsr, UnityVideoParams uvp, UnityARLightData lightDat, UnityARMatrix4x4 dt, Vector3[] pointCloud)
+		{
+			worldTransform = wt;
+			projectionMatrix = pm;
+			trackingState = ats;
+			trackingReason = atsr;
+			videoParams = uvp;
+			lightData = lightDat;
+            displayTransform = dt;
+			pointCloudData = pointCloud;
+		}
+    };
+
+
+    public struct UnityARAnchorData
+	{
+		public IntPtr ptrIdentifier;
+
+		/**
+ 		The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+		 */
+		public UnityARMatrix4x4 transform;
+
+		/**
+		 The alignment of the plane.
+		 */
+
+        public ARPlaneAnchorAlignment alignment;
+
+        /**
+        The center of the plane in the anchor’s coordinate space.
+        */
+
+        public Vector4 center;
+
+        /**
+        The extent of the plane in the anchor’s coordinate space.
+         */
+        public Vector4 extent;
+
+        public string identifierStr { get { return Marshal.PtrToStringAuto(this.ptrIdentifier); } }
+
+        public static UnityARAnchorData UnityARAnchorDataFromGameObject(GameObject go) {
+            // create an anchor data struct from a game object transform
+            Matrix4x4 matrix = Matrix4x4.TRS(go.transform.position, go.transform.rotation, go.transform.localScale);
+            UnityARAnchorData ad = new UnityARAnchorData();
+            ad.transform.column0 = matrix.GetColumn(0);
+            ad.transform.column1 = matrix.GetColumn(1);
+            ad.transform.column2 = matrix.GetColumn(2);
+            ad.transform.column3 = matrix.GetColumn(3);
+            return ad;
+        }
+	};
+
+    public struct UnityARUserAnchorData 
+	{
+
+		public IntPtr ptrIdentifier;
+
+		/**
+ 		The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+		 */
+		public UnityARMatrix4x4 transform;
+
+		public string identifierStr { get { return Marshal.PtrToStringAuto(this.ptrIdentifier); } }
+
+        public static UnityARUserAnchorData UnityARUserAnchorDataFromGameObject(GameObject go) {
+            // create an anchor data struct from a game object transform
+            Matrix4x4 matrix = Matrix4x4.TRS(go.transform.position, go.transform.rotation, go.transform.localScale);
+            UnityARUserAnchorData ad = new UnityARUserAnchorData();
+            ad.transform.column0 = matrix.GetColumn(0);
+            ad.transform.column1 = matrix.GetColumn(1);
+            ad.transform.column2 = matrix.GetColumn(2);
+            ad.transform.column3 = matrix.GetColumn(3);
+            return ad;
+        }
+	};
+
+
+    public struct UnityARHitTestResult
+    {
+        /**
+         The type of the hit-test result.
+         */
+        public ARHitTestResultType type;
+
+        /**
+        The distance from the camera to the intersection in meters.
+        */
+        public double distance;
+
+        /**
+        The transformation matrix that defines the intersection's rotation, translation and scale
+        relative to the anchor or nearest feature point.
+        */
+        public Matrix4x4 localTransform;
+
+        /**
+        The transformation matrix that defines the intersection's rotation, translation and scale
+        relative to the world.
+        */
+        public Matrix4x4 worldTransform;
+
+        /**
+        The anchor that the hit-test intersected.
+        */
+        public IntPtr anchor;
+
+        /**
+        True if the test represents a valid hit test. Data is undefined otherwise.
+        */
+        public bool isValid;
+
+    };
+
+	public enum UnityARAlignment
+	{
+	    UnityARAlignmentGravity,
+	    UnityARAlignmentGravityAndHeading,
+	    UnityARAlignmentCamera
+	}
+
+	public enum UnityARPlaneDetection
+	{
+	    None = 0,
+	    Horizontal = (1 << 0)
+	}
+   
+    public struct ARKitSessionConfiguration
+    {
+        public UnityARAlignment alignment; 
+        public bool getPointCloudData;
+        public bool enableLightEstimation;
+        public bool IsSupported { get { return IsARKitSessionConfigurationSupported(); } private set {} }
+
+        public ARKitSessionConfiguration(UnityARAlignment alignment = UnityARAlignment.UnityARAlignmentGravity,
+            bool getPointCloudData = false, 
+            bool enableLightEstimation = false)
+        {
+            this.getPointCloudData = getPointCloudData;
+            this.alignment = alignment;
+            this.enableLightEstimation = enableLightEstimation;
+        }
+        
+        [DllImport("__Internal")]
+        private static extern bool IsARKitSessionConfigurationSupported();
+    }
+
+
+
+	public struct ARKitWorldTrackingSessionConfiguration
+	{
+	    public UnityARAlignment alignment; 
+	    public UnityARPlaneDetection planeDetection;
+        public bool getPointCloudData;
+        public bool enableLightEstimation;
+        public bool IsSupported { get { return IsARKitWorldTrackingSessionConfigurationSupported(); } private set {} }
+
+	    public ARKitWorldTrackingSessionConfiguration(UnityARAlignment alignment = UnityARAlignment.UnityARAlignmentGravity,
+	            UnityARPlaneDetection planeDetection = UnityARPlaneDetection.Horizontal,
+            bool getPointCloudData = false, 
+            bool enableLightEstimation = false)
+	    {
+            this.getPointCloudData = getPointCloudData;
+	        this.alignment = alignment;
+	        this.planeDetection = planeDetection;
+            this.enableLightEstimation = enableLightEstimation;
+
+	    }
+
+
+        [DllImport("__Internal")]
+        private static extern bool IsARKitWorldTrackingSessionConfigurationSupported();
+	}
+
+	public struct ARKitFaceTrackingConfiguration
+	{
+		public UnityARAlignment alignment; 
+		public bool enableLightEstimation;
+		public bool IsSupported { get { return IsARKitFaceTrackingConfigurationSupported(); } private set {} }
+
+		public ARKitFaceTrackingConfiguration(UnityARAlignment alignment = UnityARAlignment.UnityARAlignmentGravity,
+			bool enableLightEstimation = false)
+		{
+			this.alignment = alignment;
+			this.enableLightEstimation = enableLightEstimation;
+		}
+
+		#if UNITY_EDITOR
+		private bool IsARKitFaceTrackingConfigurationSupported() {
+			return true;
+		}
+		#else
+		[DllImport("__Internal")]
+		private static extern bool IsARKitFaceTrackingConfigurationSupported();
+		#endif
+
+	}
+
+    public enum UnityARSessionRunOption {
+        /** The session will reset tracking. */
+        ARSessionRunOptionResetTracking           = (1 << 0),
+
+        /** The session will remove existing anchors. */
+        ARSessionRunOptionRemoveExistingAnchors   = (1 << 1)
+    }
+
+	public class UnityARSessionNativeInterface {
+
+//	    public delegate void ARFrameUpdate(UnityARMatrix4x4 cameraPos, UnityARMatrix4x4 projection);
+//        public static event ARFrameUpdate ARFrameUpdatedEvent;
+
+        // Plane Anchors
+        public delegate void ARFrameUpdate(UnityARCamera camera);
+        public static event ARFrameUpdate ARFrameUpdatedEvent;
+
+		public delegate void ARAnchorAdded(ARPlaneAnchor anchorData);
+        public static event ARAnchorAdded ARAnchorAddedEvent;
+
+	    public delegate void ARAnchorUpdated(ARPlaneAnchor anchorData);
+        public static event ARAnchorUpdated ARAnchorUpdatedEvent;
+
+	    public delegate void ARAnchorRemoved(ARPlaneAnchor anchorData);
+        public static event ARAnchorRemoved ARAnchorRemovedEvent;
+
+        // User Anchors
+		public delegate void ARUserAnchorAdded(ARUserAnchor anchorData);
+        public static event ARUserAnchorAdded ARUserAnchorAddedEvent;
+
+	    public delegate void ARUserAnchorUpdated(ARUserAnchor anchorData);
+        public static event ARUserAnchorUpdated ARUserAnchorUpdatedEvent;
+
+	    public delegate void ARUserAnchorRemoved(ARUserAnchor anchorData);
+        public static event ARUserAnchorRemoved ARUserAnchorRemovedEvent;
+
+		// Face Anchors
+		public delegate void ARFaceAnchorAdded(ARFaceAnchor anchorData);
+		public static event ARFaceAnchorAdded ARFaceAnchorAddedEvent;
+
+		public delegate void ARFaceAnchorUpdated(ARFaceAnchor anchorData);
+		public static event ARFaceAnchorUpdated ARFaceAnchorUpdatedEvent;
+
+		public delegate void ARFaceAnchorRemoved(ARFaceAnchor anchorData);
+		public static event ARFaceAnchorRemoved ARFaceAnchorRemovedEvent;
+
+		public delegate void ARSessionFailed(string error);
+        public static event ARSessionFailed ARSessionFailedEvent;
+
+        public delegate void ARSessionCallback();
+        public static event ARSessionCallback ARSessionInterruptedEvent;
+        public static event ARSessionCallback ARSessioninterruptionEndedEvent;
+        public delegate void ARSessionTrackingChanged(UnityARCamera camera);
+        public static event ARSessionTrackingChanged ARSessionTrackingChangedEvent;
+
+        delegate void internal_ARFrameUpdate(internal_UnityARCamera camera);
+		public delegate void internal_ARAnchorAdded(UnityARAnchorData anchorData);
+	    public delegate void internal_ARAnchorUpdated(UnityARAnchorData anchorData);
+	    public delegate void internal_ARAnchorRemoved(UnityARAnchorData anchorData);
+		public delegate void internal_ARUserAnchorAdded(UnityARUserAnchorData anchorData);
+	    public delegate void internal_ARUserAnchorUpdated(UnityARUserAnchorData anchorData);
+	    public delegate void internal_ARUserAnchorRemoved(UnityARUserAnchorData anchorData);
+		public delegate void internal_ARFaceAnchorAdded(UnityARFaceAnchorData anchorData);
+		public delegate void internal_ARFaceAnchorUpdated(UnityARFaceAnchorData anchorData);
+		public delegate void internal_ARFaceAnchorRemoved(UnityARFaceAnchorData anchorData);
+        delegate void internal_ARSessionTrackingChanged(internal_UnityARCamera camera);
+
+#if !UNITY_EDITOR
+	    private IntPtr m_NativeARSession;
+#endif
+
+	    private static UnityARCamera s_Camera;
+		
+	    [DllImport("__Internal")]
+        private static extern IntPtr unity_CreateNativeARSession();
+
+        [DllImport("__Internal")]
+        private static extern void session_SetSessionCallbacks(IntPtr nativeSession, internal_ARFrameUpdate frameCallback,
+                                            ARSessionFailed sessionFailed,
+                                            ARSessionCallback sessionInterrupted,
+                                            ARSessionCallback sessionInterruptionEnded,
+                                            internal_ARSessionTrackingChanged trackingChanged);
+
+        [DllImport("__Internal")]
+        private static extern void session_SetPlaneAnchorCallbacks(IntPtr nativeSession, internal_ARAnchorAdded anchorAddedCallback, 
+                                            internal_ARAnchorUpdated anchorUpdatedCallback, 
+                                            internal_ARAnchorRemoved anchorRemovedCallback);
+
+        [DllImport("__Internal")]
+        private static extern void session_SetUserAnchorCallbacks(IntPtr nativeSession, internal_ARUserAnchorAdded userAnchorAddedCallback, 
+                                            internal_ARUserAnchorUpdated userAnchorUpdatedCallback, 
+                                            internal_ARUserAnchorRemoved userAnchorRemovedCallback);
+
+		[DllImport("__Internal")]
+		private static extern void session_SetFaceAnchorCallbacks(IntPtr nativeSession, internal_ARFaceAnchorAdded faceAnchorAddedCallback, 
+			internal_ARFaceAnchorUpdated faceAnchorUpdatedCallback, 
+			internal_ARFaceAnchorRemoved faceAnchorRemovedCallback);
+
+		[DllImport("__Internal")]
+	    private static extern void StartWorldTrackingSession(IntPtr nativeSession, ARKitWorldTrackingSessionConfiguration configuration);
+
+        [DllImport("__Internal")]
+        private static extern void StartWorldTrackingSessionWithOptions(IntPtr nativeSession, ARKitWorldTrackingSessionConfiguration configuration, UnityARSessionRunOption runOptions);
+
+        [DllImport("__Internal")]
+        private static extern void StartSession(IntPtr nativeSession, ARKitSessionConfiguration configuration);
+
+        [DllImport("__Internal")]
+        private static extern void StartSessionWithOptions(IntPtr nativeSession, ARKitSessionConfiguration configuration, UnityARSessionRunOption runOptions);
+
+		[DllImport("__Internal")]
+		private static extern void StartFaceTrackingSession(IntPtr nativeSession, ARKitFaceTrackingConfiguration configuration);
+
+		[DllImport("__Internal")]
+		private static extern void StartFaceTrackingSessionWithOptions(IntPtr nativeSession, ARKitFaceTrackingConfiguration configuration, UnityARSessionRunOption runOptions);
+
+	    [DllImport("__Internal")]
+	    private static extern void PauseSession(IntPtr nativeSession);
+
+	    [DllImport("__Internal")]
+	    private static extern int HitTest(IntPtr nativeSession, ARPoint point, ARHitTestResultType types);
+
+	    [DllImport("__Internal")]
+	    private static extern UnityARHitTestResult GetLastHitTestResult(int index);
+
+		[DllImport("__Internal")]
+		private static extern ARTextureHandles GetVideoTextureHandles();
+
+		[DllImport("__Internal")]
+		private static extern float GetAmbientIntensity();
+
+		[DllImport("__Internal")]
+		private static extern int GetTrackingQuality();
+
+        [DllImport("__Internal")]
+        private static extern bool GetARPointCloud (ref IntPtr verts, ref uint vertLength);
+
+		[DllImport("__Internal")]
+		private static extern void SetCameraNearFar (float nearZ, float farZ);
+
+		[DllImport("__Internal")]
+		private static extern void CapturePixelData (int enable, IntPtr  pYPixelBytes, IntPtr pUVPixelBytes);
+
+		[DllImport("__Internal")]
+		private static extern UnityARUserAnchorData SessionAddUserAnchor (IntPtr nativeSession, UnityARUserAnchorData anchorData);
+
+		[DllImport("__Internal")]
+		private static extern void SessionRemoveUserAnchor (IntPtr nativeSession, [MarshalAs(UnmanagedType.LPStr)] string anchorIdentifier);
+
+		public UnityARSessionNativeInterface()
+		{
+#if !UNITY_EDITOR
+	        m_NativeARSession = unity_CreateNativeARSession();
+            session_SetSessionCallbacks(m_NativeARSession, _frame_update, _ar_session_failed, _ar_session_interrupted, _ar_session_interruption_ended, _ar_tracking_changed);
+            session_SetPlaneAnchorCallbacks(m_NativeARSession, _anchor_added, _anchor_updated, _anchor_removed);
+            session_SetUserAnchorCallbacks(m_NativeARSession, _user_anchor_added, _user_anchor_updated, _user_anchor_removed);
+			session_SetFaceAnchorCallbacks(m_NativeARSession, _face_anchor_added, _face_anchor_updated, _face_anchor_removed);
+#endif
+	    }
+		
+		static UnityARSessionNativeInterface s_UnityARSessionNativeInterface = null;
+
+		public static UnityARSessionNativeInterface GetARSessionNativeInterface()
+		{
+				if (s_UnityARSessionNativeInterface == null) {
+					s_UnityARSessionNativeInterface = new UnityARSessionNativeInterface ();
+				}	
+				return s_UnityARSessionNativeInterface;
+		}
+
+#if UNITY_EDITOR
+		public static void SetStaticCamera(UnityARCamera scamera)
+		{
+			s_Camera = scamera;
+		}
+
+		public static void RunFrameUpdateCallbacks()
+		{
+			if (ARFrameUpdatedEvent != null)
+			{
+				ARFrameUpdatedEvent(s_Camera);
+			}
+		}
+
+		public static void RunAddAnchorCallbacks(ARPlaneAnchor arPlaneAnchor)
+		{
+			if (ARAnchorAddedEvent != null)
+			{
+				ARAnchorAddedEvent(arPlaneAnchor);
+			}
+		}
+
+		public static void RunUpdateAnchorCallbacks(ARPlaneAnchor arPlaneAnchor)
+		{
+			if (ARAnchorUpdatedEvent != null)
+			{
+				ARAnchorUpdatedEvent(arPlaneAnchor); 
+			}
+		}
+
+		public static void RunRemoveAnchorCallbacks(ARPlaneAnchor arPlaneAnchor)
+		{
+			if (ARAnchorRemovedEvent != null)
+			{
+				ARAnchorRemovedEvent(arPlaneAnchor);
+			}
+		}
+
+
+#endif
+
+        public Matrix4x4 GetCameraPose()
+        {
+            Matrix4x4 matrix = new Matrix4x4();
+            matrix.SetColumn(0, s_Camera.worldTransform.column0);
+            matrix.SetColumn(1, s_Camera.worldTransform.column1);
+            matrix.SetColumn(2, s_Camera.worldTransform.column2);
+            matrix.SetColumn(3, s_Camera.worldTransform.column3);
+            return matrix; 
+        }
+
+        public Matrix4x4 GetCameraProjection()
+        {
+            Matrix4x4 matrix = new Matrix4x4();
+            matrix.SetColumn(0, s_Camera.projectionMatrix.column0);
+            matrix.SetColumn(1, s_Camera.projectionMatrix.column1);
+            matrix.SetColumn(2, s_Camera.projectionMatrix.column2);
+            matrix.SetColumn(3, s_Camera.projectionMatrix.column3);
+            return matrix;
+        }
+
+		public void SetCameraClipPlanes(float nearZ, float farZ)
+		{
+#if !UNITY_EDITOR
+			SetCameraNearFar (nearZ, farZ);
+#endif
+		}
+
+		public void SetCapturePixelData(bool enable, IntPtr pYByteArray, IntPtr pUVByteArray)
+		{
+#if !UNITY_EDITOR
+			int iEnable = enable ? 1 : 0;
+			CapturePixelData (iEnable,pYByteArray, pUVByteArray);
+#endif
+		}
+
+        [MonoPInvokeCallback(typeof(internal_ARFrameUpdate))]
+	    static void _frame_update(internal_UnityARCamera camera)
+	    {
+            UnityARCamera pubCamera = new UnityARCamera();
+            pubCamera.projectionMatrix = camera.projectionMatrix;
+            pubCamera.worldTransform = camera.worldTransform;
+            pubCamera.trackingState = camera.trackingState;
+            pubCamera.trackingReason = camera.trackingReason;
+			pubCamera.videoParams = camera.videoParams;
+			pubCamera.lightData = camera.lightData;
+            pubCamera.displayTransform = camera.displayTransform;
+            s_Camera = pubCamera;
+
+            if (camera.getPointCloudData == 1)
+            {
+                UpdatePointCloudData (ref s_Camera);
+            }      
+
+            if (ARFrameUpdatedEvent != null)
+            {
+                ARFrameUpdatedEvent(s_Camera);
+            }
+	    }
+
+        [MonoPInvokeCallback(typeof(internal_ARSessionTrackingChanged))]
+	    static void _ar_tracking_changed(internal_UnityARCamera camera)
+	    {
+            // we only update the current camera's tracking state since that's all 
+            // this cllback is for
+			s_Camera.trackingState = camera.trackingState;
+            s_Camera.trackingReason = camera.trackingReason;
+            if (ARSessionTrackingChangedEvent != null)
+            {
+                ARSessionTrackingChangedEvent(s_Camera);
+            }
+	    }
+
+        static void UpdatePointCloudData(ref UnityARCamera camera)
+        {
+            IntPtr ptrResultVerts = IntPtr.Zero;
+            uint resultVertLength = 0;
+            bool success = GetARPointCloud (ref ptrResultVerts, ref resultVertLength);
+            float[] resultVertices = null;
+            if (success) {
+                // Load the results into a managed array.
+                resultVertices = new float[resultVertLength];
+                Marshal.Copy (ptrResultVerts, resultVertices, 0, (int)resultVertLength); 
+
+                Vector3[] verts = new Vector3[(resultVertLength / 4)];
+
+                for (int count = 0; count < resultVertLength; count++)
+                {
+                    verts [count / 4].x = resultVertices[count++];
+                    verts [count / 4].y = resultVertices[count++];
+                    verts [count / 4].z = -resultVertices[count++];
+                }
+                camera.pointCloudData = verts;
+            }
+
+        }
+
+		static ARPlaneAnchor GetPlaneAnchorFromAnchorData(UnityARAnchorData anchor)
+		{
+			//get the identifier for this anchor from the pointer
+			ARPlaneAnchor arPlaneAnchor = new ARPlaneAnchor ();
+            arPlaneAnchor.identifier = Marshal.PtrToStringAuto(anchor.ptrIdentifier);
+
+			Matrix4x4 matrix = new Matrix4x4 ();
+	        matrix.SetColumn(0, anchor.transform.column0);
+	        matrix.SetColumn(1, anchor.transform.column1);
+	        matrix.SetColumn(2, anchor.transform.column2);
+	        matrix.SetColumn(3, anchor.transform.column3);
+
+	        arPlaneAnchor.transform =  matrix;
+			arPlaneAnchor.alignment = anchor.alignment;
+            arPlaneAnchor.center = new Vector3(anchor.center.x, anchor.center.y, anchor.center.z);
+            arPlaneAnchor.extent = new Vector3(anchor.extent.x, anchor.extent.y, anchor.extent.z);
+			return arPlaneAnchor;
+		}
+
+		static ARUserAnchor GetUserAnchorFromAnchorData(UnityARUserAnchorData anchor)
+		{
+			//get the identifier for this anchor from the pointer
+			ARUserAnchor arUserAnchor = new ARUserAnchor ();
+            arUserAnchor.identifier = Marshal.PtrToStringAuto(anchor.ptrIdentifier);
+
+			Matrix4x4 matrix = new Matrix4x4 ();
+	        matrix.SetColumn(0, anchor.transform.column0);
+	        matrix.SetColumn(1, anchor.transform.column1);
+	        matrix.SetColumn(2, anchor.transform.column2);
+	        matrix.SetColumn(3, anchor.transform.column3);
+
+	        arUserAnchor.transform =  matrix;
+			return arUserAnchor;
+		}
+
+        static ARHitTestResult GetHitTestResultFromResultData(UnityARHitTestResult resultData)
+        {
+            ARHitTestResult arHitTestResult = new ARHitTestResult ();
+            arHitTestResult.type = resultData.type;
+            arHitTestResult.distance = resultData.distance;
+            arHitTestResult.localTransform = resultData.localTransform;
+            arHitTestResult.worldTransform = resultData.worldTransform;
+            arHitTestResult.isValid = resultData.isValid;
+            if (resultData.anchor != IntPtr.Zero) {
+                arHitTestResult.anchorIdentifier = Marshal.PtrToStringAuto (resultData.anchor);
+            }
+            return arHitTestResult;
+        }
+
+#region Plane Anchors
+	    [MonoPInvokeCallback(typeof(internal_ARAnchorAdded))]
+        static void _anchor_added(UnityARAnchorData anchor)
+        {
+            if (ARAnchorAddedEvent != null)
+            {
+				ARPlaneAnchor arPlaneAnchor = GetPlaneAnchorFromAnchorData(anchor);
+				ARAnchorAddedEvent(arPlaneAnchor);
+            }
+        }
+
+	    [MonoPInvokeCallback(typeof(internal_ARAnchorUpdated))]
+	    static void _anchor_updated(UnityARAnchorData anchor)
+        {
+            if (ARAnchorUpdatedEvent != null)
+            {
+				ARPlaneAnchor arPlaneAnchor = GetPlaneAnchorFromAnchorData(anchor);
+				ARAnchorUpdatedEvent(arPlaneAnchor); }
+	    }
+
+	    [MonoPInvokeCallback(typeof(internal_ARAnchorRemoved))]
+	    static void _anchor_removed(UnityARAnchorData anchor)
+	    {
+            if (ARAnchorRemovedEvent != null)
+            {
+				ARPlaneAnchor arPlaneAnchor = GetPlaneAnchorFromAnchorData(anchor);
+                ARAnchorRemovedEvent(arPlaneAnchor);
+            }
+	    }
+#endregion
+
+#region User Anchors
+	    [MonoPInvokeCallback(typeof(internal_ARUserAnchorAdded))]
+        static void _user_anchor_added(UnityARUserAnchorData anchor)
+        {
+            if (ARUserAnchorAddedEvent != null)
+            {
+				ARUserAnchor arUserAnchor = GetUserAnchorFromAnchorData(anchor);
+				ARUserAnchorAddedEvent(arUserAnchor);
+            }
+        }
+
+	    [MonoPInvokeCallback(typeof(internal_ARUserAnchorUpdated))]
+	    static void _user_anchor_updated(UnityARUserAnchorData anchor)
+        {
+            if (ARUserAnchorUpdatedEvent != null)
+            {
+				ARUserAnchor arUserAnchor = GetUserAnchorFromAnchorData(anchor);
+				ARUserAnchorUpdatedEvent(arUserAnchor); }
+	    }
+
+	    [MonoPInvokeCallback(typeof(internal_ARUserAnchorRemoved))]
+	    static void _user_anchor_removed(UnityARUserAnchorData anchor)
+	    {
+            if (ARUserAnchorRemovedEvent != null)
+            {
+				ARUserAnchor arUserAnchor = GetUserAnchorFromAnchorData(anchor);
+                ARUserAnchorRemovedEvent(arUserAnchor);
+            }
+	    }
+#endregion
+
+#region Face Anchors
+		[MonoPInvokeCallback(typeof(internal_ARFaceAnchorAdded))]
+		static void _face_anchor_added(UnityARFaceAnchorData anchor)
+		{
+			if (ARFaceAnchorAddedEvent != null)
+			{
+				ARFaceAnchor arFaceAnchor = new ARFaceAnchor(anchor);
+				ARFaceAnchorAddedEvent(arFaceAnchor);
+			}
+		}
+
+		[MonoPInvokeCallback(typeof(internal_ARFaceAnchorUpdated))]
+		static void _face_anchor_updated(UnityARFaceAnchorData anchor)
+		{
+			if (ARFaceAnchorUpdatedEvent != null)
+			{
+				ARFaceAnchor arFaceAnchor = new ARFaceAnchor(anchor);
+				ARFaceAnchorUpdatedEvent(arFaceAnchor); }
+		}
+
+		[MonoPInvokeCallback(typeof(internal_ARFaceAnchorRemoved))]
+		static void _face_anchor_removed(UnityARFaceAnchorData anchor)
+		{
+			if (ARFaceAnchorRemovedEvent != null)
+			{
+				ARFaceAnchor arFaceAnchor = new ARFaceAnchor(anchor);
+				ARFaceAnchorRemovedEvent(arFaceAnchor);
+			}
+		}
+#endregion
+
+	    [MonoPInvokeCallback(typeof(ARSessionFailed))]
+		static void _ar_session_failed(string error)
+		{
+            if (ARSessionFailedEvent != null)
+            {
+                ARSessionFailedEvent(error);
+            }
+		}		
+
+	    [MonoPInvokeCallback(typeof(ARSessionCallback))]
+		static void _ar_session_interrupted()
+		{
+	        Debug.Log("ar_session_interrupted");
+            if (ARSessionInterruptedEvent != null)
+            {
+                ARSessionInterruptedEvent();
+            }
+
+        }
+
+	    [MonoPInvokeCallback(typeof(ARSessionCallback))]
+		static void _ar_session_interruption_ended()
+		{
+	        Debug.Log("ar_session_interruption_ended");
+            if (ARSessioninterruptionEndedEvent != null)
+            {
+                ARSessioninterruptionEndedEvent();
+            }
+		}
+
+        public void RunWithConfigAndOptions(ARKitWorldTrackingSessionConfiguration config, UnityARSessionRunOption runOptions)
+        {
+#if !UNITY_EDITOR
+            StartWorldTrackingSessionWithOptions (m_NativeARSession, config, runOptions);
+#endif
+        }
+
+	    public void RunWithConfig(ARKitWorldTrackingSessionConfiguration config)
+	    {
+#if !UNITY_EDITOR
+	        StartWorldTrackingSession(m_NativeARSession, config);
+#endif
+	    }
+
+	    public void Run()
+	    {
+	        RunWithConfig(new ARKitWorldTrackingSessionConfiguration(UnityARAlignment.UnityARAlignmentGravity, UnityARPlaneDetection.Horizontal));
+	    }
+
+        public void RunWithConfigAndOptions(ARKitSessionConfiguration config, UnityARSessionRunOption runOptions)
+        {
+            #if !UNITY_EDITOR
+            StartSessionWithOptions (m_NativeARSession, config, runOptions);
+            #endif
+        }
+
+        public void RunWithConfig(ARKitSessionConfiguration config)
+        {
+            #if !UNITY_EDITOR
+            StartSession(m_NativeARSession, config);
+            #endif
+        }
+            
+		public void RunWithConfigAndOptions(ARKitFaceTrackingConfiguration config, UnityARSessionRunOption runOptions)
+		{
+			#if !UNITY_EDITOR
+			StartFaceTrackingSessionWithOptions (m_NativeARSession, config, runOptions);
+			#endif
+		}
+
+		public void RunWithConfig(ARKitFaceTrackingConfiguration config)
+		{
+			#if !UNITY_EDITOR
+			StartFaceTrackingSession(m_NativeARSession, config);
+			#endif
+		}
+
+
+	    public void Pause()
+	    {
+#if !UNITY_EDITOR
+	        PauseSession(m_NativeARSession);
+#endif
+	    }
+
+	    public List<ARHitTestResult> HitTest(ARPoint point, ARHitTestResultType types)
+	    {
+#if !UNITY_EDITOR
+	        int numResults = HitTest(m_NativeARSession, point, types);
+	        List<ARHitTestResult> results = new List<ARHitTestResult>();
+		
+	        for (int i = 0; i < numResults; ++i)
+	        {
+	            var result = GetLastHitTestResult(i);
+                results.Add(GetHitTestResultFromResultData(result));
+	        }
+
+	        return results;
+#else
+            return new List<ARHitTestResult>();
+#endif
+	    }
+		
+		public ARTextureHandles GetARVideoTextureHandles()
+		{
+			return GetVideoTextureHandles ();
+		}
+
+		[Obsolete("Hook ARFrameUpdatedEvent instead and get UnityARCamera.ambientIntensity")]
+		public float GetARAmbientIntensity()
+		{
+			return GetAmbientIntensity ();
+		}
+
+		[Obsolete("Hook ARFrameUpdatedEvent instead and get UnityARCamera.trackingState")]
+		public int GetARTrackingQuality()
+		{
+			return GetTrackingQuality();
+		}
+        
+        public UnityARUserAnchorData AddUserAnchor(UnityARUserAnchorData anchorData)
+        {
+#if !UNITY_EDITOR
+            return SessionAddUserAnchor(m_NativeARSession, anchorData);
+#else 
+            return new UnityARUserAnchorData();
+#endif
+        }
+
+        public UnityARUserAnchorData AddUserAnchorFromGameObject(GameObject go) {
+#if !UNITY_EDITOR
+            UnityARUserAnchorData data = AddUserAnchor(UnityARUserAnchorData.UnityARUserAnchorDataFromGameObject(go)); 
+            return data;  
+#else 
+            return new UnityARUserAnchorData();
+#endif
+        }
+
+        public void RemoveUserAnchor(string anchorIdentifier)
+        {
+#if !UNITY_EDITOR
+
+            SessionRemoveUserAnchor(m_NativeARSession, anchorIdentifier);
+#endif
+        }
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6a1f99d9bc7f45684d36690e8ad92eb1610c81dc
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 43900ad1460304627a359bed956a451d
+timeCreated: 1492795428
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8fcc41f194ce77c9b706be193fd71439b070ea34
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f9e3cccf742844401a584fdd294d0607
+folderAsset: yes
+timeCreated: 1492634328
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader
new file mode 100644
index 0000000000000000000000000000000000000000..dafa0d626fbca87dcd2b92929f6b2dfe203949c5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader
@@ -0,0 +1,74 @@
+Shader "Unlit/ARCameraShader"
+{
+	Properties
+	{
+    	_textureY ("TextureY", 2D) = "white" {}
+        _textureCbCr ("TextureCbCr", 2D) = "black" {}
+	}
+	SubShader
+	{
+		Cull Off
+		Tags { "RenderType"="Opaque" }
+		LOD 100
+
+		Pass
+		{
+            ZWrite Off
+			CGPROGRAM
+			#pragma vertex vert
+			#pragma fragment frag
+			
+			#include "UnityCG.cginc"
+
+			float4x4 _DisplayTransform;
+
+			struct Vertex
+			{
+				float4 position : POSITION;
+				float2 texcoord : TEXCOORD0;
+			};
+
+			struct TexCoordInOut
+			{
+				float4 position : SV_POSITION;
+				float2 texcoord : TEXCOORD0;
+			};
+
+			TexCoordInOut vert (Vertex vertex)
+			{
+				TexCoordInOut o;
+				o.position = UnityObjectToClipPos(vertex.position); 
+
+				float texX = vertex.texcoord.x;
+				float texY = vertex.texcoord.y;
+				
+				o.texcoord.x = (_DisplayTransform[0].x * texX + _DisplayTransform[1].x * (texY) + _DisplayTransform[2].x);
+ 			 	o.texcoord.y = (_DisplayTransform[0].y * texX + _DisplayTransform[1].y * (texY) + (_DisplayTransform[2].y));
+	            
+				return o;
+			}
+			
+            // samplers
+            sampler2D _textureY;
+            sampler2D _textureCbCr;
+
+			fixed4 frag (TexCoordInOut i) : SV_Target
+			{
+				// sample the texture
+                float2 texcoord = i.texcoord;
+                float y = tex2D(_textureY, texcoord).r;
+                float4 ycbcr = float4(y, tex2D(_textureCbCr, texcoord).rg, 1.0);
+
+				const float4x4 ycbcrToRGBTransform = float4x4(
+						float4(1.0, +0.0000, +1.4020, -0.7010),
+						float4(1.0, -0.3441, -0.7141, +0.5291),
+						float4(1.0, +1.7720, +0.0000, -0.8860),
+						float4(0.0, +0.0000, +0.0000, +1.0000)
+					);
+
+                return mul(ycbcrToRGBTransform, ycbcr);
+			}
+			ENDCG
+		}
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..d46c0789ac210cf0c7827f5b3ab5364b4ec92501
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ef7b8eec959eb4f1e9fa97bc86273848
+timeCreated: 1492634375
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader
new file mode 100644
index 0000000000000000000000000000000000000000..c5a91f2da1c1a94f8da245a5d5fe350c3fe576e9
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader
@@ -0,0 +1,75 @@
+Shader "Unlit/ARCameraShader(Linear)"
+{
+	Properties
+	{
+    	_textureY ("TextureY", 2D) = "white" {}
+        _textureCbCr ("TextureCbCr", 2D) = "black" {}
+	}
+	SubShader
+	{
+		Cull Off
+		Tags { "RenderType"="Opaque" }
+		LOD 100
+
+		Pass
+		{
+            ZWrite Off
+			CGPROGRAM
+			#pragma vertex vert
+			#pragma fragment frag
+			
+			#include "UnityCG.cginc"
+
+			float4x4 _DisplayTransform;
+
+			struct Vertex
+			{
+				float4 position : POSITION;
+				float2 texcoord : TEXCOORD0;
+			};
+
+			struct TexCoordInOut
+			{
+				float4 position : SV_POSITION;
+				float2 texcoord : TEXCOORD0;
+			};
+
+			TexCoordInOut vert (Vertex vertex)
+			{
+				TexCoordInOut o;
+				o.position = UnityObjectToClipPos(vertex.position); 
+
+				float texX = vertex.texcoord.x;
+				float texY = vertex.texcoord.y;
+				
+				o.texcoord.x = (_DisplayTransform[0].x * texX + _DisplayTransform[1].x * (texY) + _DisplayTransform[2].x);
+ 			 	o.texcoord.y = (_DisplayTransform[0].y * texX + _DisplayTransform[1].y * (texY) + (_DisplayTransform[2].y));
+	            
+				return o;
+			}
+			
+            // samplers
+            sampler2D _textureY;
+            sampler2D _textureCbCr;
+
+			fixed4 frag (TexCoordInOut i) : SV_Target
+			{
+				// sample the texture
+                float2 texcoord = i.texcoord;
+                float y = tex2D(_textureY, texcoord).r;
+                float4 ycbcr = float4(y, tex2D(_textureCbCr, texcoord).rg, 1.0);
+
+				const float4x4 ycbcrToRGBTransform = float4x4(
+						float4(1.0, +0.0000, +1.4020, -0.7010),
+						float4(1.0, -0.3441, -0.7141, +0.5291),
+						float4(1.0, +1.7720, +0.0000, -0.8860),
+						float4(0.0, +0.0000, +0.0000, +1.0000)
+					);
+
+				//gamma->linear conversion
+                return pow(mul(ycbcrToRGBTransform, ycbcr), 2.2);
+			}
+			ENDCG
+		}
+	}
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader.meta b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader.meta
new file mode 100644
index 0000000000000000000000000000000000000000..10066ad85fff99de749f6c793a67258c94640292
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 57c2c07a0719d4fafab7a4f8a84d1767
+timeCreated: 1492634375
+licenseType: Pro
+ShaderImporter:
+  defaultTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Resources.meta b/T3-Unity/Assets/UnityARKitPlugin/Resources.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e086af857cb0665aae1c42a08cb24bff9341484d
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Resources.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: f6107a01f65b74c0093cf65fc9e9cfcc
+folderAsset: yes
+timeCreated: 1511229652
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin.meta b/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin.meta
new file mode 100644
index 0000000000000000000000000000000000000000..81e3733542e33e374f3c52d3ec929df622984232
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 3872f00b440b04ca98de82d0fca32d68
+folderAsset: yes
+timeCreated: 1511229680
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset b/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset
new file mode 100644
index 0000000000000000000000000000000000000000..d01a9b66eb6da756ff0651f9ab400eb1c1380e9c
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: efa163296ae7840cb80b9e3beb5f0857, type: 3}
+  m_Name: ARKitSettings
+  m_EditorClassIdentifier: 
+  m_ARKitUsesFacetracking: 0
+  AppRequiresARKit: 0
diff --git a/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset.meta b/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eaab3a6d1391720d965b77097600b9c037eb176b
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: feb5449e416a346aaa320dd0a0188ade
+timeCreated: 1511224908
+licenseType: Pro
+NativeFormatImporter:
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/T3-Unity/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs b/T3-Unity/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs
new file mode 100644
index 0000000000000000000000000000000000000000..22975f3afeff9121488e76c8f2a9cad44d9824e5
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+/// <summary>
+/// Holds settings that are used to configure the Unity ARKit Plugin.
+/// </summary>
+[CreateAssetMenu(fileName = "ARKitSettings", menuName = "UnityARKitPlugin/Settings", order = 1)]
+public class UnityARKitPluginSettings : ScriptableObject {
+
+	/// <summary>
+	/// Toggles whether Facetracking for iPhone X (and later) is used. If enabled, provide a Privacy Policy for submission to AppStore.
+	/// </summary>
+	[Tooltip("Toggles whether Facetracking for iPhone X (and later) is used. If enabled, provide a Privacy Policy for submission to AppStore.")]
+	public bool m_ARKitUsesFacetracking = false;
+
+	/// <summary>
+	/// Toggles whether ARKit is required for this app: will make app only downloadable by devices with ARKit support if enabled.
+	/// </summary>
+	[Tooltip("Toggles whether ARKit is required for this app: will make app only downloadable by devices with ARKit support if enabled.")]
+	public bool AppRequiresARKit = false;
+
+}
diff --git a/T3-Unity/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs.meta b/T3-Unity/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0d2280ab7ab1709b6163292900cf3692204bd5db
--- /dev/null
+++ b/T3-Unity/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: efa163296ae7840cb80b9e3beb5f0857
+timeCreated: 1511215177
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: